MATLAB界面设计报告

知足是福 范文 报告范文
精选回答

MATLAB界面设计报告本文简介:《MATLAB课程设计》报告设计题目:可视化界面学生姓名:何庆宇学生学号:2009045444023专业班级:09级通信工程(师范)答辩时间:指导教师:冯明库广东技术师范学院电子与信息学院一、设计目的及意义学会综合地运用MATLAB工具箱设计出可以绘制一般常见图像的GUI程序。同时,加深对MATLA

MATLAB界面设计报告本文内容:

《MATLAB课程设计》报告

设计题目:

可视化界面

学生姓名:

何庆宇

学生学号:

2009045444023

专业班级:

09级通信工程(师范)

答辩时间:

指导教师:

冯明库

广东技术师范学院

电子与信息学院

一、设计目的及意义

学会综合地运用MATLAB工具箱设计出可以绘制一般常见图像的GUI程序。同时,加深对MATLAB的绘制图像功能的认识和设计GUI程序的一般方法的掌握。

二、设计任务及指标

设计一个GUI界面程序,可以根据不同参数的输入来绘制不同的螺旋线、内摆线以及圆环图像。

熟悉和掌握MATLAB

程序设计方法;掌握MATLAB

GUI

程序设计;学习和熟悉MATLAB工具箱;学会运用MATLAB工具箱绘制常见图像。

三、设计过程

首先,启动Matlab并进入GUIDE环境:在Command

Window下输入“guide”,进入GUIDE环境。然后在用户界面编辑窗口添加4个命令按钮(显示是OK的用个PUSH

BUTTON),再如下图所示添加5个静态文本框(Static

Text)、5个编辑文本框(Edit

Text)和一个坐标系(Axes)。

其次,按下表设置每个控件的属性值(具体操作是:双击鼠标左键要设置属性的控件——property

inspector

命令——在弹出的属性窗口中找到相应的属性名称——将该属性的值修改成自己需要的值)。

各控件属性修改值(表1—1)

控件名

属性

属性修改值

PushButton1

FontSize

16

String

螺旋线

Tag

pushbuttonLxx

PushButton2

FontSize

16

String

内摆线

Tag

pushbuttonNBX

PushButton3

FontSize

16

String

圆旋转成圆环

Tag

pushbuttonCtoC

PushButton4

FontSize

16

String

退出

Tag

pushbuttonExit

Static

Text1

String

大圆半径

Static

Text2

String

小圆半径

Static

Text3

String

修正值

Static

Text4

String

圆半径

Static

Text5

String

离转轴的距离

Edit

Text1

String

空或设置成一个适定值,如10

Tag

editBCR

Edit

Text2

String

空或设置成一个适定值,如2

Tag

editSCR

Edit

Text3

String

空或设置成一个适定值,如1

Tag

editXZZ

Edit

Text4

String

空或设置成一个适定值,如4

Tag

editCR

Edit

Text5

String

空或设置成一个适定值,如10

Tag

editBExit

注:上面控件名称的编号,比如1,2之类,在界面上是没有的,只是我按照从上到下的次序,为方便叙述而编写的。最后,添加代码(在添加代码前,最好先将文件保存一下,比如以Exp8为文件名保存),添加程序代码的常用方法是:单击M-file

Editor(如图:)。

下面真正添加自己的程序,最后成的程序如下:自己添加的程序用红色表示。

function

varargout

=

Exp8(varargin)

gui_Singleton

=

1;

gui_State

=

struct(

gui_Name,mfilename,.

gui_Singleton,gui_Singleton,.

gui_OpeningFcn,@Exp8_OpeningFcn,.

gui_OutputFcn,@Exp8_OutputFcn,.

gui_LayoutFcn,[],.

gui_Callback,[]);

if

nargin

end

if

nargout

[varargout{1:nargout}]

=

gui_mainfcn(gui_State,varargin{:});

else

gui_mainfcn(gui_State,varargin{:});

end

%上面的是系统初始化代码,绝对不要去修改它们。

function

