用Matlab制作一个你专属的App!(如何用matlab制作软件)

MATLAB是一款功能强大的软件,我们不仅可以通过编写代码来实现各种功能,还可以使用它的GUI(Graphical User Interface)界面,让我们编写的程序,通过图形直观地输出。接下来我就通过一个简单例子大概介绍介绍一下GUI界面的编写的过程,并进行封装生成exe文件,即使不打开Matlab也可以独立运行,真正打造属于你自己的App

首先,我们来新建一个GUI界面,我们可以通过再命令行窗口输入guide,来打开新建GUI界面或者通过依此点击>新建>App>GUIDE 来打开新建GUI界面的窗口,具体如下图所显示

用Matlab制作一个你专属的App!(如何用matlab制作软件)

已保存

用Matlab制作一个你专属的App!(如何用matlab制作软件)

新建一个空的GUI后,会弹出一个窗口,如下图所示

用Matlab制作一个你专属的App!(如何用matlab制作软件)

可以看可以看到界面的左边有很多的小图标,这些就是GUI中的控件也是我们要进行操作的对象。不同的控件具有不同的功能,有只用来显示文字的文本框、可编辑的文本框、按钮等等。我就不做一一介绍,在这里只介绍几个简单常用的控件,如下图所示。

用Matlab制作一个你专属的App!(如何用matlab制作软件)

图中列举了几个简单常用的控件,我们从上到下依次介绍

  1. 按钮:顾名思义就像生活中的按钮一样,可以按下并实现某些功能,我们在GUI中的很多操作可以通过点击按钮来完成。
  2. 可编辑文本:字面上就能看出来,在这个文本框内,里面的内容我们是可以编辑的。
  3. 静态文本:不可编辑的文本,通常用来对某些控件进行说明。
  4. 弹出式菜单:对它进行操作的时候会弹出我们事先设定的选项供我们选择。
  5. 坐标轴:这个大家可以理解成一个用来显示图片,进行绘画的界面部分就行。

接下来就是在GUI中如何来操作这些控件,在此之前,我们需要先来了解,我们能操纵控件的什么(也就是控件的属性)。控件都有哪些属性呢,我们以可编辑文本为例做说明,当我们新建一个可编辑文本后,双击这个控件,就会弹出下图所示的界面

用Matlab制作一个你专属的App!(如何用matlab制作软件)

界面左侧就是可编辑文本框各个属性的名称如字体大小、字体颜色、‘String’等等,右边对应了属性的值或者内容,我们可以在这里进行直接编辑或者像通过代码进行编辑。同样的我们也可以通过代码来获取控件各个属性,正是基于这个我们才能通过GUI来实现各个控件的联动,从而实现我们想要达到的效果。在属性界面,尤其要注意的就是图上中红色框框标出的部分,见下图。

用Matlab制作一个你专属的App!(如何用matlab制作软件)

String的内容表示了控件显示出来的文本,Style则是控件的类型,Tag表示了控件的名称。在编写代码的时候我们通常会使用set这个语句来设置某个控件的属性或者使用get来获得某个控件的属性。下面我们以一个简单的例子来演示GUI界面的编写过程。

现如今房价越来越贵,大家买房子的时候很少有人会取全款买房,贷款买房是大多数人的选择。可是贷款的时候不同的利率,不同的还款方式,贷款的金额,年限等等都会影响我们最后的还款金额。那么我们在这里就用Matlab的GUI界面来做一个贷款App吧。考虑到贷款要考虑的因素,我们可以设计如下的GUI界面

用Matlab制作一个你专属的App!(如何用matlab制作软件)

红色框框用到了静态文本用来表明左侧的文本对应的内容是什么,绿色框框用到了可编辑文本,在运行GUI界面的时候我们可以改动里面的内容。蓝色的是

弹出式菜单,对应的里面设置的是还款方式(等额本金和等额本息),我们在其String属性里面设置

如下图:

用Matlab制作一个你专属的App!(如何用matlab制作软件)

