MatlabGUI调用Simulink编译成可执行的exe文件的解决方法-GUIDE_fig.fig

上传者: 39840650 | 上传时间: 2021-07-21 08:39:36 | 文件大小: 2KB | 文件类型: FIG
MatlabGUI调用Simulink编译成可执行的exe文件的解决方法-GUIDE_fig.fig
我(们)曾经N次遇到过这样的提问:

“为什么GUI里如果使用sim, simset等函数时,就不能编译成可执行的exe文件发布呢?”

我们也解释过很多次,原因是Matlab的compiler不支持sim等与simulink相关的函数,同样,比如说神经网络相关的函数也不支持。

然而,GUI和Simulink混合编程,是可以编译成可执行exe文件的,使用Matlab自带的RTbuilder工具箱函数编译即可。

使用的方法是:先使用RTW把simulink编译成exe文件,然后与GUI一起编译(GUI可以和exe文件一起编译的)

当然,这个时候请特别注意:不需要在GUI里使用sim函数了,流程是这样的:

1:设计GUI回调函数的时候,把GUI传递的参数传递给Simulink时,不要直接使用simset等函数,而是把参数写到一个mat文件里,比如:

x = [0.2 handles.In1 handles.In2]';
save Input.mat x

2:设计Simulink模型的时候,记得让simulink从mat文件里读取参数(就是刚刚GUI写入的参数),同样,输出参数也写到mat文件里,(如output.mat), 比如:
Matlab57.jpg Matlab GUI调用Simulink,编译成可执行的exe文件的解决方法

3:在GUI回调函数里,不要直接使用sim命令,而是直接调用exe文件(simulink模型编译 好的exe文件)

!SL_model.exe

4:如果要在GUI上面显示参数,直接读取output.mat文件即可:

load Output.mat
set))
guidata

现在大家对整个流程应该熟悉了吧? 也就是Matlab GUI与Simulink设计的程序,照样可以编译成exe文件发布...

附件里为用到的.m, ,fig和mdl文件,下载试一下如下命令:

GUIDE_fig.fig Matlab GUI调用Simulink,编译成可执行的exe文件的解决方法
GUIDE_fig.m Matlab GUI调用Simulink,编译成可执行的exe文件的解决方法
SL_model.mdl Matlab GUI调用Simulink,编译成可执行的exe文件的解决方法

x = [0 0 0]';
save Input.mat x
rtwbuild
mcc -m GUIDE_fig.m -a SL_model.exe


注明:以上文件均来自Mathworks公司提供,Matlab中文论坛翻译整理。

文件下载

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明