ImageVerifierCode 换一换
格式:DOCX , 页数:31 ,大小:789.31KB ,
资源ID:12027032      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12027032.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(《MATLAB与仿真系统课程设计》.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

《MATLAB与仿真系统课程设计》.docx

1、MATLAB与仿真系统课程设计自动化专业课程设计报告MATLAB与仿真系统课程设计班 级 姓 名 学 号 时 间 2010.12.13-2010.12.17 地 点 电信实验中心软件机房 指 导 教 师 邓 长 辉 大 连 海 洋 大 学 信 息 工 程 学 院自 动 化 教 研 大 连 海 洋 大 学 课 程 设 计 报 告 纸学院(系): 专业班级: 姓名: 学号: 图像与动画 一、课程设计的目的与要求1、课程设计目的:(1)进一步理解和消化书本知识,运用所学知识和技能进行简单的设计。(2)通过课程设计提高应用能力,为专业课的学习打下基础。(3)培养查阅资料的习惯,训练和提高独立思考和解决

2、问题的能力。(4)通过命令的调用来显示磁盘目录下的某个图像;完成简单动画的制作,结合GUI可视化程序设计培养知识综合运用能力和技巧。2、课程设计要求从课程设计的目的出发,通过设计工作的各个环节,达到以下要求:(1)能够正确理解课程设计的题目和意义,全面思考问题。(2)运用科学合理的方法,认真按时完成。二、课程设计课题的分析MATLAB提供了一种能力,它可以存储一系列各种类型的二维或三维图,然后像放电影一样把它们按次序重放出来。在某种意义上,动画提供的运动为图形增加另一个维数。通常图形的次序不必以任意的方式关联起来。一种明显的动画类型是取出三维图形然后缓慢地将它旋转,这样我们就可以从不同角度来观

3、察它。另一种类型是当一个参数变化时,依次显示某些问题解的图形。MATLAB中的函数moviein,getframe和movie提供了捕捉和播放动画的所需工具。函数moviein可以产生一个帧矩阵来存放动画中的帧;函数getframe对当前的图像进行快照;而函数movie按顺序回放各帧。照这样,捕捉和回放动画的方法是:(1)创建帧矩阵;(2)对动画中的每一帧生成图形,并把它捕捉到到帧矩阵里;(3)从帧矩阵里回放动画。1、结合本身所学知识以及课程设计要求,确立自我方案的整体设计整体设计一个可视化模块,该模块分图像显示模块和动画播放模块。图像显示模块主要是用来显示磁盘目录下的某个图片;动画播放模块主

4、要是用来播放动画。2、对整体方案进行划分,分模块对各个小问题进行解决i. 图片显示模块:在MATLAB中键入所需代码,使其能够调用磁盘目录下的图片文档;ii. 动画播放模块:在MATLAB中键入所需代码,使其能够播放动画;iii. GUI的设计:建立一个GUI的模板,使其能都搭载图片显示模块和动画播放模块。3、对各个模块进行整合,使其工作三、课程设计的内容与安排通过编程显示磁盘目录下的图像文件,对GUI中的CALLBACK进行编程,使其能够完成调用图片这一功能;编程实现不断变化的图形,该图为自己绘制,且观赏价值高。时间安排参考如下教学时间安排教学安排周一 布置任务,查阅资料周二 设计周三 设计

5、周四 仿真、调试周五 验收、总结报告四、课程设计的步骤1、图片显示模块的设计。 图片显示模块是为了在MATLAB中显示本地磁盘中的图片文档而建立的一个模块 打开MATLAB程序,在弹出的“command window”窗口中键入以下代码: %=照片读取=x,cmap = imread(E:picture走走走100815DSC00285.JPG);image(x);colormap(cmap);axis image off 该段代码调用的是本地磁盘E:picture走走走100815目录的下DSC00285.JPG图片文档2、动画播放模块的设计 动画播放模块是为了在MATLAB环境下绘制和播放

6、动画而建立的一个模块 打开MATLAB编辑器,在空白处键入以下代码: (1).布朗运动的代码 %=布朗运动= n=50; %指定布朗运动的点数s=0.02; %指定温度或速率%产生n个随机点(x,y),处于-0.5到0.5之间%=x=rand(n,1)-0.5; y=rand(n,1)-0.5;h=plot(x,y,.); %绘制随机点axis(-1 1 -1 1);axis squareshading interpgrid offset(h,EraseMode,Xor,MarkerSize,20); %设置擦除模式为Xor%循环5000次,产生动画效果%=for i=linspace(1,1

7、0,5000) drawnow x=x+s*randn(n,1); %在坐标点附近添加随机噪声 y=y+s*randn(n,1); set(h,XData,x,YData,y); %通过改变数据属性来重新绘图end (2).球体运动动画的代码%=小球运动=fill(6,7,7,6,5,5,0,0,0,0.5,0); %右边竖条的填充hold on; %保持当前图形及轴系的所有特性fill(2,6,6,2,3,3,0,0,0,0.5,0); %左边竖条的填充hold on; % 保持当前图形及轴系的所有特性t1=0:pi/60:pi;plot(4-2*sin(t1-pi/2),5-2*cos(t

8、1-pi/2); %绘制中间的凹弧图形grid; %添加网格线axis(0,9,0,9); %定义坐标轴的比例axis(off); %关闭所有轴标注,标记,背景fill(1,2,2,1,5,5,0,0,0,0.5,0); %中间长方形的填充hold on; % 保持当前图形及轴系的所有特性title(Sphere); %定义图题x0=6;y0=5;head1=line(x0,y0,color,b,linestyle,.,. erasemode,xor,markersize,30); head2=line(x0,y0,color,b,linestyle,.,. erasemode,xor,mar

9、kersize,50); %设置小球颜色,大小,线条的擦拭方式 t=0; %设置小球的初始值dt=0.001; %设置运动周期t1=0; %设置大球的初始值dt1=0.001;while 1 %条件表达式 t=t+dt; x1=9-1*t; y1=5; x3=6; y3=5; if t0 x2=6; y2=5; %设置小球的运动轨迹 end if t2.8 t=t+dt; a=sin(t-3); x1=6.1; y1=5.1; x3=4-2*sin(1.5*a); y3=5-2*cos(1.5*a); %设置大球的运动轨迹 end set(head1,xdata,x1,ydata,y1); %

10、设置球的运动 set(head2,xdata,x3,ydata,y3); drawnow;endguide3、GUI的设计 建立一个GUI的模板,使其能都搭载图片显示模块和动画播放模块 (1) 打开MATLAB软件,在弹出的“command window”中键入:guide回车,弹出如图1:图1.GUI设计启动窗口(2)选择“Blank GUI (Default)”点击“OK”按钮进入GUI编辑窗口,如图2:图2.GUI编辑窗口(3)添加组件。组件名称数量StringTagFrontSizeaxes pushbutton14BrownianSpherePictureQuitaxes1BT_Br

11、ownianBT_SphereBT_PictureShowBT_Quit10.010.010.010.010.0表1.组件列表及部分属性设置图3.组件的摆放在GUI界面内添加组件如图3所示,在修改完部分属性以后界面如图5所示,修改界面如图4所示。图4.属性编辑栏图5.属性修改完后的GUI界面(4)菜单栏的设置(这里不添加默认的菜单栏,即GUI界面的MenuBar属性设置为none)图6.菜单栏的编辑为菜单栏添加组件组件清单如表2所示,组件添加如图7所示图7.菜单栏的修改名称数量LabelTagAcceleratorNew Men New Menu Item u46FileBackColorHe

12、lpAbou BrownianSpherePictureShowExitYellowRedNM_FileNM_BackColorNM_HelpNM_About NMI_BrownianNMI_SphereNMI_PictureShowNMI_ExitNMI_YellowNMI_Red- Ctrl+BCtrl+SCtrl+PCtrl+E-表2.菜单栏的部分属性设置(5)其余设置 GUI界面的Tag属性设为“CourseExercise”中文意思为“课程设计” 4、代码的添加以及模块的组合封装按钮Quit功能实现:% - Executes on button press in BT_Quit.fu

13、nction BT_Quit_Callback(hObject, eventdata, handles)% hObject handle to BT_Quit (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)%=close(gcf)%=注:个人习惯在自己添加的代码处添加注释头文件%= 尾文件%=按钮Brownian功能实现:% - Executes on button pr

14、ess in BT_Brownian.function BT_Brownian_Callback(hObject, eventdata, handles)% hObject handle to BT_Brownian (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)%=%=布朗运动= n=50; %指定布朗运动的点数s=0.02; %指定温度或速率%产生n个随机点(x,y)

15、,处于-0.5到0.5之间%=x=rand(n,1)-0.5; y=rand(n,1)-0.5;h=plot(x,y,.); %绘制随机点axis(-1 1 -1 1);axis squareshading interpgrid offset(h,EraseMode,Xor,MarkerSize,20); %设置擦除模式为Xor%循环5000次,产生动画效果%=for i=linspace(1,10,5000) drawnow x=x+s*randn(n,1); %在坐标点附近添加随机噪声 y=y+s*randn(n,1); set(h,XData,x,YData,y); %通过改变数据属性来

16、重新绘图end%=按键Sphere功能实现:% - Executes on button press in BT_Sphere.function BT_Sphere_Callback(hObject, eventdata, handles)% hObject handle to BT_Sphere (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)%=%=小球运动=fill(

17、6,7,7,6,5,5,0,0,0,0.5,0); %右边竖条的填充hold on; %保持当前图形及轴系的所有特性fill(2,6,6,2,3,3,0,0,0,0.5,0); %左边竖条的填充hold on; % 保持当前图形及轴系的所有特性t1=0:pi/60:pi;plot(4-2*sin(t1-pi/2),5-2*cos(t1-pi/2); %绘制中间的凹弧图形grid; %添加网格线axis(0,9,0,9); %定义坐标轴的比例axis(off); %关闭所有轴标注,标记,背景fill(1,2,2,1,5,5,0,0,0,0.5,0); %中间长方形的填充hold on; % 保持

18、当前图形及轴系的所有特性title(Sphere); %定义图题x0=6;y0=5;head1=line(x0,y0,color,b,linestyle,.,. erasemode,xor,markersize,30); head2=line(x0,y0,color,b,linestyle,.,. erasemode,xor,markersize,50); %设置小球颜色,大小,线条的擦拭方式 t=0; %设置小球的初始值dt=0.001; %设置运动周期t1=0; %设置大球的初始值dt1=0.001;while 1 %条件表达式 t=t+dt; x1=9-1*t; y1=5; x3=6;

19、y3=5; if t0 x2=6; y2=5; %设置小球的运动轨迹 end if t2.8 t=t+dt; a=sin(t-3); x1=6.1; y1=5.1; x3=4-2*sin(1.5*a); y3=5-2*cos(1.5*a); %设置大球的运动轨迹 end set(head1,xdata,x1,ydata,y1); %设置球的运动 set(head2,xdata,x3,ydata,y3); drawnow;end %=按钮PictureShow功能实现:% - Executes on button press in BT_PictureShow.function BT_Pictu

20、reShow_Callback(hObject, eventdata, handles)% hObject handle to BT_PictureShow (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)%=%=照片读取=x,cmap = imread(E:picture走走走100815DSC00285.JPG);image(x);colormap(cmap);axis

21、 image off%=颜色的实现:% -function NMI_Red_Callback(hObject, eventdata, handles)% hObject handle to NMI_Red (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)%=set(handles.CourseExercise,color,r); %背景色为红色%=% -function U

22、ntitled_3_Callback(hObject, eventdata, handles)% hObject handle to Untitled_3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % -function NMI_Yellow_Callback(hObject, eventdata, handles)% hObject handle to NMI_Y

23、ellow (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)%=set(handles.CourseExercise,color,y); %背景色为黄色 %=五、课程设计的结果程序所有代码为:function varargout = CourseExercise(varargin)% COURSEEXERCISE M-file for CourseExercise.fig%

24、 COURSEEXERCISE, by itself, creates a new COURSEEXERCISE or raises the existing% singleton*.% H = COURSEEXERCISE returns the handle to a new COURSEEXERCISE or the handle to% the existing singleton*.% COURSEEXERCISE(CALLBACK,hObject,eventData,handles,.) calls the local% function named CALLBACK in COU

25、RSEEXERCISE.M with the given input arguments.% COURSEEXERCISE(Property,Value,.) creates a new COURSEEXERCISE or raises the% existing singleton*. Starting from the left, property value pairs are% applied to the GUI before CourseExercise_OpeningFunction gets called. An% unrecognized property name or invalid value makes property

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1