matlab清除所有数据,清除仿真数据检查器中的所有数据

将数据记录到仿真数据检查器

此示例将模型 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')

set_param('slexAircraftExample/Pilot','WaveForm','square')

sim('slexAircraftExample')

可视化记录的数据

您可以使用仿真数据检查器编程接口来访问记录的仿真数据。当您使用仿真数据检查器编程接口访问数据时,您可以使用函数在仿真数据检查器中创建绘图。

首先,访问最近两次运行的运行 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');

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值