Matlab APP编写并打包

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

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 Runtime 打包文件教程 #### 安装 MATLAB Runtime 为了使不具有 MATLAB 的计算机能够运行由 MATLAB 编译的应用程序,需要先安装 MATLAB Runtime。可以从 MathWorks 官方网站获取最新版本的 MATLAB Runtime 下载链接[^1]。 #### 准备工作 确保已经拥有要编译分发给其他用户的 MATLAB 应用程序或函数。这些应用程序将在目标机器上通过已安装的 MATLAB Runtime 来执行。 #### 创建独立应用 使用 Application Compiler 工具来创建独立的应用程序。此工具允许开发者将 MATLAB 程序转换为可以在没有安装完整版 MATLAB 的环境中运行的形式: 1. **启动 Application Compiler** 启动 MATLAB 导航到 "APPS" 菜单下的 "Application Compiler"[^3]。 2. **指定输入文件** 添加想要打包成可执行文件的一个或多个 .m 文件作为入口点。 3. **配置部署选项** 设置应用程序属性以及任何必要的附加文件和依赖项。 4. **生成安装程序** 配置完成后点击 “Package” 按钮开始构建过程。这会生成一个包含所有必需组件(包括 MCR)在内的安装包。 5. **测试生成的应用** 在开发机上验证新创建的应用能否正常运作之后再将其发布出去。 6. **分发至最终用户** 将生成好的安装包发送给那些希望运行该软件的人们;他们只需按照提示完成简单的设置向导即可享受完整的功能体验而无需关心底层技术细节。 对于仅需在特定平台上运行的情况,也可以选择直接编译为目标平台上的原生二进制格式而不必每次都附带整个 MCR 运行库,在这种情况下则建议预先确认好接收端设备的具体操作系统类型以便做出最恰当的选择[^3]。 ```matlab % 示例:简单脚本转 exe (假设名为 myscript.m) compiler.build.standaloneApplication('myscript'); ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为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、付费专栏及课程。

余额充值