[已解决] 如何用matlab将一组数据绘制成动态曲线,下面代码是绘制动态圆函数曲线,如何用数据代替?附件是想要的效果

[复制链接]
sunmingkai 发表于 2022-5-14 22:40:22
本帖最后由 sunmingkai 于 2022-5-14 23:18 编辑

%% 1. 动态绘制圆
T = linspace(0,2*pi,100)';
X = cos(T);
Y = sin(T);
figure
F = MovieXY(X,Y);                 % 绘制动态曲线
Fun_F2gif(F,'Test1.gif',0.01);    % 生成gif图片

f915296eb34448d1987f78a8fd7217c5.zip

343.77 KB, 下载次数: 1

最佳答案


谢中华 发表于 2022-5-15 10:16:19
做一个示例程序:
  1. x = linspace(0,4*pi,100);
  2. y = sin(x);
  3. h = plot(x(1),y(1));
  4. axis([0,4*pi,-1,1])
  5. filename = '动画示例.gif';
  6. f = getframe(gcf);
  7. IM = f.cdata;
  8. [IM,map] = rgb2ind(IM,256);
  9. imwrite(IM,map,filename,'gif', 'Loopcount',inf,'DelayTime',0.2);

  10. for k = 2:length(x)
  11.     set(h,'XData',x(1:k),'YData',y(1:k));
  12.     drawnow
  13.     f = getframe(gcf);
  14.     IM = f.cdata;
  15.     [IM,map] = rgb2ind(IM,256);
  16.     imwrite(IM,map,filename,'gif','WriteMode','append','DelayTime',0.2);   
  17.     pause(0.2);
  18. end
复制代码
回复此楼

1 条回复


谢中华 发表于 2022-5-15 10:16:19
做一个示例程序:
  1. x = linspace(0,4*pi,100);
  2. y = sin(x);
  3. h = plot(x(1),y(1));
  4. axis([0,4*pi,-1,1])
  5. filename = '动画示例.gif';
  6. f = getframe(gcf);
  7. IM = f.cdata;
  8. [IM,map] = rgb2ind(IM,256);
  9. imwrite(IM,map,filename,'gif', 'Loopcount',inf,'DelayTime',0.2);

  10. for k = 2:length(x)
  11.     set(h,'XData',x(1:k),'YData',y(1:k));
  12.     drawnow
  13.     f = getframe(gcf);
  14.     IM = f.cdata;
  15.     [IM,map] = rgb2ind(IM,256);
  16.     imwrite(IM,map,filename,'gif','WriteMode','append','DelayTime',0.2);   
  17.     pause(0.2);
  18. end
复制代码
回复此楼
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
相关文章
热门教程
站长推荐
快速回复 返回顶部 返回列表