Exp8_OpeningFcn(hObject,eventdata,handles,varargin)

handles.output

=

hObject;

guidata(hObject,handles);

%这里选择了一个图片文件,作为初始画面,具体的图片可以选择自己喜欢的。

map1=imread(

Water

lilies.jpg

);

image(map1)

%上面的代码,告诉我们,一般的用户界面的自己设置的初始化状态应添加在这个函数内。

function

varargout

=

Exp8_OutputFcn(hObject,eventdata,handles)

varargout{1}

=

handles.output;

%上面的函数返回的量直接到命令窗口。

function

pushbuttonLxx_Callback(hObject,eventdata,handles)

%上面的函数是点击螺旋线按钮时,执行的代码,即可以在此处添加有关螺旋线的程序代码。

axes(handles.axes1)

cla

v=2;

alf=pi/6;

omg=pi/5;

t=0:0.01:100;

x=v*sin(alf).*cos(omg*t).*t;

y=v*sin(alf).*sin(omg*t).*t;

z=v*cos(alf).*t;

%plot3(x,y,z)

axis([-100

100

-100

100

0

160])

grid

on

axis

equal

on

comet3(x,y,z)

%上面的程序是“一质点,沿着已知圆锥面的一条直母线自圆锥的顶点起,作等速直线运动,另一方面这一条母线在圆锥面上,过圆锥的顶点绕圆锥的轴(旋转轴)作等速的转动,这时质点在圆锥面上的轨迹”的动态形成过程。

function

pushbuttonNBX_Callback(hObject,eventdata,handles)

%上面的函数是点击内摆线按钮时,执行的代码,即可以在此处添加有关内摆线的程序代码。

axes(handles.axes1)

cla

a=str2double(get(handles.editBCR,String

));

b=str2double(get(handles.editSCR,String

));

k=str2double(get(handles.editXZZ,String

));

axis([-a-2

a+2

-a-2

a+2

0

a+2])

line([-a-2,a+2],[0,0]);

hold

on

line([0,0],[-a-2,a+2]);

u=0:pi/30:2*pi;

x=a*cos(u);

y=a*sin(u);

plot(x,y)

x=b*cos(u)+a-b;

y=b*sin(u);

plot(x,y)

axis

equal

on

grid

on

theta=0:pi/1800:k*a*pi;

x=(a-b)*cos(b/a*theta)+b*cos((a-b)/a*theta);

y=(a-b)*sin(b/a*theta)-b*sin((a-b)/a*theta);

comet(x,y)

%上面的程序是内摆线的动态的形成过程

%

---

cutes

on

button

press

in

pushbuttonExit.

function

pushbuttonExit_Callback(hObject,eventdata,handles)

%上面的函数是点击退出按钮时,执行的代码,即可以在此处添加退出时的程序代码。

ss=questdlg(

你真的要退出吗?,退出信息窗口!,不,我还想看看!,是的,我要退出!,是的,我要退出!

);

switch

ss

case

是的,我要退出!

delete(handles.figure1);

end

%上面的程序是退出程序时信息窗口

function

editBCR_Callback(hObject,eventdata,handles)

%上面的函数是

editBCR这个编辑文本按钮回调时,执行的代码。

function

editBCR_CreateFcn(hObject,eventdata,handles)

if

ispc

set(hObject,BackgroundColor,white

);

else

set(hObject,BackgroundColor,get(0,defaultUicontrolBackgroundColor

));

end

%上面的函数用来在程序中设置editBCR的属性值。

function

editSCR_Callback(hObject,eventdata,handles)

%上面的函数是editSCR这个编辑文本按钮回调时,执行的代码。

function

editSCR_CreateFcn(hObject,eventdata,handles)

if

ispc

set(hObject,BackgroundColor,white

);

else

set(hObject,BackgroundColor,get(0,defaultUicontrolBackgroundColor

));

end

%上面的函数用来在程序中设置editSCR的属性值。

function

editXZZ_Callback(hObject,eventdata,handles)

%上面的函数是editXZZ这个编辑文本按钮回调时,执行的代码。

