在回答这个问题之前,先贴一个matlab画的动态正弦波。
图片:
每秒2帧;GIF格式;正弦波形,初始相位为0,相位变化范围为0:2π,步长为π/10。正弦波频率为1Hz。要让正弦波动起来,当然就像放电影一样。我先保存每一帧,然后按顺序播放。
Matlab提供了播放电影的功能:
Movie(M,n,fps)以每秒fps帧的速度播放电影。默认值为每秒12帧。不能达到指定速度的电脑会尽可能快地播放。
接下来,我们只需要创建一个相位不断变化的sin函数。
fai = 0:pi/10:10 * pi;
x = sin(2 * pi * F0 * t+fai(j));
最后建立一个循环,就大功告成了!
对于j=1:循环
x = sin(2 * pi * F0 * t+fai(j));
plot(t,x,'-ro ','线宽',1);
图例([' signal sin (2 \ pit+',num2str (FAI (j)),')']);
Xlabel('时间t ');
网格打开;
f(j)= get frame;
im = frame 2 im(F(j));
[imid,cm]=rgb2ind(im,256);
如果j == 1
im write(imid,cm,' SineGIf.GIf ',' gif ',' Loopcount ',inf,' DelayTime ',0.5);
其他
im write(imid,cm,' SineGIf.GIf ',' gif ',' WriteMode ',' append ',' DelayTime ',0.5);
目标
目标
更多交流|MATLAB知识,欢迎关注我!