0

我有一个 for 循环,当

n=20 

for (i = 1: i + 1: n - 1)
    disp(['Iteration count =' num2str(i)])
    x = p + (i * h);
    fAdd = f(x);
    fNew = fOld + fAdd;
    disp(['fNew = ' num2str(fNew)])
    fOld = fNew;
end

但当

n = [20 40];

循环仅在 20 次迭代后停止,并且在 n=40 时还缺少 20 个 fNew 值。或者什么时候

n = [40 20]

循环在 40 次迭代时停止,但我不想要 n=20 时的额外 20 个 fNew 值。任何帮助,将不胜感激!

4

1 回答 1

0

听起来您希望for循环达到 40,但一小部分代码只能运行到 i=20?你可以有一个if语句,让代码的某些部分在i <= 20. 像下面这样的东西?

for i = 1:n
    disp(['Iteration count =' num2str(i)])
    if (i <= 20)
        x = p + (i * h);
        fAdd = f(x);
        fNew = fOld + fAdd;
        disp(['fNew = ' num2str(fNew)])
        fOld = fNew;
    end
end
于 2013-08-16T02:05:47.887 回答