在for循环中绘制,但只绘制每x秒/ x次迭代

时间:2016-05-23 14:04:13

标签: matlab for-loop plot

我有一个for循环并在其中计算一些图形。 迭代次数非常高(> 100000),因此我不想绘制每个“帧”,而是每个例如拍摄一个“快照”。 10ms或10000次迭代作为绘图(更新相同图)。它不一定准确。

这种问题有什么功能吗?

1 个答案:

答案 0 :(得分:5)

通常使用modulo operation作为循环内的条件来实现。保持在每次循环迭代时递增1的计数器变量,使用:

if mod(counter, period) == 0
    % update your plot
end

仅在每次period次迭代时运行更新代码。因此,如果您想要每1000次迭代更新您的绘图,那么

period = 1000;
for counter = 1:100000
    % your calcs
    if mod(counter, period) == 0
        % update your plot
    end
end