function

editXZZ_CreateFcn(hObject,eventdata,handles)

if

ispc

set(hObject,BackgroundColor,white

);

else

set(hObject,BackgroundColor,get(0,defaultUicontrolBackgroundColor

));

end

%上面的函数用来在程序中设置editXZZ的属性值。

function

pushbuttonCtoC_Callback(hObject,eventdata,handles)

%上面的函数是点击圆旋转成圆环按钮时,执行的代码,即可以在此处添加圆旋转成圆环时的程序代码。

axes(handles.axes1)

cla

%a=4;

%b=10;

a=str2double(get(handles.editCR,String

));

b=str2double(get(handles.editDist,String

));

u=0:pi/30:2*pi;

y=a.*cos(u)+b;

z=a.*sin(u);

n=length(u);

x=0*ones(1,n);

if

a

axis([-b-2

b+2

-b-2

b+2

-a-2

a+2])

else

axis([-a-2

a+2

-a-2

a+2

-b-2

b+2])

end

plot3(x,y,z)

pause(1)

for

t=0:pi/60:2*pi

x=y.*sin(t);

y1=y.*cos(t);

plot3(x,y1,z)

pause(0.1)

grid

on

hold

on

%axis

equal

on

%view([-20,0])

end

%上面的程序是圆旋转成圆环的动态的形成过程

function

editCR_Callback(hObject,eventdata,handles)

%上面的函数是editCR这个编辑文本按钮回调时,执行的代码。

function

editCR_CreateFcn(hObject,eventdata,handles)

if

ispc

set(hObject,BackgroundColor,white

);

else

set(hObject,BackgroundColor,get(0,defaultUicontrolBackgroundColor

));

end

%上面的函数用来在程序中设置editCR的属性值。

function

editDist_Callback(hObject,eventdata,handles)

function

editDist_CreateFcn(hObject,eventdata,handles)

if

ispc

set(hObject,BackgroundColor,white

);

else

set(hObject,BackgroundColor,get(0,defaultUicontrolBackgroundColor

));

end

%上面的函数用来在程序中设置editDist的属性值。

添加代码完毕后,点击保存程序代码,再单击Run(如图:)运行已经完成的程序,即可得到我们所想要的效果了。

最后,如果还想要在界面添加背景颜色,那么还可以添加Select菜单项。

首先将图形窗口的MenuBar属性设为figure,然后打开菜单编辑器,新建一个菜单项,它的Lebel属性设为Select,再在刚建的Select菜单项下建立子菜单项,其Lebel属性设为Yellow,把Callback属性设为set(gcf,’Color’,’y’)。同理,再为Select建立一个子菜单项,其Label属性和Callback属性分别设为Red和set(gcf,’Color’,’r’)。这时候再运行程序就可以了。

四、结论及分析

当程序运行成功后会出现以下界面:

主画面(图一)

当分别点击按钮“螺旋线”、“内摆线”、“圆旋转成圆环”和“退出”命令按钮时,分别出现如下列图示的动态、静态的结果:

螺旋线图(图二)

内摆线图(图三)

退出信息图(图四)

注意:你所选图片格式与图片名字要与读入图片文件的格式与文字要一致。比如在本程序设计中,添加图片的代码如下:

map1=imread(

Water

lilies.jpg

);

image(map1)

这时图片的格式为jpg,名字为Water

lilies。同时,选用的图片应该把它放在与其它文件一起的同一个文件夹里。

五、设计体会

MATLAB不仅具有强大的数值运算和符号计算功能,同时还具有非常强大的二维和三维绘图功能,尤其擅长于各种科学运算结果的可视化界面的展示。计算的可视化可以将杂乱的数据通过图形表示来从中观察出其内在的关系。

由于某些版本的MATLAB可能与电脑不兼容,所以在安装MATLAB时应该注意设置好电脑对此软件的兼容性。

由于MATLAB函数众多,而且课本上提供的都是最基本的函数功能,自己不仅要去图书馆借这方面的专业书籍来阅读,而且许多函数的编写都要用到C

