MATLAB继续功能跳过错误的交互

时间:2015-12-04 18:00:03

标签: matlab for-loop continue

我有一个“三重嵌套”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

感谢帮助。

0 个答案:

没有答案