资源描述:
《matlab程序设计报告--基于matlab动画播放及音乐播放》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2012-2013学年第二学期MATLAB课设 《MATLAB程序设计》课程设计报告设计题目:基于MATLAB的动画演示及背景音乐插入专业:2011级通信工程姓名(学号):储兆雄1162310213邓少林1162310214徐凯越1162310223指导教师:倪建军(博士/副教授)时间:2013年12月20日122012-2013学年第二学期MATLAB课设目录1、设计目的2、总体设计3、具体设计(功能实现)4、结果分析5、改进方向6、心得体会文献附录122012-2013学年第二学期MATLAB课设1、设计目的学会运用matlab工具箱实现matlabGUI设计,处理动画运
2、行,以及添加背景音乐,并实现其动态操作,如继续、暂停等功能。2、总体设计122012-2013学年第二学期MATLAB课设主要包括:动画模块,音乐模块,动画显示模块3、具体设计(功能实现)1)动画模块(1)打开动画文件:从文件打开对话框选择动画程序,实现动画播放的可选择性程序实现代码如下:functionbtnvopen_Callback(hObject,eventdata,handles)%hObjecthandletobtnvopen(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesst
3、ructurewithhandlesanduserdata(seeGUIDATA)globalvfname%动画文件名[vfnamevpnamevindex]=uigetfile('*.m','choosemoivefile');len=length(vfname);ifvindexset(handles.txtvname,'string',vfname(1:len-2))end打开对话框效果如下:122012-2013学年第二学期MATLAB课设(2)开始动画播放:先获取文件名称vfname(1:len-2),然后用run()命令来执行程序实现代码如下:functionbtnvs
4、tart_Callback(hObject,eventdata,handles)%hObjecthandletobtnvstart(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)globalvfnametrylen=length(vfname);run(vfname(1:len-2));catchmsgbox('sorry,therearesomeerrorwhileplayingmovie!','NOT
5、ICING');end以下是其中两个动画程序snow动画%***************设置背景****************************%A=imread('H:YOU.jpg');h=figure;imshow(A);axesaxis([0101]);axisoff;set(gcf,'color','k');N=20;122012-2013学年第二学期MATLAB课设handles=zeros(1,N);x=rand(2,N);fontsize=floor(rand(1,N)*17+32);new_handles_N=0;%绘图fori=1:Nhandles(i
6、)=text(x(1,i),x(2,i),'*','fontsize',fontsize(i),'color','w');endwhile1if~ishandle(h)returnendfori=1:Ntemp=get(handles(i),'position');step=get(handles(i),'fontsize')/48*0.05;iftemp(2)<0new_handles_N=new_handles_N+1;new_handles(new_handles_N)=copyobj(handles(i),gca);ifnew_handles_N==500delete(ne
7、w_handles);new_handles_N=0;endtemp(1)=rand(1);temp(2)=1;elsetemp(1)=temp(1)+rand(1)*0.1-0.05;temp(2)=temp(2)-step;endset(handles(i),'position',temp,'rotation',get(handles(i),'rotation')+5);endpause(.2)end简单程序动画tryMovie=moviein(16);fork=