MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   [求助]请高手指点我编的波动演示程序 (https://www.labfans.com/bbs/showthread.php?t=5528)

zwei 2008-11-28 17:02

[求助]请高手指点我编的波动演示程序
 
[SIZE="5"][SIZE="6"]我想编一个演示波随时间传播的程序,也就是sin(k*x)的图形,下面是我编的源代码,出来的动画不理想
%wave propagation
f=1000000;v=3000; %初始条件
w=2*pi*f; %圆频率
l=v/f; %波长
k=2*pi/l; %波数
T=1/f; %周期
d=20; %一个周期内有20个点
x=0:l/d:10*l;
P=sin(k*x);
for t=1:201
plot(x(1:t),P(1:t));
M(t)=getframe;
end
xlabel('位置/x');
ylabel('幅度');
axis([0,10*T,-1,1]);
movie(M,1)

画图估计错了,x轴无法固定
初学Matlab,请大家指点,或者有更好的编法。不胜感激!!!!!!!!!!![/SIZE][/SIZE]

haiyunyuan 2008-11-28 22:49

回复: [求助]请高手指点我编的波动演示程序
 
不需要movie函数的,你直接在for循环每次绘图结束加条语句pause(0.01)就可以了,()里是暂停秒数,当然也可以是0的。另外为了让图形不闪烁,在for循环前新建一个图形窗口,并设置数据缓冲(figure(1);set(gcf,'doublebuffer','on'););为保持坐标轴不变动,可在plot函数后增加设坐标限语句。

zwei 2008-11-29 20:56

回复: [求助]请高手指点我编的波动演示程序
 
真是太感谢了

haiyunyuan 2008-11-29 22:22

回复: [求助]请高手指点我编的波动演示程序
 
不要客气了!


所有时间均为北京时间。现在的时间是 11:24

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.