MATLAB在信号处理与数值计算中的应用
1. 移动矩形脉冲的动画绘制
在信号处理中,当函数的定义参数随时间变化时,我们常常需要绘制其随时间发展的图形。以剧院聚光灯为例,假设其横截面的强度密度恒定,但位置随时间变化。聚光灯的大小可以用一个矩形脉冲来表示,例如宽度为2米、高度为1米,且以1米/秒的恒定速度向右移动。初始时,光斑中心位于x = 1米处,最终位置在x = 8米处。我们可以编写一个程序来展示其随时间的发展,并播放生成的动画。
为了展示本章中不常用的其他命令,我们可以使用布尔语法,而不是上一节中使用的if - else - end语法,并使用linspace命令来定义数组。以下是相应的M文件脚本:
lrect=0;hrect=2;
x=linspace(0,10,200);
t=linspace(0,8,40);
M=moviein(40);
for m=1:40
y=(x>=lrect+t(m)).*(x<=hrect+t(m));
plot(x,y,'r')
axis([-2 12 0 1.2]);
M(:,m)=getframe;
end
movie(M,3)
如果光束的速度不是1米/秒,我们需要对上述程序进行修改。假设速度为v,我们可以将 t(m) 替换为 v*t(m) ,这样就可以实现不同速度下的动画展示。
1.1 MATLAB命令回顾
| 命令 |
|---|
MATLAB在信号与数值计算中的应用
超级会员免费看
订阅专栏 解锁全文
1528

被折叠的 条评论
为什么被折叠?



