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

上传人:b****2 文档编号:4450816 上传时间:2023-05-03 格式:DOCX 页数:31 大小:789.31KB
下载 相关 举报
《MATLAB与仿真系统课程设计》Word格式.docx_第1页
第1页 / 共31页
《MATLAB与仿真系统课程设计》Word格式.docx_第2页
第2页 / 共31页
《MATLAB与仿真系统课程设计》Word格式.docx_第3页
第3页 / 共31页
《MATLAB与仿真系统课程设计》Word格式.docx_第4页
第4页 / 共31页
《MATLAB与仿真系统课程设计》Word格式.docx_第5页
第5页 / 共31页
《MATLAB与仿真系统课程设计》Word格式.docx_第6页
第6页 / 共31页
《MATLAB与仿真系统课程设计》Word格式.docx_第7页
第7页 / 共31页
《MATLAB与仿真系统课程设计》Word格式.docx_第8页
第8页 / 共31页
《MATLAB与仿真系统课程设计》Word格式.docx_第9页
第9页 / 共31页
《MATLAB与仿真系统课程设计》Word格式.docx_第10页
第10页 / 共31页
《MATLAB与仿真系统课程设计》Word格式.docx_第11页
第11页 / 共31页
《MATLAB与仿真系统课程设计》Word格式.docx_第12页
第12页 / 共31页
《MATLAB与仿真系统课程设计》Word格式.docx_第13页
第13页 / 共31页
《MATLAB与仿真系统课程设计》Word格式.docx_第14页
第14页 / 共31页
《MATLAB与仿真系统课程设计》Word格式.docx_第15页
第15页 / 共31页
《MATLAB与仿真系统课程设计》Word格式.docx_第16页
第16页 / 共31页
《MATLAB与仿真系统课程设计》Word格式.docx_第17页
第17页 / 共31页
《MATLAB与仿真系统课程设计》Word格式.docx_第18页
第18页 / 共31页
《MATLAB与仿真系统课程设计》Word格式.docx_第19页
第19页 / 共31页
《MATLAB与仿真系统课程设计》Word格式.docx_第20页
第20页 / 共31页
亲,该文档总共31页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

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

《《MATLAB与仿真系统课程设计》Word格式.docx》由会员分享,可在线阅读,更多相关《《MATLAB与仿真系统课程设计》Word格式.docx(31页珍藏版)》请在冰点文库上搜索。

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

另一种类型是当一个参数变化时,依次显示某些问题解的图形。

MATLAB中的函数moviein,getframe和movie提供了捕捉和播放动画的所需工具。

函数moviein可以产生一个帧矩阵来存放动画中的帧;

函数getframe对当前的图像进行快照;

而函数movie按顺序回放各帧。

照这样,捕捉和回放动画的方法是:

(1)创建帧矩阵;

(2)对动画中的每一帧生成图形,并把它捕捉到到帧矩阵里;

(3)从帧矩阵里回放动画。

1、结合本身所学知识以及课程设计要求,确立自我方案的整体设计

整体设计一个可视化模块,该模块分图像显示模块和动画播放模块。

图像显示模块主要是用来显示磁盘目录下的某个图片;

动画播放模块主要是用来播放动画。

2、对整体方案进行划分,分模块对各个小问题进行解决

i.图片显示模块:

在MATLAB中键入所需代码,使其能够调用磁盘目录下的图片文档;

ii.动画播放模块:

在MATLAB中键入所需代码,使其能够播放动画;

iii.GUI的设计:

建立一个GUI的模板,使其能都搭载图片显示模块和动画播放模块。

3、对各个模块进行整合,使其工作

三、课程设计的内容与安排

通过编程显示磁盘目录下的图像文件,对GUI中的CALLBACK进行编程,使其能够完成调用图片这一功能;

编程实现不断变化的图形,该图为自己绘制,且观赏价值高。

时间安排参考如下教学时间安排

教学安排

周一布置任务,查阅资料

周二设计

周三设计

周四仿真、调试

周五验收、总结报告

四、课程设计的步骤

1、图片显示模块的设计。

图片显示模块是为了在MATLAB中显示本地磁盘中的图片文档而建立的一个模块

打开MATLAB程序,在弹出的“commandwindow”窗口中键入以下代码:

%=======================照片读取=================================

[x,cmap]=imread('

E:

\picture\走走走\100815\DSC00285.JPG'

);

image(x);

colormap(cmap);

axisimageoff

该段代码调用的是本地磁盘E:

\picture\走走走\100815\目录的下DSC00285.JPG图片文档

2、动画播放模块的设计

动画播放模块是为了在MATLAB环境下绘制和播放动画而建立的一个模块

打开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([-11-11]);

axissquare

shadinginterp

gridoff

set(h,'

EraseMode'

'

Xor'

MarkerSize'

20);

%设置擦除模式为Xor

%循环5000次,产生动画效果

fori=linspace(1,10,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]);

%右边竖条的填充

holdon;

%保持当前图形及轴系的所有特性

fill([2,6,6,2],[3,3,0,0],[0,0.5,0]);

%左边竖条的填充

%保持当前图形及轴系的所有特性

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]);

%中间长方形的填充

