matlab - 在循环外的条件下每 n 次迭代显示变量值

标签 matlab if-statement for-loop

当我必须在 for 循环的每 n 次迭代中显示变量值时,我总是按照这些行做一些事情:

for ii=1:1000
  if mod(ii,100)==0 
     display(num2str(ii))
  end
end

我想知道是否有办法将 if 条件移到循环之外以加快代码速度。或者如果我可以做一些不同的事情。

最佳答案

您可以使用嵌套循环:

N = 1000;
n = 100;
for ii = n:n:N
    for k = ii-n+1:ii-1
        thingsToDo(k);
    end
    disp(ii)
    thingsToDo(ii);
end

thingsToDo() 中获取相关计数器(如果需要)。这有点困惑,但可以节省很多 if 测试。

关于matlab - 在循环外的条件下每 n 次迭代显示变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38220690/

相关文章:

excel - 级联 if 语句不起作用

java - 在 'for' 循环中递增 1 时格式化背后的技术原因?

matlab - 如何在matlab中使用fminunc时获取成本历史记录

matlab - 一个函数如何在 Julia 中有多个返回值(相对于 MATLAB)?

arrays - matlab中如何连接两个不同维度的图像

matlab: 'copy figure' 的命令行等效项是什么?

javascript - 我的 Raphael 代码中发现错误

javascript - 三元运算符是否在所有情况下都需要 else block ?

python - 从函数返回所有路径值

c++ - 是否可以避免 for 循环来计算矩阵条目?