数学建模社区-数学中国

标题: 怎么将 MATLAB动画转化为别的格式播放 [打印本页]

作者: 陌上,烟雨遥    时间: 2013-8-7 16:51
标题: 怎么将 MATLAB动画转化为别的格式播放
机械振动MATLAB程序
%理想中的弹性振子 简谐运动 动画演示
%Clear

rectangle('position',[12,8.5,2,0.3],'FaceColor',[0.5,0.3,0.4]);

axis([0,15,-1,10]);

%画顶板

hold on

plot([13,13],[7,8.5],'r','linewidth',2);

%画直线

y=2:.2:7;

M=length(y);

x=12+mod(1:M,2)*2;

x(1)=13;

x(end-3:end)=13;

D=plot(x,y);         

%弹簧

C=0:.1:2*pi;r=0.35;

t1=r*sin(C);

F1=fill(13+r*cos(C),2+t1,'r');

% 球

set(gca,'ytick',[0:2:9]);

set(gca,'yticklabels',num2str([-1:3]'));

plot([0,15],[3.3,3.3],'black');

H1=plot([0,13],[3.3,3.3],'y');

% 句柄[黄线]

Q=plot(0,3.8,'color','r');

% 运动曲线;

td=[];yd=[];

T=0;

text(2,9,'理想中的弹簧振子简谐振动','fontsize',16);

set(gcf,'doublebuffer','on');

while T<12;

pause(0.2);

Dy=(3/2-1/2*sin(pi*T))*1/2;

Y=-(y-2)*Dy+7;

Yf=Y(end)+t1;

td=[td,T];yd=[yd,Y(end)];

set(D,'ydata',Y);

set(F1,'ydata',Yf,'facecolor',rand(1,3));

set(H1,'xdata',[T,13],'ydata',[Y(end),Y(end)]);

set(Q,'xdata',td,'ydata',yd) ;

T=T+0.1;

end
怎么将此MATLAB动画转化别的格式播放,求指教

新建 Microsoft Word 文档.doc

18 KB, 下载次数: 0, 下载积分: 体力 -2 点

怎么将此附件转化为别的格式播放


作者: madio    时间: 2013-8-7 17:25
我给你改了一下,可以录成avi的形式,保存在m文件的目录了,movie2avi函数还有一些设置你可以查阅帮助。
  1. %机械振动MATLAB程序
  2. %理想中的弹性振子 简谐运动 动画演示
  3. %Clear
  4. nFrames = 121;
  5. mov(1:nFrames) = struct('cdata', [],...
  6.                         'colormap', []);
  7. rectangle('position',[12,8.5,2,0.3],'FaceColor',[0.5,0.3,0.4]);

  8. axis([0,15,-1,10]);

  9. %画顶板

  10. hold on

  11. plot([13,13],[7,8.5],'r','linewidth',2);

  12. %画直线

  13. y=2:.2:7;

  14. M=length(y);

  15. x=12+mod(1:M,2)*2;

  16. x(1)=13;

  17. x(end-3:end)=13;

  18. D=plot(x,y);         

  19. %弹簧

  20. C=0:.1:2*pi;r=0.35;

  21. t1=r*sin(C);

  22. F1=fill(13+r*cos(C),2+t1,'r');

  23. % 球

  24. set(gca,'ytick',[0:2:9]);

  25. set(gca,'yticklabels',num2str([-1:3]'));

  26. plot([0,15],[3.3,3.3],'black');

  27. H1=plot([0,13],[3.3,3.3],'y');

  28. % 句柄[黄线]

  29. Q=plot(0,3.8,'color','r');

  30. % 运动曲线;

  31. td=[];yd=[];

  32. T=0;

  33. text(2,9,'理想中的弹簧振子简谐振动','fontsize',16);

  34. set(gcf,'doublebuffer','on');
  35. k=0;
  36. while T<12;

  37. pause(0.2);

  38. Dy=(3/2-1/2*sin(pi*T))*1/2;

  39. Y=-(y-2)*Dy+7;

  40. Yf=Y(end)+t1;

  41. td=[td,T];yd=[yd,Y(end)];

  42. set(D,'ydata',Y);

  43. set(F1,'ydata',Yf,'facecolor',rand(1,3));

  44. set(H1,'xdata',[T,13],'ydata',[Y(end),Y(end)]);

  45. set(Q,'xdata',td,'ydata',yd) ;
  46. %M(T) = getframe;
  47. T=T+0.1;
  48. k=k+1
  49. mov(k) = getframe(gcf);

  50. end
  51. movie2avi(mov, 'myPeaks2.avi', 'compression', 'None','quality',100);
复制代码

作者: 陌上,烟雨遥    时间: 2013-8-7 17:44
madio 发表于 2013-8-7 17:25
我给你改了一下,可以录成avi的形式,保存在m文件的目录了,movie2avi函数还有一些设置你可以查阅帮助。

蒽,好的,谢谢了,
作者: 薛云涛    时间: 2014-1-20 19:31

作者: zhaoyuan020    时间: 2014-2-8 17:05





欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5