主要内容

使用模拟数据检查器(SDI)进行数据记录

本例展示了如何使用Simulink®Real-Time™信号数据金宝app日志和仿真数据检查器。在模型执行期间记录信号。在运行结束时,仿真数据检查器界面显示信号。这个例子展示了如何使用命令行从仿真数据检查器界面获取信号。

打开、构建和下载模型

打开模型slrt_ex_soc_dist.该模型通过在传染病爆发时保持社会距离来校准控制工作。

打开模型。

模型=“slrt_ex_soc_dist”;mdlOpen = 0;系统= find_system(“类型”“block_diagram”);如果all(~strcmp(model, systems)) mdlOpen = 1;open_system (fullfile (matlabroot,“工具箱”“slrealtime”“例子”“slrt_ex_soc_dist.slx”));结束

建立模型并下载到目标计算机:

  • 为非详细构建进行配置。

  • 构建和下载应用程序。

set_param(模型,“RTWVerbose”“关闭”);evalc (“slbuild(模型));
  • 关闭打开的模型。

如果(mdlOpen) bdclose(模型);结束

运行模型评估疫情期间不保持社交距离的影响

使用Simulink金宝app实时对象变量,tg,加载并启动模型,修改模型参数。

Tg = slrealtime;负载(tg、模型);setparam (tg,''“soc_dist_level”1);setparam (tg,''“thresh_int_level”1);开始(tg);~ strcmp (tg.status,“停止”)暂停(5);结束停止(tg);

更新参数并重新评估疫情期间保持社交距离的影响

使用Simulink金宝app实时对象变量,tg,加载并启动模型,修改模型参数

Tg = slrealtime;负载(tg、模型);setparam (tg,''“soc_dist_level”, 0.2);setparam (tg,''“thresh_int_level”, 0.2);开始(tg);~ strcmp (tg.status,“停止”)暂停(5);结束停止(tg);

在仿真数据检查器中显示信号

要查看绘制的信号数据,请打开模拟数据检查器。

金宝appSimulink.sdi.view

从仿真数据检查器中检索和绘制信号数据

您还可以使用这些命令从SDI检索信号数据并绘制数据。

  • 得到所有的奔跑

  • 获取运行信息

  • 接收信号。

  • 获取信号对象。

  • 只取感染组值。

  • 把信号画出来。

结果表明,保持社交距离可以减少住院人数

runIds = 金宝appSimulink.sdi.getAllRunIDs();i = 1:length(runIds) run = 金宝appSimulink.sdi.getRun(runIds(i));getsignalidsbyname (“住院”);如果~isempty(signalID) signalObj = 金宝appSimulink.sdi.getSignal(signalID);signalArray(:,i) = signalObj.Values(:,1).Data;timeValues = 100*(signalObj.Values(:,1).Time);情节(时间价值,signalArray);drawnow;结束结束网格;包含(“时间以天计算”);ylabel (“住院的人”);

另请参阅

|

相关的话题