![]() |
[求助]请高手指点我编的波动演示程序
[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] |
回复: [求助]请高手指点我编的波动演示程序
不需要movie函数的,你直接在for循环每次绘图结束加条语句pause(0.01)就可以了,()里是暂停秒数,当然也可以是0的。另外为了让图形不闪烁,在for循环前新建一个图形窗口,并设置数据缓冲(figure(1);set(gcf,'doublebuffer','on'););为保持坐标轴不变动,可在plot函数后增加设坐标限语句。
|
回复: [求助]请高手指点我编的波动演示程序
真是太感谢了
|
回复: [求助]请高手指点我编的波动演示程序
不要客气了!
|
所有时间均为北京时间。现在的时间是 11:24。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.