如何在底循环中创建图形?

时间:2018-11-05 15:58:16

标签: matlab for-loop matlab-figure

我必须为长度为31999的行向量<form action="" method="POST">的每80个测量值创建一个图形。我试图编写此代码,但我只收到一个具有所有测量值的图形(31999):

Bn

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

给定向量Bn,您可以使用ii提取从索引Bn(ii:ii+79)开始的80个值。因此,在循环中,您只需要绘制这些值即可。

但是,这将创建400个无法管理的图形窗口。我建议您将图解保存到文件中:

figure
k = numel(Bn);
for ii = 1:80:k
    plot(Bn(ii:ii+79));
    print('-dpng','-r0',sprintf('plot%.3d',ii))
end

plot命令每次都会覆盖前一个图。

我建议您浏览documentation for print来了解那里的选项(不同的文件格式-d和分辨率-r)。

答案 1 :(得分:0)

如果要为每个元素创建一个图形,只需在循环中插入figure命令

k= length(Bn);
for i= 1:80:(k-1)
    figure % this is what you need
    Bn1(i) = L(i);
    plot(Bn1);
end

我不确定L是什么,所以我无法确定这是否可以满足您的期望,但是会为循环的每次迭代创建一个新的图形。