MATLAB的动画功能

 时间:2026-02-13 00:16:45

1、drawnow指令

  在MATLAB中drawnow指令的功能是暂停程序的执行并刷新图形窗口。可以利用这一功能与xdata,ydata,zdata等图形数据属性的修改,实现图形的效果。

如:

>> t=linspace(0,35,1000);

y=sin(2*t).*exp(-t/5);

h=plot(t,y);

Warning: MATLAB has disabled some advanced graphics rendering features by switching to software OpenGL. For more information, click here. 

>> xlim([0,50]);

>> for i=1:200

x=i/20+t;

set(h,'xdata',x);

drawnow

end

MATLAB的动画功能

2、pause指令

除了drawnow指令的动画外,还可以利用pause指令与xdata,ydata,zdata等图形属性的修改相结合制作动画。

如:

>> t=linspace(0,2*pi,361);

>> x=10*cos(t);

>> y=10*sin(t);

>> h=fill(x,y,'b');

>> xlim([-12,12]);

>> ylim([-12,12]);

>> axis square

>> hold on

>> R=linspace(10,1,100);

>> for i=1:100

x=R(i)*cos(t);

y=R(i)*sin(t);

set(h,'xdata',x);

set(h,'ydata',y);

pause(0.1)

end

MATLAB的动画功能

3、rotate指令

rotate指令是旋转功能,利用这一功能和pause指令相结合制作动画。

如:时钟指针

>> t=linspace(0,(2-1/6)*pi,12);

>> x=6*cos(t);

>> y=6*sin(t);

>> h1=plot(x,y,'*r');

>> axis equal

>> xlim([-8,8]);

>> ylim([-8,8]);

>> hold on

>> h2=plot([0,5.5],[0,0]);

>> set(h2,'linewidth',4);

>> while i<=269

i=i+1;

rotate(h2,[0,0,1],1)

pause(0.1);

end

MATLAB的动画功能

4、movie指令

MATLAB中提供了电影动画指令movie,利用该指令制作的动画成为电影动画。电影动画必须由很多图形帧连续播放,其制作过程为:利用指令getframe获取当前图形的帧,通过指令movie按顺序回放获取的各帧。

movie(M,n)%顺序播放帧矩阵中的各帧,你,为播放次数

getframe%获取当前图形的帧。

如:

>> t=linspace(-15,15,1000);

>> y=sin(4*t).*exp(cos(t));

>> for i=1:201

x=(i-1)/20+t;

h=plot(x,y);

xlim([-15,35]);

ylim([-4,4])

set(h,'color',rand(1,3));

set(h,'linewidth',2);

m(:,i)=getframe

end

 movie(m,1)

MATLAB的动画功能

  • MATLAB format函数的用法与详解
  • Matlab怎么在gui界面创建菜单?
  • matlab如何产生间隔为1的1到100之间的序列数?
  • 如何在matlab中自定义极坐标区?
  • matlab清除命令窗口中的内容
  • 热门搜索
    三月底适合去哪里旅游 临潼旅游 尼泊尔旅游季节 旅游集散中心上海 旅游对经济的影响 北京冬季旅游攻略 天津旅游教育网 浙江横店旅游攻略 山海天旅游度假区 沈阳到台湾旅游报价