语言,对C语言也有一定的要求。

通过本次课程设计,使自己对MATLAB

GUI设计流程有了比较深刻的体会,同时也了解了一般软件设计的过程。在设计过程中碰到了很多的问题,通过这些问题,使自己分析问题,解决问题的能力得到了较大的提高。

参考文献:

[1]刘卫国主编.MATLAB程序设计与应用(第二版).高等教育出版社,2006.7.

[2]陈杰等编著.MATLAB宝典.电子工业出版社,2010.

[3]蒋珉编著.MATLAB程序设计及应用.北京邮电大学出版社,2010.

[4]张学敏编著.MATLAB基础及应用.中国电力出版社,2009.

[5]张德丰编著.MATLAB程序设计与典型应用.电子工业出版社,2009.

程序清单:

正文字体为宋体,小四号,1.5倍行间距

一级标题为黑体,三号,段前段后各空一行,如

“三、设计过程”

二级标题为黑体,小三号,段前段后各空半行,如

“3.1

设计主界面介绍”

三级标题为黑体,四号,段前段后各空半行,如

“3.1.1

Help菜单设计”

图要有图号图名,标注在图的正下方,居中对齐,宋体,五号

表要有表序表名,标注在表的正上方,居中对齐,表格左右不加边线,宋体,五号

天很蓝 2022-07-16 23:43:03

相关推荐

人不如旧 衣不如新的意思

人不如旧,衣不如新的意思是:衣服是新的好,朋友是旧的好。(因此旧的东西或朋友不可轻易舍弃)形容事物的前后比较。“衣不如新,人不如故”可以用作宾语、定语,一般常用作书面语。这句话最早出自于《晏子春秋·第五卷内篇杂...
展开详情

无人与我是什么

无人与我,意思是:没有人和我一起。“无人”,是一个汉语词汇,是没有人才、没有人、没人在的意思,出自《史记·范雎蔡泽列传》:“秦王屏左右,宫中虚无人。”...
展开详情

古人读书的方法

读书有很多种方法,适合自己的才是最好的,让我们来看看古代名人都是怎么读书的,并从中借鉴一些好的读书方法。1、董遇:“三余”读书法汉代的著名学者董遇提倡利用“三余”时间读书。他说:“冬者岁之余,夜者日之余,雨者晴...
展开详情

集中注意力的基础是

集中注意力的基础是对大脑进行科学的锻炼,促使脑神经变得发达和强壮。注意力是指人的心理活动指向和集中于某种事物的能力。“注意”,是一个古老而又永恒的话题。俄罗斯教育家乌申斯基曾精辟地指出:“注意是我们心灵的唯一门...
展开详情

一年之计在于春,一日之计在于晨是什么意思

这句话的意思是:只有在春天辛勤劳动才能获得丰收,一天最宝贵的时间是早晨。这句话一般用于激励人刻苦学习,充分利用学习时间,达到提升自我的目的!出处有:1、南朝·梁·萧绎《纂要》:“一年之计在于春,一日之计在于晨。...
展开详情

精选推荐更多>

七个字的对联

七个字的对联有:
1、上联:花柳新春莺燕舞。下联:风云盛世骏骐驰。
2、上联:人欢马叫丰收岁。下联:狮舞龙腾改革潮。
3、上联:人得春风牛得草。下联:国扬威力马扬蹄。
4、上联:水如碧玉山如黛。下联:人奋雄心马奋蹄。
5、上联:奔彼岸千帆竞渡。下联:越坦途万马扬鞭。
6、上联:奔腾骏马驰大道。下联:浩荡春风遍神州。
7、上联:伯乐明眸识好马。下联:良才妙手展宏图。
8、上联:伯乐选贤识骏骥。下联:英雄酬志效鲲鹏。
9、上联:一庭春色含生意。下联:几树梅花应早春。

关于咏雪的诗5首

