我有一个“三重嵌套”for循环。我有一个继续在我的最后一个for循环当它等于第一个for循环(参见代码)我试图在一个单独的函数中调试问题,看看我是否遗漏了一些东西,但for循环在原则上工作正常通过它自己。问题是,当运行时,continue函数跳出当前for循环并进入第二个for循环。我从来没有见过一个继续功能这样做,我已经尝试了一切我能想到的做法。
以下是代码:
for i = 1:n
acc = 0;
for c = 0:2
disp(i); **<---for loop continues to here instead of in the "j" for loop and going to j = 2**
disp(c);
for j = 1:n
disp(j);
if i == j
continue;
else
if c == 0
acc = acc + (m(j)/r(i,j))*(r0(3*j)-r0(3*i));
else
acc = acc + (m(j)/r(i,j))*(r0((3*(j-1))+c)-r0((3*(i-1))+c));
end
end
%multiplying by gravitational constant
acc = G*acc;
%defining velocity in terms of acceleration
if c == 0
dy(3*n+(3*i)) = acc;
else
dy(3*n+(3*(i-1)+c)) = acc;
end
disp(dy)
end
end
end
这是输出:
n_body
@setup
1
0
1
1
1
1
感谢帮助。