matlab产生N个随机点。。每两点之间的距离必须大于一个固定值M。。。该怎么写程序......

clc;clear;x=[];x1=unifrnd(0,5000);y1=unifrnd(0,5000);x(1,:)=[x1,y1];OF=1;CF=1;while(O... clc;
clear;
x=[];
x1=unifrnd(0,5000);
y1=unifrnd(0,5000);
x(1,:)=[x1,y1];
OF=1;
CF=1;
while(OF<=10)
x11=unifrnd(0,5000);
y11=unifrnd(0,5000);
for i=1:size(x,1)
distance=sqrt((x11-x(i,1))^2+(y11-x(i,2)^2));
if distance<100
CF=2;
end
end
if CF==1;
x(size(x,1)+1,1)=x11;
x(size(x,1),2)=y11;
OF=OF+1;
end
CF=1;
end
展开
导超
2012-02-21 · TA获得超过5714个赞
知道大有可为答主
回答量:1730
采纳率:0%
帮助的人:1741万
展开全部
思路:先随机产生一个随即点x1,再产生一个随即点x2,求abs(x1-x2)是否大于M,若是,记a1=x1,a2=x2,继续产生随即点,若不是,扔掉,产生随即点x3,求abs(x3
-ai),i=1,2.继续判断,若是,则a3=x3,继续产生下一点x4,继续判断,知道an=xn。方可停止。.
随机点的产生可以用random函数。。
追问
怎么有字数限制了。。。
麻烦你帮我看下我写的程序哪里有问题
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式