Matlab APP编写并打包

本文详细介绍了MATLAB中编写APP的前期准备,包括环境配置、App获取,以及APP的组件功能如按键、下拉框、文本区域等的使用。重点讲述了回调函数和初始化函数的编写,以及如何打包APP并解决生成exe过程中遇到的问题,如xlsread函数的替换和数据处理调整。

目录

1、前期准备

1.1环境配置

1.2App获取

2、编写APP

2.1常用组件功能介绍

2.1.1 按键

 2.1.2 下拉框

2.1.3 文本区域

 2.1.4 HTML控件

2.1.5 选项卡

2.1.6 编辑字段

2.1.7 表格

2.2App函数的编写

2.2.1回调函数

2.2.2初始化函数

2.3对App的理解

3、打包APP

        3.1操作步骤

         3.2生成exe踩的坑

4、最后

1、前期准备

        要编写APP之前首先要配置环境,环境配置好了才能进行后续操作,如果环境没有配置那么必然不可能成功运行。

1.1环境配置

        打开matlab之后,在命令行输入mcr。

        由于环境没有配置,所以会报错的,找不到Runtime。

        根据命令提示,在命令行输入compiler.runtime.download

        由于matlab自身下载非常慢所以,要去另一个地方下载(网页),那么此时的操作为在命令行窗口按下CTRL+C,没看错就是这个组合键,这不是复制而是matlab中的命令停止,输入之后会得到以下输出:

        将上图中的网站复制并粘贴到网页上即可下载,每个matlab版本对应不同的Runtime版本,这个方法是最简单的下载方法,不必去matlab官网上寻找。

        

        下载完毕之后在matlab中配置:

        将下载的压缩包选中,不要压缩,不要压缩,不要压缩。

1.2App获取

        获取的这个app为了后续打包服务。

2、编写APP

        App的编写相对而言比较简单,但是APP的编写难度会根据想要实现功能的复杂性而上升,主要是调试难度大。

        点击matlab中的新建,建立APP。

2.1常用组件功能介绍

        常用的组件为:按键、下拉框、文本区域。

2.1.1 按键

        按键,功能很简单,就是点一下执行相关任务,这个任务就是回调函数。

         右键按键即可添加回调函数。

         在回调函数中可以任意编写代码。

 2.1.2 下拉框

        下拉框也比较常见

        唯一需要注意的是下拉框值的形式-字符型。

2.1.3 文本区域

         这个文本既可以输入又可以输出,非常有利于人机交互,但是在使用他的时候还需要注意一下,首先这个文本区域本质上是个元胞,而且是个字符元胞,也就是给他赋值的时候需要用字符的形式。

app.TextArea.Value= num2str(plus(value,2));
app.TextArea.Value{1} = '1 2 3 4';

 2.1.4 HTML控件

        这个控件的使用可以极大的提升app的上限,使用了这个组件等于将网页搬到了app上,你只需要编写HTML+CCS+JS就可以实现相应的功能,控件使用方法:

        1.编写网页

        2.在app中引用

        3.运行 

2.1.5 选项卡

        此组件可以通过选择来实现切换页面,而且页面切换不影响其他页面的运行,本质上是同一个app,另一种切换页面就是使用两个app进行交互,两种方法都可以使用,但是两个app有两个明显的缺点1、程序代码大2、web中不支持两个app之间相互调用。BTW,使用选项卡不必放在主app中,可以灵活使用position进行位置定位。

2.1.6 编辑字段

        编辑字段有两种一个是数据,另一个是文本,而这两个组件本质上就是数据与文本,直接调用app.text.value即可。

2.1.7 表格

        表格知道如何将表格填上自己想要填写的数据,表格中有表头与表格,两个可以分开填写,表头填写使用app.UITable.ColumnName直接赋值即可,表格填写就可以使用app.UITable.Data赋值。表格还有一些属性可以使用,比如说排序,编写表头,可以在右下角的“表”中设置。

         

2.2App函数的编写

2.2.1回调函数

        一开始编写App的时候我以为,App只是个界面,用这个界面调用.m文件,实际上App自己就是个matlab,你可以在app里面进行编程。

        只需要自己添加函数就可以了,不过所有函数的第一个输入变量必须是”app“,否则报错。

2.2.2初始化函数

        初始化函数在app中也是很重要的,但是初始化函数需要注意的就一点,如何添加:右键即可。

