Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2012-06-09
年龄: 35
帖子: 1
声望力: 0 ![]() |
![]()
我现在要随机在两个园内生成5个点,然后对他们连线,
求出任意两点的距离, 并把最后的结果存放在5*5的矩阵中, 我现在完成的程序是: n=5; t=rand(1,n).*2*pi; x=10*cos(t);y=10*sin(t); plot(x,y,'.'); for i=1 ![]() for j=(i+1):n line([x(i),x(j)],[y(i),y(j)]) end end l=50+10*cos(t);m=50+10*sin(t); for i=1 ![]() for j=(i+1):n line([l(i),l(j)],[m(i),m(j)]) end end for i=1 ![]() for j=(i+1):n line([l(i),x(i)],[m(i),y(i)]) line([l(j),x(j)],[m(j),y(j)]) line([l(i),x(j)],[m(i),y(j)]) end end %从所有的数据中任意选取两个点 ii=nchoosek(1:length(x),2); X=x(ii); Y=y(ii); %计算任意两点之间的距离。 cc=sqrt(((Y(:,2)-Y(:,1)).^2) + (X(:,2)-X(:,1)).^2); disp(cc); 但是我只是算出来一部分距离,求达人帮忙,劝所有点之间的距离,并把它放在矩阵中,还应用PRIM算法或者kruskal算法!谢谢了! |
![]() |
![]() |