for i=1:size(slididxs)
if slididxs(i)==0
continue
end
for j=i+1:size(slididxs)
disp('67890')
if slididxs(j)==0
continue
end
a=slididxs(i);
b=slididxs(j);
cosang=dot(M(a,:),M(b,:))/norm(M(a,:))/norm(M(b,:)); %夹角余弦
diff=abs(abs(cosang)-1);
msg=[a,' ',b,' ',diff,' '];
disp(msg)
if diff<1e-6
slididxs(j)=0;
end
end
end
在以上代码中,我设计了一个双层循环,外层从1到size(slididxs) (这是一个变量)循环,内层从i+1到size(slididxs) 循环。为了判断内层循环是否开始,我在内层循环一开始就加了一句disp('67890'),就是输出“67890”。可是每次运行的时候,连这句话都没有输出,这表明内层循环根本就没有开始。我试着在i+1外面加了括号,也不行;但是把i+1改成i,循环就可以开始了。请问为什么i+1的时候循环就无法开始呢?