2.3对App的理解

        App是个界面设计,其本身就可以进行代码编写与.m文件无异,调试也与.m一样,但是他的变量不会在matlab工作区显示,在App中最好不要用clear,因为这会将app本身给清除掉。每个组件都有其存在的意义,赋予其意义的就是回调函数,如果不是自己编写的函数,函数是不会返回值的。调试App时还是用断点调试,此时变量就可以在workspace显示了。

        编写app的目的就是能快速的执行代码,或者将代码工具化。

3、打包APP

        3.1操作步骤

        从APP中打开Application Compiler。

        选择 编写的App,(右边)如果exe是给客户的或电脑没有matlab的就选downloaded from web,如果电脑有环境就选included in package。

        

        其他的随便填一下,关键在于log的输出,log不输出后期调试就无法下手。

        最后生成package。

         生成的文件有三个,第一个是给其他人的,点开之后开始下载,大约3G,第二个是自己用的exe,管理员方式打开即可使用,第三个是测试用,个人任务和第二个文件没有差别。

         3.2生成exe踩的坑

        在matlab中完成了app的编写,app运行可以完美输出结果,然后很开心的打包输出exe了,点开exe之后,程序运行,但是没有完全运行,就是稍稍动了一下,这个时候就体现出log的重要性了,我在没有log的情况下瞎猜原因,导致浪费了很多时间,最后发现是xlsread函数在app中不支持( 应该是这个原因),将其换成了readtable之后程序顺利运行,顺利运行了一半,之后发现readtable中的读取方式和xlsread有差距,所以又花了很多时间更改了读取和提取数据方式,最后得到了好的结果。

                                                                                                                                -2024/3/1

### MATLAB App Designer应用程序打包为独立exe文件的方法 MATLAB App Designer提供了一种便捷的方式来开发图形用户界面(GUI)应用程序,支持将这些应用程序打包为独立的可执行文件(exe)。以下是实现这一目标的具体方法和注意事项。 #### 1. 确保安装了MATLAB Compiler 为了将MATLAB App Designer开发的应用程序打包为独立的exe文件,必须先安装MATLAB Compiler工具箱。可以通过以下命令检查是否已安装该工具箱: ```matlab ver('compiler') ``` 如果未安装,则需要从MathWorks官网下载安装MATLAB Compiler[^4]。 #### 2. 配置应用程序路径 在打包之前,确保所有依赖文件(如数据文件、图片等)都正确放置在应用程序的工作目录中。对于动态路径问题,可以使用以下代码来获取应用程序运行时的路径: ```matlab function filePath = getFilePath() if isdeployed filePath = fullfile(application.path, 'data', 'yourfile.ext'); else filePath = fullfile(fileparts(mfilename('fullpath')), 'data', 'yourfile.ext'); end end ``` 这有助于解决打包后文件路径读取的问题[^3]。 #### 3. 使用`deploytool`或命令行进行打包 MATLAB提供了两种方式来打包应用程序:通过图形界面工具`deploytool`或直接使用命令行。 - **使用`deploytool`** 在MATLAB命令窗口中输入`deploytool`打开部署工具。选择“Application Compiler”,然后添加要打包的主应用程序文件(通常是`.mlapp`文件),设置相关选项后生成可执行文件。 - **使用命令行** 如果更倾向于脚本化操作,可以使用以下命令完成打包: ```matlab mcc -m yourApp.mlapp ``` 其中`yourApp.mlapp`是主应用程序文件名。此命令会生成一个独立的exe文件以及所需的运行时库[^4]。 #### 4. 安装MATLAB Runtime 生成的exe文件需要依赖MATLAB Runtime才能在其他计算机上运行。对于MATLAB R2019a版本,对应的MATLAB Runtime版本为v9.6[^1];而对于R2020a版本,则需要v9.8版本的Runtime[^4]。可以在MATLAB官网下载对应版本的Runtime,分发给最终用户。 #### 5. 注意事项 - 打包过程中可能会遇到文件过大或进度条不可见的问题。可以通过访问临时文件夹(如`C:\Users\username\AppData\Local\Temp\username\MCRInstaller9.8`)来监控下载进度[^4]。 - 如果应用程序包含Simulink模型,建议参考官方示例`DeployingASimulationAppUsingSimulinkCompilerExample`,以确保编译后的exe文件能够正常调用Simulink功能[^2]。 --- ### 示例代码:简单的打包命令 以下是一个简单的脚本示例,用于将MATLAB App Designer开发的应用程序打包为exe文件: ```matlab % 设置应用程序文件名 appFile = 'yourApp.mlapp'; % 调用MATLAB Compiler进行打包 mccCommand = sprintf('mcc -m %s', appFile); system(mccCommand); ``` ---
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

The hopes of the whole village

看心情打赏咯

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值