【问题标题】:FOR loop won't complete when endval is a vector当 endval 是向量时,FOR 循环不会完成
【发布时间】:2013-08-16 01:44:33
【问题描述】:

我有一个 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 值 有没有,我的意思是任何,解决这个问题?任何帮助将不胜感激!

【问题讨论】:

    标签: matlab for-loop vector


    【解决方案1】:

    听起来您希望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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-20
      • 1970-01-01
      • 1970-01-01
      • 2016-02-20
      • 1970-01-01
      • 1970-01-01
      • 2018-11-24
      • 1970-01-01
      相关资源
      最近更新 更多