在String里面每一行表示一个选项,我们对应的分别是等额本金和等额本息。黄色框框就是坐标轴控件,这里用来显示我们贷款后每个月还款的金额。紫色框框里面用到的是按钮控件,我们预计的结果就是所有参数输入完毕后点击一下按钮,就能在坐标轴里面显示每个月的还款额度,并在最下面输出我们总共要付的利息。对于可编辑的控件当我们使用鼠标右键单机的时候会弹出一个对话框,我们可以在“查看回调”对应的下拉选项中选择一个编程来实现功能,最长用到的就是callback。比如在我们的例子中要实现鼠标左键单击‘计算’按钮,在界面输出贷款结果,那么我们可以鼠标右键单击计算按钮,点开查看回调中的callback,来创建‘计算’这个按钮控件的回调函数。如下图:

用Matlab制作一个你专属的App!(如何用matlab制作软件)

点开之后就会出现一个代码框如下图

用Matlab制作一个你专属的App!(如何用matlab制作软件)

图中function pushbutton3_Callback(~,~handles)就是‘计算’按钮的的回调函数,由于我这之前没有更改计算按钮的Tag属性(也就是控件的ID),所以这里现实的是pushbutton3,当我们改表属性Tag为pushbutton_jisuan,然后显示就变成了下图所示

用Matlab制作一个你专属的App!(如何用matlab制作软件)

然后我们就可以在里面输入代码来实现我们想要的功能。在我们这个例子中,整个GUI只需要在这里编写代码,具体代码如下:


huankuan=get(handles.popupmenu_huankuan,\’Value\’);%通过读取控件Value来获取贷款方式

r=str2double(get(handles.edit_lilv,\’string\’))*…%换行

(1 str2double(get(handles.edit_fudong,\’string\’))/100)/1200;%获取并计算月利率

yihang=get(handles.edit_yinhang,\’String\’);%获取贷款银行

H=str2double(get(handles.edit_daikuannian,\’string\’))*12;%获取贷款期数

P=str2double(get(handles.edit_jine,\’string\’));

axes(handles.axes1);

switch huankuan

case 1 % 等额本金

for M=1:H

A(M)=P*10000/H (1-(M-1)/H)*P*r*10000;%等额本金计算公式

end

plot([1:H],A)

% ylim([min(A)-500 max(A) 500]);

xlim([0 H]);

title(yihang);

ylabel(\’每月还款金额(元)\’);

xlabel(\’还款月份\’);

case 2 % 等额本息

for M=1:H

A(M)=P*10000*r*((1 r)^H/((1 r)^H-1));

end

plot([1:H],A)

xlim([0 H]);

title(yihang)

ylabel(\’每月还款金额(元)\’);

xlabel(\’还款月份\’);

end

L=(sum(A)-P*10000)/10000;%计算总利息

set(handles.text_lixi,\’String\’,num2str(L));%在文本框lixi中显示总利息


对于新手来说一定要注意handles.xxx,这里的xxx对应的是每个控件的Tag。还有就是要注意数据的属性,要显示出来的都是字符型,我们直接从控件读取的都是字符型,需要使用str2double或者str2num函数转换成可以计算的数字型。同样的,当我们通过代码设置控件的‘String’属性的时候需要将计算的数字用num2str转换成字符型才能使用。

都弄好之后我们点击保存,命名为daikuan。然后我们就能看到有两个文件保存了下来,如下图

用Matlab制作一个你专属的App!(如何用matlab制作软件)

分别是m文件和fig文件,对应的是代码文件和图形界面文件,两个文件之间是相互联动的,想要运行我们刚刚编写好的GUI,这两个文件去缺一不可。

当这两个文件在Matlab的工作路径下的时候我们可以双击fig文件打开GUI或者双击m文件,然后点击编辑器里面的‘运行’按钮打开GUI。打开后的界面如下图所示

用Matlab制作一个你专属的App!(如何用matlab制作软件)

假如我们选择工商银行贷款,贷款金额为100万元,贷款期限为30年,年利率是4.9%,利率上浮20%。那么选用等额本金和等额本息的计算出来的还款图就如下图所示

用Matlab制作一个你专属的App!(如何用matlab制作软件)

最后我们把制作好的GUI界面封装成exe文件来脱离Matlab独立运行。

我们可以在命令行窗口输入deploytool这个代码或者通过Matlab>App>Application Compiler,来打开Application Compiler。打开后如下图所示