title('

Sphere'

%定义图题

x0=6;

y0=5;

head1=line(x0,y0,'

color'

b'

linestyle'

...

'

erasemode'

xor'

markersize'

30);

head2=line(x0,y0,'

50);

%设置小球颜色,大小,线条的擦拭方式

t=0;

%设置小球的初始值

dt=0.001;

%设置运动周期

t1=0;

%设置大球的初始值

dt1=0.001;

while1%条件表达式

t=t+dt;

x1=9-1*t;

y1=5;

x3=6;

y3=5;

ift>

x2=6;

y2=5;

%设置小球的运动轨迹

end

2.8

a=sin(t-3);

x1=6.1;

y1=5.1;

x3=4-2*sin(1.5*a);

y3=5-2*cos(1.5*a);

%设置大球的运动轨迹

set(head1,'

xdata'

x1,'

ydata'

y1);

%设置球的运动

set(head2,'

x3,'

y3);

drawnow;

endguide

3、GUI的设计

建立一个GUI的模板,使其能都搭载图片显示模块和动画播放模块

(1)打开MATLAB软件,在弹出的“commandwindow”中键入:

guide回车,弹出如图1:

图1.GUI设计启动窗口

(2)选择“BlankGUI(Default)”点击“OK”按钮进入GUI编辑窗口,如图2:

图2.GUI编辑窗口

(3)添加组件。

组件名称

数量

String

Tag

FrontSize

axes

pushbutton

1

4

——

Brownian

Sphere

Picture

Quit

axes1

BT_Brownian

BT_Sphere

BT_PictureShow

BT_Quit

10.0

表1.组件列表及部分属性设置

图3.组件的摆放

在GUI界面内添加组件如图3所示,在修改完部分属性以后界面如图5所示,修改界面如图4所示。

图4.属性编辑栏

图5.属性修改完后的GUI界面

(4)菜单栏的设置(这里不添加默认的菜单栏,即GUI界面的MenuBar属性设置为none)

图6.菜单栏的编辑

为菜单栏添加组件组件清单如表2所示,组件添加如图7所示

图7.菜单栏的修改

名称

Label

Accelerator

NewMen

NewMenuItemu

6

File

BackColor

Help

Abou

PictureShow

Exit

Yellow

Red

NM_File

NM_BackColor

NM_Help

NM_AboutNMI_Brownian

NMI_Sphere

NMI_PictureShow

NMI_Exit

NMI_Yellow

NMI_Red

--

--

Ctrl+B

Ctrl+S

Ctrl+P

Ctrl+E

表2.菜单栏的部分属性设置

(5)其余设置

GUI界面的Tag属性设为“CourseExercise”中文意思为“课程设计”

4、代码的添加以及模块的组合封装

按钮Quit功能实现:

%---ExecutesonbuttonpressinBT_Quit.

functionBT_Quit_Callback(hObject,eventdata,handles)

%hObjecthandletoBT_Quit(seeGCBO)

%eventdatareserved-tobedefinedinafutureversionofMATLAB

%handlesstructurewithhandlesanduserdata(seeGUIDATA)

%<

BT_Quit>

=================================================================

close(gcf)

/BT_Quit>

================================================================

注:

个人习惯在自己添加的代码处添加注释头文件%<

>

========尾文件%<

/>

========

按钮Brownian功能实现:

%---ExecutesonbuttonpressinBT_Brownian.

functionBT_Brownian_Callback(hObject,eventdata,handles)

%hObjecthandletoBT_Brownian(seeGCBO)

BT_Brownian>

=============================================================

%=====================布朗运动==================================

/BT_Brownian>

============================================================

按键Sphere功能实现:

%---ExecutesonbuttonpressinBT_Sphere.

functionBT_Sphere_Callback(hObject,eventdata,handles)

%hObjecthandletoBT_Sphere(seeGCBO)

BT_Sphere>

===============================================================

end

/BT_Sphere>

==============================================================

按钮PictureShow功能实现:

%---ExecutesonbuttonpressinBT_PictureShow.

functionBT_PictureShow_Callback(hObject,eventdata,handles)

%hObjecthandletoBT_PictureShow(seeGCBO)

BT_PictureShow>

==========================================================

%=======================照片读取=================================

/BT_PictureShow>

=========================================================

颜色的实现:

%--------------------------------------------------------------------

functionNMI_Red_Callback(hObject,eventdata,handles)

%hObjecthandletoNMI_Red(seeGCBO)

%=========================================

set(handles.CourseExercise,'

r'

%背景色为红色

functionUntitled_3_Callback(hObject,eventdata,handles)

%hObjecthandletoUntitled_3(seeGCBO)

functionNMI_Yellow_Callback(hObject,eventdata,handles)

%hObjecthandletoNMI_Yellow(seeGCBO)

y'

%背景色为黄色

五、课程设计的结果

程序所有代码为:

functionvarargout=CourseExercise(varargin)

%COURSEEXERCISEM-fileforCourseExercise.fig

%COURSEEXERCISE,byitself,createsanewCOURSEEXERCISEorraisestheexisting

%singleton*.

%

%H=COURSEEXERCISEreturnsthehandletoanewCOURSEEXERCISEorthehandleto

%theexistingsingleton*.

%COURSEEXERCISE('

CALLBACK'

hObject,eventData,handles,...)callsthelocal

%functionnamedCALLBACKinCOURSEEXERCISE.Mwiththegiveninputarguments.

Property'

Value'

...)createsanewCOURSEEXERCISEorraisesthe

%existingsingleton*.Startingfromtheleft,propertyvaluepairsare

%appliedtotheGUIbeforeCourseExercise_OpeningFunctiongetscalled.An

%unrecognizedpropertynameorinvalidvaluemakesproperty

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2