课程作业------Matlab创建GUI界面与Simulink仿真结合

以最简单的单相半波整流电路作为例子

进入Matlab,一开始是只有命令行

输入

guide

出现以下界面

 把另存为勾上,并且命名,建议起简单点的名字,方便程序编写

打开后选择坐标区,放置在空白区域

 选中axes1,鼠标右键有个查看回调,有一个CreateFcn函数,按下就会跳转到你的.m文件

上网找一张图片保存在与你GUI路径相同的文件夹里,输入以下指令

imshow(imread('1.jpg')) %里面显示图片是你另存为的图片的名字

试运行

 设置按钮切换仿真界面

右键,查看回调,callback函数,打开仿真的界面,仿真界面的设置跟上面差不多,函数下面的dianlu是另外一个界面的名字

 试运行

 接下来是simulink的仿真图  仿真图出现错误的原因左上角大多是没加powergui

输出波形要输出到GUI那里需要添加一个叫 to Workspace的模块,模块的Save format设置为Array,并且要改名字(尽量起简单的)

试运行

波形重叠的原因是因为 这里一开始默认是10,改小一点

 返回到GUI波形仿真界面设置按钮,还是写按钮的Callback函数

 参数名不知道的话可以打开simulink,选中其中一个模型,如图

在命令行输入

get(gcbh)

会出现你选中simulink模型的所有参数名

最主要的是Path 、Name和Resistance

输入完成后,就可以链接成功了

试运行画面

演示视频simulink与GUI结合_哔哩哔哩_bilibili

如需要源码和技术支持可以加我微信获取(让我获取点生活费)

MatlabGUI调用Simulink编译成可执行的exe文件的解决方法-GUIDE_fig.m 我(们)曾经N次遇到过这样的提问: “为什么GUI里如果使用sim, simset等函数时,就不能编译成可执行的exe文件发布呢?” 我们也解释过很多次,原因是Matlab的compiler不支持sim等simulink相关的函数,同样,比如说神经网络相关的函数也不支持。 然而,GUISimulink混合编程,是可以编译成可执行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 GUISimulink设计的程序,照样可以编译成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中文论坛翻译整理。
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值