|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
直接上代码:
% I6 t4 q" p; x! P! E# Y要达到画图动态的效果,就是当你画第i个点时,前(i-1)个点的画图过程要首先展现出来。只要记录画每一个点图像,然后依次快速移动这些图片,就可以达到这种目的了。在Matlab中提供了getframe和movie 来完成这个过程。具体详尽说明和其他使用见help。下面直接上代码。2 `' C/ p6 z" H( K/ Z
7 P& X5 A0 \) R1 [6 |" y
; z3 O* P+ B* K# w+ Q7 H$ ?- @! M1 T1 }, ] N7 ~% w1 U
clc;
% Q' @' v! N, u7 X) T1 Hclose all;
5 y/ ]# \' C: Vx1=0;s=0.2;%确定起始点和增量
" C% [" }9 a" D( z. o7 dnframes=50;%确定总动画帧数
# Q$ h" j* E) h& Dfor k=1:nframes
; ]+ D5 d7 t# m9 V; q; V! [ x1=x1+s;%确定画图时的横坐标终止值x1
I" j" D2 g2 O5 [( J7 u2 W* P x=0:0.01:x1;
) F+ v5 N+ r2 z; m- g/ G y=sin(x);
4 O9 C% o5 }' H( ^! h plot(x,y);
$ W& f A# ~; ~ axis([0 2*pi -1.2 1.2]);%坐标轴的范围
S7 b! [' ?: c& h. X m(k)=getframe;%将当前图形存入矩阵m中
7 w. P/ N0 e+ c. P, j/ N( Mend7 T0 Z1 k: ]+ d; ]& n+ S
movie(m,3)%重复3此播放动画
% Q1 h. o0 {" W4 _1 h
2 B$ X, {: N' M. Q$ A |
|