主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

plot

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

  • Simulation Data Inspector

说明

使用 plot 函数在仿真数据检查器中绘制 DatasetSimulationOutputSignal 等对象中包含的数据。

有关在仿真数据检查器中以交互方式绘制数据和自定义绘图外观的更多信息,请参阅Create Plots Using the Simulation Data Inspector

要在 MATLAB® 图中创建二维线图,请参阅 plot

plot(obj)仿真数据检查器中的对象 obj 中绘制仿真结果,并打开仿真数据检查器。您可以使用 plot 函数绘制存储在对象中的数据和仿真结果,例如:

当输入对象包含的信号少于八个时,仿真数据检查器布局将变为 1×n,其中 n 是信号数,每个子图显示一个信号。当仿真结果包含超过八个要绘制的信号时,仿真数据检查器布局将更改为 1×1,并且绘图将显示第一个信号。

示例

plot(ds,viewer) 根据为 viewer 指定的值在仿真数据检查器或信号预览窗口中显示 Simulink.SimulationData.DatasetSimulink.SimulationData.DatasetRef 对象中包含的数据。

runObj = plot(___) 返回与绘制数据相对应的 Simulink.sdi.Run 对象。

示例

全部折叠

打开模型 vdp,该模型对二阶范德波尔微分方程进行建模。您可以使用 plot 函数在仿真数据检查器中绘制仿真结果。

mdl = "vdp";
open_system(mdl)

配置模型以记录信号、输出和状态。

set_param(mdl,"SignalLogging","on")
set_param(mdl,"SaveOutput","on")
set_param(mdl,"SaveState","on")

标记 x1x2 信号以供记录。

Simulink.sdi.markSignalForStreaming('vdp/Mu',1,'on')
Simulink.sdi.markSignalForStreaming('vdp/Product',1,'on')
Simulink.sdi.markSignalForStreaming('vdp/Square',1,'on')
Simulink.sdi.markSignalForStreaming('vdp/Sum',1,'on')

仿真模型并将所有记录的数据作为名为 out 的单个仿真输出返回。该模型使用 Dataset 格式记录数据,因此所有记录的数据都会在仿真期间流向仿真数据检查器。

out = sim(mdl);

使用 plot 函数在仿真数据检查器中绘制所有仿真结果。仿真数据检查器更新为 1×8 布局并在每个子图上绘制一个信号。

plot(out)

All simulation results plotted in the Simulation Data Inspector.

您还可以使用 plot 函数绘制单个信号或仿真结果子集的数据。当您绘制单个信号的数据时,仿真数据检查器总是将该信号的数据导入到新的运行中。

Simulink.SimulationOutput 对象包含每个记录变量的属性。访问属性 logsout 中的信号记录数据。

logsout = out.logsout
logsout = 
Simulink.SimulationData.Dataset 'logsout' with 6 elements

                         Name  BlockPath   
                         ____  ___________ 
    1  [1x1 Signal]      ''    vdp/Mu     
    2  [1x1 Signal]      ''    vdp/Product
    3  [1x1 Signal]      ''    vdp/Square 
    4  [1x1 Signal]      ''    vdp/Sum    
    5  [1x1 Signal]      x1    vdp/x1     
    6  [1x1 Signal]      x2    vdp/x2     

  - Use braces { } to access, modify, or add elements using index.

使用 Dataset 对象的 get 函数访问第一个元素的数据,该元素包含单个记录信号的数据。

sig1 = get(logsout,1);

当您绘制信号数据时,仿真数据检查器会将信号导入新运行,将布局更新为 1×1,并绘制信号。

plot(sig1)

A single signal plotted in a new run in the Simulation Data Inspector.

创建两个 timeseries 对象。

ts1 = timeseries([0;20],[0;10]);  
ts2 = timeseries([0;40],[0;10]);  

创建一个 Dataset 对象。然后,将 timeseries 对象添加到 Dataset 对象。

ds = Simulink.SimulationData.Dataset;
ds = addElement(ds,ts1,"timeseries1");
ds = addElement(ds,ts2,"timeseries2");

在仿真数据检查器中绘制 Dataset 对象。

plot(ds)

输入参数

全部折叠

要在仿真数据检查器中绘制的数据,指定为以下对象之一:

Simulink.SimulationOutput 对象中的部分或全部数据处于仿真数据检查器运行中时,plot 函数会打开仿真数据检查器并绘制运行中的所有信号。当 SimulationOutput 对象与仿真数据检查器中的运行不对应时,plot 函数会将数据导入到新的运行中。

当您使用 plot 函数绘制单个信号时,plot 函数始终将该信号的数据导入到新的运行中。

您还可以使用 Simulink.sdi.plot 函数以编程方式绘制任何列出的对象以及 timeseriestimetable 数据。

示例: plot(out) 在仿真数据检查器中绘制 Simulink.SimulationOutput 对象 out 的内容并打开仿真数据检查器。

要在指定的可视化工具中绘制的数据,指定为 Simulink.SimulationData.Dataset 对象或 Simulink.SimulationData.Datasetref 对象。

用于绘制数据的查看器,指定为 "datainspector""preview"。当您未指定 viewer 输入时,plot 函数会在仿真数据检查器中绘制数据。

输出参量

全部折叠

运行与绘制的数据相对应,以 Simulink.sdi.Run 对象的形式返回。

版本历史记录

在 R2019b 中推出

全部展开