本视频展示如何用matlab绘制散圆状态图,可用于相关科研数据绘图!
2变量rand
距离,角度
距离不大于半径
角度0-360(0-2pi)也行
R = 10;% 半径
nn = 100;% 点数
X_Y = rand(nn,2)*2*R - R; % (-R,-R)到(R,R)矩形范围内的随机点
for ii = 1:nn
if X_Y(ii,1)*X_Y(ii,1)+X_Y(ii,2)*X_Y(ii,2)>R*R
X_Y(ii,1) = 2*R;X_Y(ii,2)=2*R;% 圆外的奇异点设置为一个大于R的数
end
end
X_Y(find(X_Y>R))=[];% 除去奇异点
X_Y=reshape(X_Y,round(length(X_Y)/2),2); % 重新变形为2列
如果点数不够,可以多产生一些,然后去掉多余的即可,如下:
...
nn = 200; %产生的点数
n0 = 100; %需要的点数
...
X_Y(n0+1:end,:) = [];