主要内容

Simulink.sdi.view

R2026b

打开仿真数据检查器。

描述

Simulink.sdi.view 打开仿真数据检查器。您可以编写脚本来绘制数据并自定义仿真数据检查器属性,然后使用 Simulink.sdi.view 查看结果。

示例

Simulink.sdi.view(pane) 打开仿真数据检查器,进入检查窗格或比较窗格。

示例

全部折叠

您可以通过编程方式打开仿真数据检查器,以可视化、检查和分析您的数据。

Simulink.sdi.view

创建一次运行,向其中添加数据,然后在仿真数据检查器的活动选项卡中查看数据。

为运行创建数据

创建两个 timeseries 对象以包含一个正弦信号和一个余弦信号的数据。为每个 timeseries 对象指定一个描述性名称。

time = linspace(0,20,101);

sine_vals = sin(2*pi/5*time);
sine_ts = timeseries(sine_vals,time);
sine_ts.Name = "Sine, T=5";

cos_vals = cos(2*pi/8*time);
cos_ts = timeseries(cos_vals,time);
cos_ts.Name = "Cosine, T=8";

创建运行并添加数据

要打开仿真数据检查器,请使用 Simulink.sdi.view。

Simulink.sdi.view

要从工作区将数据导入仿真数据检查器,请使用 Simulink.sdi.Run.create 创建一个 Simulink.sdi.Run 对象。使用 Run 对象的 Name 和 Description 属性添加元数据信息。

sinusoidsRun = Simulink.sdi.Run.create;
sinusoidsRun.Name = "Sinusoids";
sinusoidsRun.Description = "Sine and cosine signals with different frequencies";

将您在工作区中创建的数据添加到空运行中。

add(sinusoidsRun,"vars",sine_ts,cos_ts);
 0.091530s wall, 0.156250s user + 0.031250s system = 0.187500s CPU (204.9%)

在仿真数据检查器中绘制数据

要访问每个信号对应的 Simulink.sdi.Signal 对象,请使用 getSignalByIndex。您可以使用 Simulink.sdi.Signal 对象属性来指定信号的线型和颜色,并将信号绘制在仿真数据检查器中。例如,为每个信号指定 LineColor 和 LineDashed 属性。

sine_sig = getSignalByIndex(sinusoidsRun,1);
sine_sig.LineColor = [0 0 1];
sine_sig.LineDashed = "-.";

cos_sig = sinusoidsRun.getSignalByIndex(2);
cos_sig.LineColor = [1 0 0];
cos_sig.LineDashed = "--";

要在仿真数据检查器绘图区域的活动选项卡中配置一个 2×1 子图布局,请使用 Simulink.sdi.setSubPlotLayout。要在顶部子图上绘制正弦信号,在下部子图上绘制余弦信号,请使用 plotOnSubPlot。

Simulink.sdi.setSubPlotLayout(2,1);

plotOnSubPlot(sine_sig,1,1,true);
plotOnSubPlot(cos_sig,2,1,true);

A 2-by-1 subplot layout for Tab1 in the Simulation Data Inspector. The sine signal is plotted in the upper subplot and the cosine signal is plotted in the lower subplot.

使用游标检查数据

要访问特定时间点的信号值,您可以向绘图添加游标。例如,Sine 信号似乎在约 6 秒处有局部最大值。向绘图添加一个游标,并观察在 6 秒处的信号值。

Simulink.sdi.setNumCursors(1)
Simulink.sdi.setCursorPositions("left",6)

The Simulation Data Inspector with a cursor positioned at 6 seconds in Tab1. The cursor is applied to both subplots.

要测量两个点之间的时间差或在定义的区间内提取描述性统计量,请添加两个游标。

Simulink.sdi.setNumCursors(2)
Simulink.sdi.setCursorPositions("left",5,"right",7)

The Simulation Data Inspector with two cursors positioned at 5 seconds and 7 seconds in Tab1.

使用 max 函数确定游标之间 Sine 信号中的局部最大采样值。

[t1,t2] = Simulink.sdi.getCursorPositions;
localMax = max(sine_sig,t1,t2)
localMax = 
0.9980

关闭仿真数据检查器并保存数据

检查完绘制的信号数据后,可以关闭仿真数据检查器并将会话保存到 MLDATX 文件中。

Simulink.sdi.close("sinusoids.mldatx")

输入参数

全部折叠

用于检查或比较数据的选项,指定为以下选项之一:

  • Simulink.sdi.GUITabType.InspectSignals - 打开仿真数据检查器,进入检查窗格。

  • Simulink.sdi.GUITabType.CompareRuns - 打开仿真数据检查器,进入比较窗格。

替代方法

您可以使用 Simulink® 编辑器工具栏上的仿真数据检查器按钮 打开仿真数据检查器。

版本历史记录

在 R2011b 中推出