用Matlab制作一个你专属的App!(如何用matlab制作软件)

在选好daikuai.m文件后,我们还可以自己设置App图标以及各种软件信息,如下图

用Matlab制作一个你专属的App!(如何用matlab制作软件)

输出有两种,一种文件较小,运行的时候需要额外安装一些软件(如果已经装了Matlab则不需要),另一种文件很大是可以完全独立运行的(不需要安装Matlab)。这里我们选择最小的那个,然后点击Package进行封装生成EXE文件。然后找到生成文件路径,双击打开新生成for_test文件夹下的daikuan,同样也能够开始贷款计算啦,此时你不需要运行Matlab!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2023年4月26日 上午10:23
下一篇 2023年4月26日 上午10:39

相关推荐

  • 【学法】新闻记者证管理办法(2020年新闻记者证管理办法)

    新 闻 记 者 证 管 理 办 法 第一章 总  则   第一条 为规范新闻记者证的管理,保障新闻记者的正常采访活动,维护新闻记者和社会公众的合法权益,根据有关法规和国务院决定,制…

    科研百科 2024年6月22日
    42
  • mac微信多开

    mac微信多开mac微信多开,最近它经常使用,一直都是有很好的功能,是非常有意义的一个功能,要是经常用,每天很有意义,但是现在对很多用户来说,很有意思,想看看它的价值,这样,在社交…

    科研百科 2024年11月19日
    0
  • 祝贺!这些党员党组织被命名

    6月29日,“蓉城先锋·成都力量”——走进东安湖活力城片区暨2023年全市示范基层党组织和党员示范标兵命名仪式在龙泉驿区举行。 记者了解到,现场命名了2023年度“蓉城先锋”示范基…

    科研百科 2023年9月26日
    308
  • 高校甘肃省教育科研项目

    高校甘肃省教育科研项目 近年来,甘肃省教育领域的发展受到了广泛关注。为了推进甘肃省教育事业的健康发展,许多高校都在积极开展各项教育科研项目。本文将介绍一些典型的高校甘肃省教育科研项…

    科研百科 2024年8月13日
    22
  • 自己已经大二了,挂过一科,什么荣誉证书都没有,考研还有…(大二有挂科的还能考研不)

    挂过一科并没有完全影响您考研的机会。考研对于这种情况的要求可能会有所增加,但仍然存在考研的机会。以下是一些建议来增加您考研的机会: 1. 加强对挂科科目的学习:重新复习该科目,找出…

    科研百科 2024年4月9日
    64
  • 低代码平台行业产品

    低代码平台行业产品是近年来快速发展的一种创新型技术产品。随着数字化转型的推进,企业对于快速开发高质量应用程序的需求日益增长,低代码平台应运而生。 低代码平台是一种开发工具,它通过图…

    科研百科 2024年3月1日
    49
  • 做深做实党建联盟 引领片区化组团发展(区域党建联盟 实施方案)

    来源:中国路桥新闻网 □全媒体记者 项薇 “当前,党建引领乡村振兴,由‘串点成线’迈入了‘强片拓面’新阶段,但也存在联建不连心、不连人、不连事的问题。”区党代表任华远带来了一份做深…

    科研百科 2024年5月29日
    48
  • 工程管理系统报价

    工程管理系统报价:提升工作效率,降低成本 随着数字化时代的到来,工程管理系统报价已经成为现代项目管理中不可或缺的一部分。一个好的工程管理系统报价能够帮助企业更好地管理项目,提高工作…

    科研百科 2024年10月2日
    14
  • 企业合同管理规定

    企业合同管理规定 为加强企业合同管理,规范合同签订和履行行为,保护企业的合法权益,根据《中华人民共和国合同法》等相关法律法规的规定,制定本管理规定。 一、适用范围 本管理规定适用于…

    科研百科 2024年9月16日
    21
  • 一个科研项目在立项后应该怎么做(科研项目立项后的下一步)

    科研项目立项后的下一步 科研项目立项是一个重要的里程碑,标志着研究计划正式开始。下一步则是确保项目能够按计划进行,并取得预期成果的关键步骤。 在下一步中,需要完成以下任务: 1. …

    科研百科 2024年8月2日
    51