应用软件毕业课程设计报告13504228汪龙.docx

上传人:b****4 文档编号:4238516 上传时间:2022-11-28 格式:DOCX 页数:13 大小:1.45MB
下载 相关 举报
应用软件毕业课程设计报告13504228汪龙.docx_第1页
第1页 / 共13页
应用软件毕业课程设计报告13504228汪龙.docx_第2页
第2页 / 共13页
应用软件毕业课程设计报告13504228汪龙.docx_第3页
第3页 / 共13页
应用软件毕业课程设计报告13504228汪龙.docx_第4页
第4页 / 共13页
应用软件毕业课程设计报告13504228汪龙.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

应用软件毕业课程设计报告13504228汪龙.docx

《应用软件毕业课程设计报告13504228汪龙.docx》由会员分享,可在线阅读,更多相关《应用软件毕业课程设计报告13504228汪龙.docx(13页珍藏版)》请在冰豆网上搜索。

应用软件毕业课程设计报告13504228汪龙.docx

应用软件毕业课程设计报告13504228汪龙

(此文档为word格式,下载后您可任意编辑修改!

应用软件课程设计报告

设计题目:

Matlab计算器

班级:

软件1011

姓名:

雷军

学号:

4

目录

1.设计目标……………………………………………………………

2.设计内容……………………………………………………………

3.设计思想……………………………………………………………

4.设计说明……………………………………………………………

5.设计步骤……………………………………………………………

6.程序主要代码………………………………………………………

7.难点分析……………………………………………………………

8.使用说明……………………………………………………………

9.总结…………………………………………………………………

计算器(Matlab)

1.设计目标

因为matlab具有强大的科学计算功能,相比较vb而言的它界面友好性不如vb,但他的计算功能优于vb,而且自己没学vb,但对matlab很感兴趣所以我选择了利用matlab做了一个简易的计算器,

2.设计内容

以简易计算器为例,通过对简单应用软件计算器的设计,编制、调试,实现简单的加,减,乘,除,正弦,余弦等运算,以学习应用Matlab编写程序原理,加深对Matlab的学习及应用。

3.设计思想

基于Matlab中GUI界面的设计,通过运用文本框和按钮命令,编辑文本框和按钮的callback,OutputFcn,CreateFcn,ButtonDownFcn等属性去连接和调用matalb自带的函数去实现各种运算,而且又结合matlab语音合成理论对每个按钮赋予了不同的声音,最后应用matlab和vc混合编程基本理论去生成可执行文件进而可以独立于matlab环境独立运行。

4.设计说明

(1)包含的功能有:

加、减、乘、除运算,开方、三角函数等功能。

(2)计算器上数字0—9为一个控件数组使用相同的句式结构,加、减、乘、三角函数为一个控件数组使用相同的句式结构,小数点和括号‘(’使用了相同的语法结构。

其余的控件退格(DEL)、退出、归零(C)各使用了不同的语句

(3)其中包含了输入显示和结果显示

(4)计算功能基本上是用系统内部函数。

(5)“C”按钮可以清除所有已输入的数据从头计算,‘DEL’按钮可以清除上一次输入的数据,‘退出’按钮可以退出该计算器

(6)该计算器不仅能实现连加、连乘、连除,还可以实现混合运算

(7)值得自己高兴的是自己给计算器的每个按键加上了声音

5.设计步骤

(1)打开GUI界面如

(2)在生成的设计界面中加入控件,得到登陆应用界面和计算器界面。

如图:

(3)为控件编辑框编辑Tag(只是附带上了计算器的控件),如图:

按钮名称

Tag

用途

0

pushbutton10

按键0

1

Pushbutton1

按键1

2

Pushbutton2

按键2

3

Pushbutton3

按键3

4

Pushbutton4

按键4

5

Pushbutton5

按键5

6

Pushbutton6

按键6

7

Pushbutton7

按键7

8

pushbutton8

按键8

9

pushbutton9

按键9

.

xiao

按键.

+

add

-

plus

减或负号

×

chen

chu

C

guining

清零

DEL

dele

删除

退出

tuichu

退出

=

result

等于

sin

sin

Sin三角函数

cos

cos

Cos三角函数

tan

tan

tan三角函数

sqrt

sqrt

开方

kuohu

 

kuojhu1

edit1

edit1

显示输入的数据

edit2

edit2

显示结果

π

pi

圆周率π

角度°

jiaoduhuanhudu

Matalb只认弧度,因此这功能是将输入的角度转化成弧度进行运算

(4)对每个控件和文本框进行程序编辑见6主要程序代码

(5)调试修改程序在此期间对程序和界面进行了多次修改调试才完成最终的计算器界面

(6)生成可执行文件:

下面以win7系统进行说明

1.要求:

电脑必须安装matalb和相兼容的vc

2.我安装的是matlab2011a和vs2011express这两者是相互兼容的

3.具体步骤:

(1)打开matlab在命令窗口输入mbuild-setup

(2)在输入mcc–m文件名.m就可生成可执行文件

生成了可执行文件a1.exe计算器

6.程序主要代码

登陆界面的程序

functionvarargout=a1(varargin)

gui_Singleton=1;

gui_State=struct('gui_Name',mfilename,...

'gui_Singleton',gui_Singleton,...

'gui_OpeningFcn',@a1_OpeningFcn,...

'gui_OutputFcn',@a1_OutputFcn,...

'gui_LayoutFcn',[],...

'gui_Callback',[]);

ifnargin&&ischar(varargin{1})

gui_State.gui_Callback=str2func(varargin{1});

end

ifnargout

[varargout{1:

nargout}]=gui_mainfcn(gui_State,varargin{:

});

else

gui_mainfcn(gui_State,varargin{:

});

end

以上是matalb自带的初始化

functiona1_OpeningFcn()

varargout=a1_OutputFcn(a1_user_Callback(a1_user_CreateFcn(a1_code_Callback(a1_code_CreateFcn(a1_cancer_Callback(a1_ok_Callback(figure1_ResizeFcn(a1_code_KeyPressFcn(figure1_CreateFcn(varargout=calculator(varargin)

%我的计算器,重要运用了文本框和按钮。

__

gui_Singleton=1;

gui_State=struct('gui_Name',mfilename,...

'gui_Singleton',gui_Singleton,...

'gui_OpeningFcn',@calculator_OpeningFcn,...

'gui_OutputFcn',@calculator_OutputFcn,...

'gui_LayoutFcn',[],...

'gui_Callback',[]);

ifnargin&&ischar(varargin{1})

gui_State.gui_Callback=str2func(varargin{1});

end

ifnargout

[varargout{1:

nargout}]=gui_mainfcn(gui_State,varargin{:

});

else

gui_mainfcn(gui_State,varargin{:

});

end

functioncalculator_OpeningFcn()

arereturnedtothecommandline.

functionvarargout=calculator_OutputFcn(buttonpressinpushbutton1.

functionpushbutton1_Callback(buttonpressinpushbutton2.

functionpushbutton2_Callback(buttonpressinpushbutton3.

functionpushbutton3_Callback(buttonpressinpushbutton4.

functionpushbutton4_Callback(buttonpressinpushbutton5.

functionpushbutton5_Callback(buttonpressinpushbutton6.

functionpushbutton6_Callback(buttonpressinpushbutton7.

functionpushbutton7_Callback(buttonpressinpushbutton8.

functionpushbutton8_Callback(buttonpressinpushbutton9.

functionpushbutton9_Callback(buttonpressinpushbutton10.

functionpushbutton10_Callback(edit1_Callback(afutureversionofMATLAB

%,aftersettingallproperties.

functionedit1_CreateFcn(afutureversionofMATLAB

%Windows.

%SeeISPCandCOMPUTER.

ifispc

set(edit2_Callback(afutureversionofMATLAB

%,aftersettingallproperties.

functionedit2_CreateFcn(afutureversionofMATLAB

%Windows.

%SeeISPCandCOMPUTER.

ifispc

set(add_Callback(buttonpressinplus.

functionplus_Callback(buttonpressinchen.

functionchen_Callback(buttonpressinchu.

functionchu_Callback(buttonpressintuichu.

functiontuichu_Callback(guining_Callback(xiao_Callback(=[1:

1000];%每个数字1000个采样点表示

d0=1+sin(17*n);%对应行频列频叠加

wavplay(d0,8192);%产生拨号音

%连接当前的字符串和1,如果按了1键的话。

result_Callback(buttonpressindele.

functiondele_Callback(afutureversionofMATLAB

%menu1_Callback(afutureversionofMATLAB

%,aftersettingallproperties.

functionfigure1_CreateFcn(afutureversionofMATLAB

%,aftersettingallproperties.

functionuipanel2_CreateFcn(afutureversionofMATLAB

%buttonpressinsin.

functionsin_Callback((seeGCBO)

%eventdatareserved-tobedefinedinafutureversionofMATLAB

%buttonpressincos.

functioncos_Callback(afutureversionofMATLAB

%buttonpressintan.

functiontan_Callback((seeGCBO)

%eventdatareserved-tobedefinedinafutureversionofMATLAB

%buttonpressinsqrt.

functionsqrt_Callback(afutureversionofMATLAB

%buttonpressinkuohu.

functionkuohu_Callback(afutureversionofMATLAB

%buttonpressinkuohu1.

functionkuohu1_Callback(afutureversionofMATLAB

%buttonpressinpi.

functionpi_Callback(afutureversionofMATLAB

%buttonpressinjiaoduhuachenghudu.

functionjiaoduhuachenghudu_Callback(afutureversionofMATLAB

%(96)的时候没改语句之前,当输入‘)’出现了‘sin)’将前面的字符覆盖后来经过尝试将‘(’的callback改为handles.current_str=strcat(handles.current_str,'(');

guidata(hObject,handles);解决了这个问题。

(4)兼容性问题:

1.在64位机上运行出来的程序在32位机上运行不了不兼容,然后我在自己电脑上做的64位机器的,又去计算机中心做的xp32位机的2.win7生成的文件xp机器不能运行,自己做了两份一份是win764位的,一份是xp32位,win732位的没有做,因为没有找到合适的电脑:

生成可执行文件必须安装matalb和相兼容的vc,而且很多人安装的vc都是精简版的没有comomn这个文件,不能生成可执行文件,因此没有win732位的

8.使用说明

调试运行:

在没有安装matlab的机器上安装必须将生成的exe文件以及原文件还有相对应的“MCRinstaller.exe“文件拷到相同的文件夹进行运行例如:

以xp系统为例:

首先将xp32位拷到某一位置,先点击运行MCRinstaller.exe,完成以后在运行a1.exe即可使用我所做的计算器

第一步:

点击运行MCRinstaller.exe出现以下界面

点击next,让安装程序运行完

第二步点击运行a1.exe文件出现以下界面

大概十多秒钟出现登陆界面

用户名:

汪龙

密码:

0942

之后进入计算器界面进行一些运算如下图:

计算器计算说明:

1.三角函数.开方函数使用时必须加括号

2.由于matalb在计算三角函数时只认弧度制所以计算时要将角度换成弧度在计算器中我加了‘角度°’这个按钮进行实现

9.总结

应用软件课程设计到此已告一段落,经过自己的努力,在将近一个多月的时间里自己慢慢摸索一天天积累终于完成了课程设计。

从中学到很多有用的知识,也积累了不少宝贵的经验。

从一开始的陌生,在不断的翻阅书籍学习中开始渐渐的有所了解,虽然在此次应用课程设计只是设计了一个计算器,但也体会到了matalbGUI的博大精深。

想精通GUI,今后还需多下功夫。

本次课程设计我完成了一个简易计算器应用软件,在此期间,遇上了不少的技术难题,但是经过努力,通过查找资料,难题还是一个个被解决了,自己很庆幸的是结合matlab语音合成的理论用matalb采集了自己声音的频谱,给每个按键结合自己声音的频谱赋予了声音,从中学到了许多课堂上没学到的东西,这是很值得高兴的。

经过设计的各个环节,从中学到了很多,锻炼了matlab编程能力,培养了自己的耐心。

这样对我以后在学习中得到很好的锻炼,

在本次应用软件设计期间对简易计算器的设计虽然大体实现各个控件的功能,但仍存在许多的不足与漏洞,例如当输入出错时不能报错等还待以后的不断学习进一步完善。

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

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

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

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