这个例子展示了如何使用Simulink®Real-Time™的信金宝app号数据日志和仿真数据检查器。在模型执行期间记录信号。在运行结束时,仿真数据检查器界面显示信号。这个例子展示了如何使用命令行从仿真数据检查器界面获取信号。
打开模型slrt_ex_soc_dist
.该模型通过在传染病爆发时保持社会距离来校准控制努力。
打开模型。
mdl =“slrt_ex_soc_dist”;mdlOpen = 0;系统= find_system (“类型”,“block_diagram”);如果所有(~strcmp(mdl,系统))mdlOpen = 1;open_system (fullfile (matlabroot,“工具箱”,“slrealtime”,“例子”,“slrt_ex_soc_dist.slx”));结束
建立模型并下载到目标计算机:
配置一个非详细的构建。
构建和下载应用程序。
set_param (mdl“RTWVerbose”,“关闭”);slbuild (mdl);
### #创建MLDATX ..\slrt_ex_soc_dist. ###创建MLDATX ..mldatx模型建立目标:总结构建模型重建行动的理由 ================================================================================================= slrt_ex_soc_dist代码生成和编译代码生成信息文件不存在。1个模型建立(0个模型已经更新)建立时间:0小时0米42.181秒
关闭模型,它是打开的。
如果(mdlOpen) bdclose (mdl);结束
使用Simulink金宝app实时对象变量,tg
,加载并启动模型,修改模型参数。
tg = slrealtime;tg.load (mdl);tg.setparam (”,“soc_dist_level”1);tg.setparam (”,“thresh_int_level”1);tg.start;而~ strcmp (tg.status,“停止”)暂停(5);结束tg.stop;
使用Simulink金宝app实时对象变量,tg
,加载并启动模型,修改模型参数
tg = slrealtime;tg.load (mdl);tg.setparam (”,“soc_dist_level”, 0.2);tg.setparam (”,“thresh_int_level”, 0.2);tg.start;而~ strcmp (tg.status,“停止”)暂停(5);结束tg.stop;
要查看绘制的信号数据,请打开仿真数据检查器。
金宝appSimulink.sdi.view
您还可以使用这些命令从SDI检索信号数据并绘制数据。
跑遍所有的地方
获取运行信息
得到的信号。
获取信号对象。
只考虑具有传染性的群体价值。
画出信号。
结果表明,保持社交距离可以减少住院人数
runIds = 金宝appSimulink.sdi.getAllRunIDs ();为运行simulink .sd . getrun (ru金宝appnIds(i));signalID = run.getSignalIDsByName (“住院”);如果~isempty(signalID) signalObj = 金宝appsimulink .sd . getsignal (signalID);signalArray(:,我)= signalObj.Values (: 1) . data;时间价值= 100 * (signalObj.Values (: 1) .Time);情节(时间价值,signalArray);drawnow;结束结束网格在;包含(在天的的时间);ylabel (“住院的人”);