关于咏雪的诗5首:
1、《江雪》唐代柳宗元:
千山鸟飞绝,万径人踪灭。
孤舟蓑笠翁,独钓寒江雪。
译文:
所有的山,飞鸟全都断绝;所有的路,不见人影踪迹。
江上孤舟,渔翁披蓑戴笠;独自垂钓,不怕冰雪侵袭。
2、《春雪》唐代韩愈:
新年都未有芳华,二月初惊见草芽。
白雪却嫌春色晚,故穿庭树作飞花。
译文:
新年都已来到,但还看不到芬芳的鲜花,到二月,才惊喜地发现有小草冒出了新芽。
白雪也嫌春色来得太晚了,所以有意化作花儿在庭院树间穿飞。
3、《雪》唐代罗隐:
尽道丰年瑞,丰年事若何。
长安有贫者,为瑞不宜多。
译文:
都说瑞雪兆丰年,丰年情况将如何?
长安城里有穷人,我说瑞雪不宜多。
4、《夜雪》唐代白居易:
已讶衾枕冷,复见窗户明。
夜深知雪重,时闻折竹声。
译文:
夜卧枕被如冰,不由让我很惊讶,又看见窗户被白雪泛出的光照亮。
夜深的时候就知道雪下得很大,是因为不时地能听到雪把竹枝压折的声音。
5、《赴京途中遇雪》孟浩然:
迢递秦京道,苍茫岁暮天。穷阴连晦朔,积雪满山川。
落雁迷沙渚,饥乌集野田。客愁空伫立,不见有人烟。
译文:
通往京城长安的路还很长,抬头看天,满眼苍茫。连续几日的阴天,积雪也铺满了山川。
大雁为了活着,在雪地里觅食却迷失了方向,一群乌鸦在田野里鸣叫不停。我发愁而茫然站立,四处也不见有人烟。

陡然和骤然的区别

“陡然”和“骤然”的区别是意思不同和出处不同。
一、意思不同:
“陡然”:形容猝不及防,令人感到意外。
“骤然”:来的很突然,没有任何的征兆,一下子就发生了,没给任何准备。
二、出处不同:
“陡然”:
1、《剪灯馀话·江庙泥记》:“奴等蒲柳陋姿,丹铅弱质,偶得接见於光范,陡然忽动其柔情,莫或自持,是不可忍,故冒禁而相就,遂犯礼以私奔。”
2、《官场现形记》:“陶子尧不听则已,听了之时,陡然变色,便说:‘这夜叉婆不知同我那一世的对头!我走到那里,他跟到那里!’”
“骤然”:
1、《醒世恒言·三孝廉让产立高名》:“汉时法度甚妙:但是举过某人孝廉,其人若果然有才有德,不拘资格,骤然升擢,连举主俱纪录受赏。”
2、《朱子语类》:“变则骤然而长,变是自无而有。”
“陡然”造句:
1、爬上最高的境界,你会陡然发现:那里的景色竟然是你司空见惯的。
2、夕阳似乎陡然从地平线上断裂了,无声无息地消失,对面山口上,只残留着一条血红。
3、穿过后门,陡然出现在我眼前的是:绿色的野草,绿色的榆槐。绿色的菜地,绿得让人赏心悦目。
“骤然”造句:
1、一场暴雨骤然降临,令人猝不及防。
2、平静的海面骤然掀起了风浪。
3、一场风雪过后,天气骤然变冷了。

明暗无辄的意思

“明暗无辄”的意思是忽明忽暗没有规律。是对事物的一种抽象的说法,表示看不出来有什么痕迹,有时候也表示现实生活无法改变很无奈的意思。无辄:无可奈何。
原句:生生灯火,明暗无辄,生生你我,离别无辄。 猝不及防,花开两朵。
译文:你与我之间的缘分就像灯火一般,总是在你明我暗之间错过,我面对着你的离别却无可奈何。时过境迁,你我再相逢之时,一别两宽各生欢喜。
常见热点问答
热点搜索
1-20
21-40
41-60
61-80
81-100
101-120
121-140
141-160
161-180
181-200
作文大全
1-20
21-40
41-60
61-80
81-100
101-120
121-140
141-160
161-180
181-200