gpt4 book ai didi

matlab - 如何在matlab中制作动画情节

转载 作者:太空宇宙 更新时间:2023-11-03 19:08:47 25 4
gpt4 key购买 nike

我想知道有没有人知道怎么做动画情节x =(1000 点的数据集)y =(1000 点的数据集)绘图(x,y)

大问题是这些是我试图绘制的数据集,或者 x,y 坐标,而不是我知道如何通过动画绘制的函数。

我尝试在 for 循环中制作帧,但它给了我点,但没有将它们连接成折线图,所以我无法真正看到被追踪的路径。

我使用的代码是

for i = 1:length(DATASET1)
pause(0.1)
plot(DATASET1(i),DATASET2(i))
draw on
end

最佳答案

如果您想要绘图逐点“增长”:最简单的方法是创建一个空绘图,然后更新其 XDataYData 属性在每次迭代中:

h = plot(NaN,NaN); %// initiallize plot. Get a handle to graphic object
axis([min(DATASET1) max(DATASET1) min(DATASET2) max(DATASET2)]); %// freeze axes
%// to their final size, to prevent Matlab from rescaling them dynamically
for ii = 1:length(DATASET1)
pause(0.01)
set(h, 'XData', DATASET1(1:ii), 'YData', DATASET2(1:ii));
drawnow %// you can probably remove this line, as pause already calls drawnow
end

这里有一个例子1 获得DATASET1 = 1:100; DATASET2 = sin((1:100)/6);

enter image description here


1 如果有人感兴趣,该图是一个动画 gif,可以通过在循环中添加以下代码(取自 here )来创建,在 之后drawnow 行:

  frame = getframe(1);
im = frame2im(frame);
[imind,cm] = rgb2ind(im,256);
if ii == 1;
imwrite(imind,cm,filename,'gif','Loopcount',inf);
else
imwrite(imind,cm,filename,'gif','WriteMode','append');
end

关于matlab - 如何在matlab中制作动画情节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23688688/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com