Simulink.sdi.clear
清除仿真数据检查器中的所有数据
说明
Simulink.sdi.clear
清除所有绘制的信号,并从仿真数据检查器中删除所有数据。Simulink.sdi.clear
函数不影响您在仿真数据检查器中配置的预设项或设置。使用 Simulink.sdi.clearPreferences
函数将仿真数据检查器预设项重置为默认值。使用 Simulink.sdi.clearAllSubPlots
函数清除所有绘制的信号,而不删除仿真数据检查器中的任何数据。
示例
保存仿真数据检查器会话
此示例创建、保存和加载一个仿真数据检查器会话。该示例将数据记录在模型 slexAircraftExample
中,并在仿真数据检查器会话中可视化记录的数据。每次使用仿真数据检查器时,您都会创建一个会话并可以对其进行修改。您可以使用 Simulink.sdi.save
函数将会话的数据和相关联的可视化设置保存在一个 MLDATX 文件中。当您以后要查看数据时,可以使用 Simulink.sdi.load
函数加载会话。
将数据记录到仿真数据检查器
此示例将模型 slexAircraftExample
的仿真数据记录到仿真数据检查器。该模型未配置为记录数据。加载该模型,并标记 Stick
、alpha, rad
和 q, rad/sec
信号进行记录。
load_system('slexAircraftExample') Simulink.sdi.markSignalForStreaming('slexAircraftExample/Pilot',1,'on') Simulink.sdi.markSignalForStreaming('slexAircraftExample/Aircraft Dynamics Model',3,'on') Simulink.sdi.markSignalForStreaming('slexAircraftExample/Aircraft Dynamics Model',4,'on')
对于此示例,运行模型的两次仿真。在第一次仿真中,使用 Pilot
模块的正弦波输出,在第二次仿真中,使用方波输出。
set_param('slexAircraftExample/Pilot','WaveForm','sine') sim('slexAircraftExample')
ans = Simulink.SimulationOutput: logsout: [1x1 Simulink.SimulationData.Dataset] tout: [1235x1 double] xout: [1x1 Simulink.SimulationData.Dataset] yout: [1x1 Simulink.SimulationData.Dataset] SimulationMetadata: [1x1 Simulink.SimulationMetadata] ErrorMessage: [0x0 char]
set_param('slexAircraftExample/Pilot','WaveForm','square') sim('slexAircraftExample')
ans = Simulink.SimulationOutput: logsout: [1x1 Simulink.SimulationData.Dataset] tout: [1381x1 double] xout: [1x1 Simulink.SimulationData.Dataset] yout: [1x1 Simulink.SimulationData.Dataset] SimulationMetadata: [1x1 Simulink.SimulationMetadata] ErrorMessage: [0x0 char]
可视化记录的数据
您可以使用仿真数据检查器编程接口来访问记录的仿真数据。当您使用仿真数据检查器编程接口访问数据时,您可以使用函数在仿真数据检查器中创建绘图。
首先,访问最近两次运行的运行 ID,然后获取对应的 Simulink.sdi.Run
对象。Run
对象允许您访问记录的仿真数据。
runIDs = Simulink.sdi.getAllRunIDs; sineRunID = runIDs(end-1); squareRunID = runIDs(end); sineRun = Simulink.sdi.getRun(sineRunID); squareRun = Simulink.sdi.getRun(squareRunID);
假设您要分析模型的输入和输出之间的关系。获取两次仿真运行的输入和输出信号的 Simulink.sdi.Signal
对象。
sineOut = getSignalByIndex(sineRun,1); sineIn = getSignalByIndex(sineRun,3); squareOut = getSignalByIndex(squareRun,1); squareIn = getSignalByIndex(squareRun,3);
将仿真数据检查器中的子图布局更改为 2
×1
,并将第一次仿真运行输出的信号绘制在顶部绘图中,将第二次运行输出的信号绘制在底部绘图中。
Simulink.sdi.setSubPlotLayout(2,1) plotOnSubPlot(sineIn,1,1,true) plotOnSubPlot(sineOut,1,1,true) plotOnSubPlot(squareIn,2,1,true) plotOnSubPlot(squareOut,2,1,true)
保存仿真数据检查器会话
要查看仿真数据检查器中的绘图数据,请在命令行窗口中输入 Simulink.sdi.view
。
然后,将仿真数据检查器会话保存为 MLDATX 文件。
Simulink.sdi.save('myData.mldatx')
加载仿真数据检查器会话
为了模拟您要稍后返回查看相同数据的场景,请清除仿真数据检查器中的数据,并将子图布局重置为 1
×1
。
Simulink.sdi.clear Simulink.sdi.setSubPlotLayout(1,1)
加载会话文件并继续处理数据。您可以使用 Simulink.sdi.view
函数打开仿真数据检查器并查看结果。
Simulink.sdi.load('myData.mldatx');
版本历史记录
在 R2011b 中推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)