matlab课程设计含源代码

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、课程设计的意义

通常在开发一个实际的应用程序时都会尽量做到界面友好,最常用的方法就是使用图形界面,而Matlab是一门面向对象的语言。提供图形用户界面的应用程序能够使用的学习和使用更为方便容易。用户不需要知道应用程序究竟是怎样执行各种命令的,而只需要了解可见界面组件的使用方法;用户也不需要知道命令是怎样执行的,只要通过与界面交互就可以是指定的行为得以正确执行,这比用在DOS环境下运行的程序交互性友好。

在Matlab中,图形用户界面是一种包含多种对象的图形窗口。用户必须对每一种对象进行界面布局和编程,从而使用户激活GUI每个对象时都能够执行相应的行为。另外,用户必须保存和发布所创建的GUI,使得GUI能够真正地得到应用。

Matlab为用户开发图形界面提供了一个方便高效的集成开发环境:Matlab图形用户界面开发环境GUIDE。上述所有工作都能够使用GUIDE方便地实现,GUIDE主要是一个界面设计工具集,Matlab将所有GUIDE支持的用户控件都集成在这个环境中并提供界面外观、属性和行为响应方式的设置方法。GUIDE将用户保存设计好的GUIDE界面保存在一个Fig资源文件中,同时还能够生成包含GUI初始化和组件界面布局控制的M文件。这个M文件为实现回调函数提供了一个参考框架。

这次不到一周课程设计使我对Matlab有了更深刻的认识,尤其是编程方面,掌握了一些编程思维,这对我们以后再学习其它语言是有很大的益处的,掌握一种编程思维方式比多学几门语言都有用。

二、课程设计的要求

1.用GUI设计一个计算器要求至少完成加、减、乘、除功能;扩充:矩阵运算(加、减、点乘,点除,乘,除,乘方等)-

2.设计一个绘图界面要求能选择绘制二维曲线,三维曲线,三维网格,三维曲面,柱状图,饼图等功能。

要求界面要整齐划一,富有美感。

}

需求分析和总体设计

一、任务描述

1.课程设计目标

用GUIDE编写一个简易计算器和一个能自动画图的程序。

2.功能描述

(1).计算器能实现的功能

加、减、乘、除、乘方、开方;

可以后退、清零;

可以更换背景颜色、查看帮助等操作。

(2).画图程序能实现的功能

可以画出二维曲线、三维曲线、三维网格、三维曲面、柱状图、饼图;

有简单菜单(就包括一项:文件)。

二、任务设计

1.计算器

`

(1).运行Matlab主程序;

(2).新建Gui文件命名为“”;

(3).在出现的界面创建需要的文本框(tag为wenben),按钮:0、1、2、3、4、5、6、7、8、9、CE(清零)、backplace(后退)、'+'、'-' 、 '*'、

'÷'、'√'、 '∧'、 '.' ,菜单:(文件,关闭);背景色(浅紫色,浅绿色,粉红色,默认色);帮助(关于)。

(4).编写M文件。

2.画图

(1).运行Matlab主程序;

(2).新建Gui文件并命名为“”;

:

(3).再出现的界面创建需要的坐标系(tag为zuobiaoxi),

按钮:二维曲线、三位曲线、三维网格、三维曲面、柱状图、饼状图;

(4).将它们的tag都设为它们的汉语拼音;

(5).编写M文件。

第3章编码

一、$

二、代码编写步骤

1、计算器

(1).主函数

在主函数fanction wodejisuanqi-OpeningFcn中编写主函数代码。先申请一个全局变量s ,用于判断文本框里的字符串是不是有:'+'、'-' 、 '*'、'÷',如果有的话,就把s置为1,否则,置为0。再获得文本框中字符串的句柄,并赋给变量h。申请全局变量p,为了判断响应等号时文本框里的运算符号,其中令p='\'是没有实际意义的,只是为了判断运算符不是加减乘除中的任一个。代码如下:

global s ;

h=get,'string');

switch(h)

case{'+','-','*','\'}

s=1;

otherwise

s=0;

end

global p;

p='\';

(2).数字函数

在这个函数里主要是判断文本框里是不是有加减乘除符号,

如果有的话,就把文本框中的字符串设置为数字,否则,再判断是不是0,是的话,就把文本框中的值置为数字,不是的话,就把数字连接到文本框中的字符串上。代码如下(以0为例):—

global s;

hh=; %把文本框的句柄赋给hh

if(s==1)

set(hh,'string','0');

s=0; %把s再次置为0,为了下次判断不出错

elseif(s==0)

h=get(hh,'string');

switch(h) %在判断h是否为0

)

case '0';

set(hh,'string','0');

otherwise

t=strcat(h,'0'); %把0连接到原有的字符后面

set(hh,'string',t);

end

end

(3).小数点函数

/

判断原来文本框里有几个小数点,如果有的话,就保持不变,否则,加上小数点。判断方法是用strfind函数,测试其返回的矩阵大小。代码如下:

hh=;

a=get(hh,'string');

set(hh,'string','.');

b=get(hh,'string');

c=strcat(a,'.');

[p,q]=size(m); %测试矩阵m

if q>=1

set(hh,'string',a);

else

set(hh,'string',c);

相关文档
最新文档