Main Content

本页对应的英文页面已更新,但尚未翻译。 若要查看最新内容,请点击此处访问英文页面。

Simulation Data Inspector

检查并比较数据和仿真结果,以验证和迭代模型设计

说明

Simulation Data Inspector 能够可视化并比较多种类型的数据。

使用 Simulation Data Inspector,您可以在工作流的多个阶段检查和比较时序数据。以下示例工作流展示了 Simulation Data Inspector 如何支持设计周期的所有阶段:

  1. 使用 Simulation Data Inspector 查看数据.

    在配置为将数据记录到 Simulation Data Inspector 的模型中运行仿真,或从工作区或 MAT 文件导入数据。在以迭代方式修改模型图、参数值或模型配置时,您可以查看和验证模型输入数据或检查记录的仿真数据。

  2. Inspect Simulation Data.

    在多个子图上绘制信号,在指定的绘图坐标区上放大和缩小,并使用数据游标来了解详情和计算数据。您还可以通过Create Plots Using the Simulation Data Inspector来展示您的分析。

  3. Compare Simulation Data

    比较单个信号或仿真运行,并使用相对、绝对和时间容差分析比较结果。Simulation Data Inspector 中的比较工具有助于迭代设计,并允许您突出显示不符合容差要求的信号。有关比较操作的详细信息,请参阅 How the Simulation Data Inspector Compares Data

  4. 保存和共享 Simulation Data Inspector 数据和视图.

    通过保存 Simulation Data Inspector 数据和视图与他人共享您的发现。

您还可以从命令行利用 Simulation Data Inspector 的功能。有关详细信息,请参阅Inspect and Compare Data Programmatically

打开 Simulation Data Inspector

  • Simulink® 工具条:在 Simulation 选项卡的 Review Results 下,点击 Data Inspector

  • 点击信号上的流式标记以打开 Simulation Data Inspector 并绘制信号。

  • MATLAB® 命令提示符:输入 Simulink.sdi.view

示例

全部展开

此示例说明如何使用 Simulink.sdi.createRunOrAddToStreamedRun 将数据添加到模型的现有运行中。在本示例中,您将记录的状态数据添加到通过仿真创建的运行中。

对模型进行仿真

对模型进行仿真以生成数据。模型 slexAircraftExample 被配置为记录输出,因此 Simulation Data Inspector 会自动使用记录的输出端口数据创建一次运行。使用此仿真语法时,out 包含输出端口数据 (yout) 和状态数据 (xout)。

load_system('slexAircraftExample')
out = sim('slexAircraftExample','ReturnWorkspaceOutputs','on',...
            'SaveFormat','Dataset');

将记录的状态数据添加到运行

Simulation Data Inspector 将自动为记录的输出端口数据创建一次运行。使用 Simulink.sdi.createRunOrAddToStreamedRun 将记录的状态数据添加到现有运行中。

Simulink.sdi.createRunOrAddToStreamedRun('slexAircraftExample','Run 1',...
              {'out'},{out});

打开 Simulation Data Inspector 以查看结果

使用 Simulink.sdi.createRunOrAddToStreamedRun 可避免 Simulation Data Inspector 中显示冗余数据。使用 Simulink.sdi.createRun 将状态数据导入 Simulation Data Inspector 可创建另一次运行。Simulink.sdi.addToRun 根据输出端口数据创建重复信号。使用 Simulink.sdi.createRunOrAddToStreamedRun,您可以在一次运行中包括所有仿真数据,而无需复制任何信号。

Simulink.sdi.view

此示例说明如何以编程方式修改 Simulation Data Inspector 中所有运行的参数。

生成运行

加载 vdp 模型,并标记 x1x2 信号进行记录。然后,运行几次仿真。

% Clear all data from the Simulation Data Inspector repository
Simulink.sdi.clear

% Load the model and mark signals of interest for streaming
load_system('vdp')
Simulink.sdi.markSignalForStreaming('vdp/x1',1,'on')
Simulink.sdi.markSignalForStreaming('vdp/x2',1,'on')

% Simulate the model with several Mu values
for gain = 1:5
    gainVal = num2str(gain);
    set_param('vdp/Mu','Gain',gainVal)
    sim('vdp');
end

使用 Simulink.sdi.getRunCountx1 信号指定容差

count = Simulink.sdi.getRunCount;

for a = 1:count
    runID = Simulink.sdi.getRunIDByIndex(a);
    vdpRun = Simulink.sdi.getRun(runID);
    sig = vdpRun.getSignalByIndex(1);
    sig.AbsTol = 0.1;
end

% Open the Simulation Data Inspector to view your data
Simulink.sdi.view

相关示例

编程用途

全部展开

Simulink.sdi.view 从 MATLAB 命令行打开 Simulation Data Inspector。

在 R2010b 中推出