资源简介
MatlabGUI调用Simulink编译成可执行的exe文件的解决方法-GUIDE_fig.m
我(们)曾经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中文论坛翻译整理。
我(们)曾经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中文论坛翻译整理。
代码片段和文件信息
function varargout = GUIDE_fig(varargin)
%GUIDE_FIG M-file for GUIDE_fig.fig
% GUIDE_FIG by itself creates a new GUIDE_FIG or raises the existing
% singleton*.
%
% H = GUIDE_FIG returns the handle to a new GUIDE_FIG or the handle to
% the existing singleton*.
%
% GUIDE_FIG(‘Property‘‘Value‘...) creates a new GUIDE_FIG using the
% given property value pairs. Unrecognized properties are passed via
% varargin to GUIDE_fig_OpeningFcn. This calling syntax produces a
% warning when there is an existing singleton*.
%
% GUIDE_FIG(‘CALLBACK‘) and GUIDE_FIG(‘CALLBACK‘hobject...) call the
% local function named CALLBACK in GUIDE_FIG.M with the given input
% arguments.
%
% *See GUI Options on GUIDE‘s Tools menu. Choose “GUI allows only one
% instance to run (singleton)“.
%
% See also: GUIDE GUIDATA GUIHANDLES
% Edit the above text to modify the response to help GUIDE_fig
% Last Modified by GUIDE v2.5 12-Dec-2005 09:54:06
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct(‘gui_Name‘ mfilename ...
‘gui_Singleton‘ gui_Singleton ...
‘gui_OpeningFcn‘ @GUIDE_fig_OpeningFcn ...
‘gui_OutputFcn‘ @GUIDE_fig_OutputFcn ...
‘gui_LayoutFcn‘ [] ...
‘gui_Callback‘ []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State varargin{:});
else
gui_mainfcn(gui_State varargin{:});
end
% End initialization code - DO NOT EDIT
% --- Outputs from this function are returned to the command line.
function varargout = GUIDE_fig_OutputFcn(hobject eventdata handles)
% varargout cell array for returning output args (see VARARGOUT);
% hobject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Get default command line output from handles structure
varargout{1} = handles.output;
function In1_Callback(hobject eventdata handles)
% hobject handle to In1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hobject‘String‘) returns contents of In1 as text
% str2double(get(hobject‘String‘)) returns contents of In1 as a double
handles.In1 = str2double(get(hobject‘String‘));
guidata(hobjecthandles)
% --- Executes during object creation after setting all properties.
f
相关资源
- 直流双闭环控制系统的MATLAB仿真-lei
-
汽车动力学simuli
nk仿真程序很精典 -
用simuli
nk和simscape仿真直流电动机 - Matlab的hough圆检测-soble_hough.m
- Matlab粒子群神经网络的预测编程实现
-
基于MatlabSimuli
nk的汽车防抱制动系统 - Matlab有关多目标遗传算法和多目标优
- QPSK调制解调及误码率的计算-BPSK_AWG
-
Simuli
nk模块参数在线修改方法-Simu - MATLAB通信仿真及应用详解
-
基于MATLABsimuli
nk的扩频通信系统仿真 - MATLAB在数字图像处理中的应用-MATLAB在
- 预测函数控制及MATLAB源程序-预测函数
- BP神经网络的改进算法研究-MATLAB7_0中
- 小波与FFT去噪-小波与FFT去噪.m
- 用MATLAB生成达到出版质量的图形-exp
- RBF神经网络用于函数拟合与模式识别
- MATLAB动画演示程序汇总-MATLAB 动画演示
- Matlab阶跃折射率分布均匀光纤的光场
- 小波的代码-sub_m.m
- matlab串级PID仿真模型-串级PID.rar
- matlab实现视频中动态目标跟踪程序及
- Matlab模拟退火算法-模拟退火.zip
- SPWM有需求的看过来-siqu_sanxiang_SPWM.m
- Matlab无线信道建模与仿真-无线信道建
- 基于MATLAB的粒子群优化算法及其应用
- 求助BP神经网络温度预测问题-MATLAB实
- 图像复原matlab程序-图像复原matlab程序
- MATLAB数据处理-MATLAB数据处理.rar
- hopfield神经网络的matlab仿真程序-hopf
评论
共有 条评论