Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
初级会员
注册日期: 2008-11-27
年龄: 41
帖子: 4
声望力: 0 ![]() |
![]()
我想编一个演示波随时间传播的程序,也就是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,请大家指点,或者有更好的编法。不胜感激!!!!!!!!!!!
__________________
努力学习Matlab中...............:lol: |
![]() |
![]() |
![]() |
#2 |
初级会员
注册日期: 2008-11-27
年龄: 54
帖子: 7
声望力: 0 ![]() |
![]()
不需要movie函数的,你直接在for循环每次绘图结束加条语句pause(0.01)就可以了,()里是暂停秒数,当然也可以是0的。另外为了让图形不闪烁,在for循环前新建一个图形窗口,并设置数据缓冲(figure(1);set(gcf,'doublebuffer','on'););为保持坐标轴不变动,可在plot函数后增加设坐标限语句。
|
![]() |
![]() |
![]() |
#3 |
初级会员
注册日期: 2008-11-27
年龄: 41
帖子: 4
声望力: 0 ![]() |
![]()
真是太感谢了
__________________
努力学习Matlab中...............:lol: |
![]() |
![]() |
![]() |
#4 |
初级会员
注册日期: 2008-11-27
年龄: 54
帖子: 7
声望力: 0 ![]() |
![]()
不要客气了!
|
![]() |
![]() |
![]() |
|
|
![]() |
||||
主题 | 主题作者 | 版面 | 回复 | 最后发表 |
[资料]MATLAB GUI 界面 毕业设计 重要参考资料 | wa2003 | MATLAB论坛 | 32 | 2012-04-06 15:34 |
正弦信号谐波失真系数的测试程序 | ywf | MATLAB论坛 | 2 | 2009-05-14 13:13 |
[原创]哥德巴赫猜想-张俊龙请白文章教授出示结果 | 龙舞山威 | 数学 | 0 | 2009-02-06 14:36 |
GM(1,1) | lvlianggan | MATLAB论坛 | 2 | 2008-11-07 22:52 |
[求助]帮忙看看这个该怎么仿真 | sandy920324 | MATLAB论坛 | 2 | 2008-09-18 19:50 |