ktv经营管理模式:Matlab GUI调用Simulink,编译成可执行的exe文件的解决方法 - 小玩子的...

来源:百度文库 编辑:偶看新闻 时间:2024/04/28 20:36:23

Matlab GUI调用Simulink,编译成可执行的exe文件的解决方法

日积月累 我(们)曾经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), 比如:

 

 

Matlab GUI调用Simulink,编译成可执行的exe文件的解决方法

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

!SL_model.exe

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

load Output.mat

set(handles.FinalOutput2,'String',num2str(Out(end)))

guidata(hObject,handles)

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