主要内容

万博1manbetxSimulink.sdi.deleteSignal

在模拟数据检查器中删除信号

描述

例子

万博1manbetxSimulink.sdi.deleteSignal (sigID从仿真数据检查器中删除指定的信号。

例子

全部折叠

这个例子展示了如何使用万博1manbetxSimulink.sdi.copyRun而且万博1manbetxSimulink.sdi.deleteSignal创建包含原始运行信号子集的运行副本。您可以使用副本对信号的子集进行分析和比较,同时仍然保留具有所有信号的原始运行。例如,模型sldemo_fuelsys配置为记录10个信号。为了比较系统对不同类型故障的响应,不需要对所有记录的信号进行比较。在运行比较之前删除不代表系统响应的信号可以节省处理时间,并简化结果视图。

创建运行

加载模型sldemo_fuelsys并在模拟数据检查器中运行模拟以创建运行。第一次运行模拟油门角度传感器的故障,第二次运行模拟废气氧传感器的故障。

load_system (“sldemo_fuelsys”modelWorkspace = get_param(“sldemo_fuelsys”“modelworkspace”);modelWorkspace.assignin (“throttle_sw”, 0) modelWorkspace.assignin (“ego_sw”1) sim卡(“sldemo_fuelsys”) modelWorkspace.assignin (“throttle_sw”(1) modelWorkspace.assignin“ego_sw”, 0) sim卡(“sldemo_fuelsys”

复制运行

使用模拟数据检查器的编程接口来获取万博1manbetxSimulink.sdi.Run对象,然后创建运行的副本。

%跑数runIDs = 万博1manbetxSimulink.sdi.getAllRunIDs;runID1 = runid (end-1);runID2 = runIDs(end);run1 = 万博1manbetxSimulink.sdi.getRun(runID1);run2 = 万博1manbetxSimulink.sdi.getRun(runID2);为每次运行创建一个副本,truncRun[truncRun1,runIndex1,signalIDs1] = 万博1manbetxSimulink.sdi.copyRun(runID1);[truncRun2,runIndex2,signalIDs2] = 万博1manbetxSimulink.sdi.copyRun(runID2);

删除运行拷贝中的信号

sldemo_fuelsys模型配置为记录故障开关的值以及表示系统响应的几个信号。当您比较油门角传感器故障时系统的响应与排气氧传感器故障时系统的响应时,比较故障开关状态并不能提供新的信息。因此,在运行比较之前删除开关信号,以消除不必要的计算。

万博1manbetxsimulink .sdi. deletessignal (signalIDs1(1)) simulink .sdi. deletessignal (signalIDs1(3)) simulink .sdi. deletessignal (signalIDs1(5)) simulink .sdi. deletessignal (signalIDs1(8)) simulink .sdi. deletessignal (signalIDs2(1)) simulink .sdi. deletessignal (signalIDs2(3)) simulink .sdi. deletessignal (signalIDs2(5)) simulink .sdi. deletessignal (signalIDs2(8))

比较截断的运行

您可以使用所创建的截断运行万博1manbetxSimulink.sdi.copyRun而且万博1manbetxSimulink.sdi.deleteSignal对系统对不同类型故障的响应进行比较。然后,打开仿真数据检查器,查看比较结果。

truncRunDiff = 万博1manbetxSimulink.sdi.compareRuns(truncRun1,truncRun2);万博1manbetxSimulink.sdi.view

输入参数

全部折叠

要删除的信号,指定为标量信号ID或信号ID的向量。当为记录或导入的数据创建运行时,模拟数据检查器为每个信号分配一个唯一的数字信号ID。

你可以使用下列函数之一获取信号的信号ID:

版本历史

在R2016a中引入