试图在Matlab Central问这个,并没有得到太多回复。 这是代码:
for
... creates "cent"
end
e = 5 ;
per = zeros(e,e)
for u = 1:e
rsum = 0;
a = 0;
for p=1:e
u
p
Xdiff = 0;
Ydiff = 0;
Zdiff = 0;
Xdiff = (cent(u,1)-cent(:,1)).^2
Ydiff = (cent(u,2)-cent(:,2)).^2
Zdiff = (cent(u,3)-cent(:,3)).^2
a = (Xdiff + Ydiff + Zdiff).^0.5
rsum = cent(u,6) + cent(:,6) ;
if a == rsum(p)
per(p,u) = p ;
else
per(p,u) = 0 ;
end
end
end
脚本运行得很好,我没有收到任何错误消息。但是,我没有显示u和p,如果我在第一个for循环之前创建它,则per返回为只有零的矩阵。如果我在第一个和第二个之间创建per,则根本不创建它。因此我认为代码在第一个循环后停止。为什么呢?