Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
普通会员
注册日期: 2008-08-17
年龄: 36
帖子: 70
声望力: 20 ![]() ![]() |
![]() 代码:
function bai %震荡的小球动画演示 %EDIT BY PSL@CSU %QQ:547423688 %Email:[email protected] clear clc savemov=1;%是否生成avi文件,1为是,0为否 if(savemov==1) mov=avifile('bai.avi'); end t=0:pi/18:4*pi; n=length(t); y=cos(t); %震荡轨迹,可改变函数 line1=plot(t,y,'b'); %绘制曲线 axis([0 4*pi -1.5 1.5]); hold on; title('震荡的小球动画演示(By pslpsl)'); %下面利用线绘制小球,并定义线的颜色,线形大小和擦除方式 %小球对象的句柄存放在变量h中,后面利用这个句柄对小球控制 h=line('color',[0 0.5 0.5],'linestyle','.','markersize',50,'erasemode','xor'); %最关键的一点把擦除方式设为'xor',这样才能实现好的动画效果 %下面为脚本文件 i=1; k=1;%控制转向 count=1; j=2;%震荡次数 j/2次 line2=plot(t(1),y(1),'r');%存放震荡线 while count<j*n-j+1 delete(line2);%或cla %删除震荡线 temp=rand(1)-0.5;%随机震荡 set(h,'xdata',t(i),'ydata',y(i)+temp); line2=plot([t(i),t(i)],[y(i),y(i)+temp],'r'); pause(0.01); %drawnow;%刷新 if(savemov==1) f=getframe(gcf); mov=addframe(mov,f); end i=i+k; count=count+1; %碰到反射点转向 if(i==1|i==n) k=-k; end end hold off; if(savemov==1) mov=close(mov); end %EDIT BY PSL@CSU %QQ:547423688 %Email:[email protected] 附件 1035 |
![]() |
![]() |
![]() |
#3 |
初级会员
注册日期: 2010-07-13
帖子: 1
声望力: 0 ![]() |
![]()
谢谢啦 啊
![]() |
![]() |
![]() |
![]() |
主题工具 | |
显示模式 | |
|
|
![]() |
||||
主题 | 主题作者 | 版面 | 回复 | 最后发表 |
急 急 急 如何用用matylab实现混合智能算法? | ren | MATLAB论坛 | 0 | 2008-11-15 20:31 |
请大家帮忙看看这个程序问题出在哪? | likochen | MATLAB论坛 | 0 | 2008-11-13 02:38 |
[求助]各位达人 | beardgh | MATLAB论坛 | 0 | 2008-09-19 16:34 |
[求助]请各位大哥帮帮忙 | warlock8238 | MATLAB论坛 | 3 | 2008-09-14 15:31 |
[求助]DFT求两路正弦信号相差 | mayllen | MATLAB论坛 | 0 | 2008-07-07 21:52 |