Matlab通过.m控制Simulink模型

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

通过.m的命令控制simulink的开始、暂停、步进;

一、set_param()介绍

以下使Matlab2020b中的文档对set_param()的介绍:

set_param(Object,ParameterName,Value,…ParameterNameN,ValueN) sets the parameter to the specified value on the specified model or block object.

When you set multiple parameters on the same model or block, use a single set_param command with multiple pairs of ParameterName, Value arguments, rather than multiple set_param commands. This technique is efficient because using a single call requires evaluating parameters only once. If any parameter names or values are invalid, then the function doesn’t set any parameters.

Tips:

If you make multiple calls to set_param for the same block, then specifying the block using a numeric handle is more efficient than using the full block path. Use getSimulinkBlockHandle to get a block handle.

If you use matlab -nodisplay to start a session, you cannot use set_param to run your simulation. The -nodisplay mode does not support simulation using set_param. Use the sim command instead.

After you set parameters in the MATLAB® workspace, to see the changes in a model, update the diagram.

set_param(model,‘SimulationCommand’,‘Update’)

二、通过set_param()命令控制simulink模型运行

1.开始、暂停、步进

代码如下(示例):

set_param('.mdl的名称(不加.mdl尾缀)','SimulationCommand','start')
set_param('.mdl的名称(不加.mdl尾缀)','SimulationCommand','pause')
set_param('.mdl的名称(不加.mdl尾缀),'SimulationCommand','step') 

举个栗子吧,例如当前有个test.mdl的模型,想通过在.m脚本中写命令使test.mdl开始运行、暂停运行、步进一步后暂停;

set_param('test','SimulationCommand','start')
set_param('test','SimulationCommand','pause')
set_param('test','SimulationCommand','step') 
  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MatlabGUI里面启动或者暂停Simulink模型-start_and_stop.mdl 针对这个问题:https://www.ilovematlab.cn/thread-23233-1-1.html 现在我做一个集中解答,从mathworks那里学习了一下。 第一步:创建你自己的Simulink模型,这个不用我讲吧,我们使用以下模型做演示: start_and_stop.mdl 第二步:创建自己的GUI, 这个论坛里也有例子,我们使用以下文件。 start_and_stop_gui.fig start_and_stop_gui.m Figure12.jpg 在start simulation里面,直接用sim函数,这个大家好像都会: % --- Executes on button press in startsim. function startsim_Callback % hObject handle to startsim % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data modelname = get; stoptime = str2num); sim复制代码 在stop simulation,里面,callback这样写: % --- Executes on button press in stopsim. function stopsim_Callback % hObject handle to stopsim % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data global GUIStopFlag; GUIStopFlag = 1; 复制代码第三步:写一个s函数,不停地检测这个GUIStopFlag参数,发送命令给STOP按钮,告诉他,可以结束了,简单吧? sysstop_new.m 第四步:在simulink模型里面,加上这个S函数 Figure13.jpg 好了,大功告成了,现在你就可以在GUI里随意控制Simulink模型了。 注:文中所用的模型,GUI文件,由mathworks公司提供。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值