主要内容

万博1manbetxSimulink.SimulationData.createStructOfTimeseries

创建的结构timeseries加载数据作为总线的模拟输入

描述

例子

tsStruct= 万博1manbetxSimulink.SimulationData.createStructOfTimeseries (busObjtsStructIn属性所指定的属性相匹配的结构万博1manbetx仿真软件。公共汽车对象,busObj的结构指定的数据timeseries对象,tsStructIn

当输入结构中的名称与总线对象指定的名称不匹配时,该函数将重命名输出结构中的字段以匹配总线对象规范。当数据类型和复杂性等其他属性不匹配时,函数返回错误。

您可以使用此语法创建模拟输入,以完全或部分指定总线的数据。方法中的名称,您还可以使用此语法重命名结构元素万博1manbetx仿真软件。公共汽车对象。

例子

tsStruct= 万博1manbetxSimulink.SimulationData.createStructOfTimeseries (busObjtsCellArray创建一个结构timeseries类指定的属性相匹配的万博1manbetx仿真软件。公共汽车对象,busObj的单元格数组指定的数据timeseries对象,tsCellArray

当输入结构中的名称与总线对象指定的名称不匹配时,该函数将重命名输出结构中的字段以匹配总线对象规范。当数据类型和复杂性等其他属性不匹配时,函数返回错误。

的平面列表,您可以使用此语法创建模拟输入,以完全或部分指定总线的数据timeseries对象。函数映射timeseries对象指定的层次结构万博1manbetx仿真软件。公共汽车对象,使用深度优先搜索。

例子

tsStructArray= 万博1manbetxSimulink.SimulationData.createStructOfTimeseries (busObjtsCellArray会变暗的数组timeseries类定义的属性,其中每个结构的属性都匹配万博1manbetx仿真软件。公共汽车对象,busObj的单元格数组指定的数据timeseries对象,tsCellArray.输入会变暗指定数组的尺寸。

例子

tsStruct= 万博1manbetxSimulink.SimulationData.createStructOfTimeseries (tsArray创建一个结构timeseries对象中存储的总线数据万博1manbetx仿真软件。TsArray对象,tsArray.在R2016a之前的版本中,信号日志创建万博1manbetx仿真软件。TsArray对象来存储记录的总线数据。当您希望使用在R2016a using之前的版本中记录的总线数据时,请使用此语法ModelDataLogs格式作为模拟输入。

例子

全部折叠

您可以使用万博1manbetxSimulink.Simulationdata.createStructOfTimeseries函数来创建结构timeseries对象,用作总线信号的模拟输入。此示例向您展示如何创建时间序列结构,并使用从不同模拟中记录的时间序列数据将其加载到模型中。

创建一个时间序列结构

打开ex_log_structtimeseries模型。

open_system (“ex_log_structtimeseries”

该模型使用常量块和总线创建者块来构建两个总线,bus1而且bus2,信号一个bc,d.该模型使用信号日志记录总线数据。通过模拟模型创建总线数据。

= sim卡(“ex_log_structtimeseries”);

查看日志变量中的数据logsout.信号日志记录创建一个万博1manbetxSimulink.SimulationData.Dataset对象与万博1manbetxSimulink.SimulationData.Signal对象作为元素。

logsout = out.logsout
名称BlockPat万博1manbetxh ____ ____________________________________ 1 [1x1 Signal] bus1 ex_log_structtimeseries/Bus Creator 2 [1x1 Signal] bus2 ex_log_structtimeseries/Bus create1 -使用括号{}访问,修改或添加使用索引的元素。

您可以使用得到函数来选择万博1manbetxSimulink.SimulationData.Signal对象bus2.总线数据在财产的万博1manbetxSimulink.SimulationData.Signal对象。数据代表bus2已登录到包含timeseries对象命名c而且d

logsout.get (2) . values
Ans =带有字段的struct: c: [1x1 timeseries] d: [1x1 timeseries]

加载模型配置

打开ex_load_structtimeseries模型,它使用记录的仿真数据作为输入。

open_system (“ex_load_structtimeseries”

该模型使用InBus导入块加载输入总线数据。总线选择器块选择来自总线的信号显示在显示块上。

双击InBus阻塞并检查其数据类型信号的属性选项卡。参数指定数据类型万博1manbetx仿真软件。公共汽车对象被称为公共汽车

关闭对话框并打开Model Explorer。在回调选项卡,您可以看到模型使用它PreLoadFcn定义万博1manbetx仿真软件。公共汽车对象,它定义了导入块的数据类型。

打开配置参数并查看输入的参数数据导入/导出窗格。模型使用变量inputBus为其输入

的结构创建模拟输入timeseries数据

加载为之记录的数据bus1,您只需要将结构数据分配给模型的Input变量。

inputBus = logsout.get (1) . values
inputBus = struct with fields: a: [1x1 timeseries] b: [1x1 timeseries]

在模拟模型时,Display块显示值1而且2登录bus1并加载到模型中。

加载为之记录的数据bus2,你需要使用万博1manbetx仿真软件。公共汽车对象,该对象定义了导入块数据类型和万博1manbetxSimulink.SimulationData.createStructOfTimeseries建立…的结构timeseries类指定的名称万博1manbetx仿真软件。公共汽车对象。

inputBus = 万博1manbetxSimulink.SimulationData.createStructOfTimeseries (“公共汽车”...logsout.get (2) . values)
inputBus = struct with fields: a: [1x1 timeseries] b: [1x1 timeseries]

在模拟模型时,Display块显示值3.而且4登录bus2并加载到模型中。

的用法万博1manbetxSimulink.SimulationData.createStructOfTimeseries函数为总线创建部分指定的模拟输入。此示例记录来自的数据ex_log_structtimeseries然后把数据加载到ex_load_structtimeseries

创建timeseries数据

首先,打开并模拟ex_log_structtimeseries模型。该模型记录两个总线信号,bus1而且bus2,使用常量块和总线创建者块创建。访问logsout数据集万博1manbetx仿真软件。SimulationOutput对象,

open_system (“ex_log_structtimeseries”) out = sim(“ex_log_structtimeseries”);logsout = out.logsout;

可以使用的结构timeseries的数据或单元格数组timeseries用于部分指定总线模拟输入的数据。

的结构部分指定总线数据timeseries数据

打开模型ex_load_structtimeseries这将加载您在上一节中记录的一些数据。

open_system (“ex_load_structtimeseries”

使用得到函数访问的结构timeseries数据记录bus1

bus1 = logsout.get (1) . values;

然后,取代b数据与[]

bus1。b= [];

ex_load_structtimeseries模型使用变量inputBus作为它的输入.的万博1manbetx仿真软件。公共汽车对象,公共汽车中定义的导入块的数据类型PreLoadFcn回调的ex_load_structtimeseries模型。因为信号名称在bus1匹配万博1manbetx仿真软件。公共汽车的import块的对象规范ex_load_structtimeseries模型,您就可以使用记录的结构而无需修改。来加载数据bus1,分配bus1对该变量inputBus

inputBus = bus1;

模拟模型。Display块显示记录的值1一个而且0b.当您没有为信号指定数据时,模拟使用地值。

装车= sim卡(“ex_load_structtimeseries”);

现在,加载记录的数据bus2.的信号名称bus2不匹配万博1manbetx仿真软件。公共汽车的import块的对象规范ex_load_structtimeseries模型。修改结构中的数据,以部分指定总线的输入数据。然后,使用万博1manbetxSimulink.SimulationData.createStructOfTimeseries函数更改结构中的名称以匹配总线规范。

bus2 = logsout.get (2) . values;bus2。d= []; inputBus = bus2; inputBus = Simulink.SimulationData.createStructOfTimeseries(“公共汽车”, inputBus);

模拟模型。Display块显示记录的值3.一个而且0b

装车= sim卡(“ex_load_structtimeseries”);

使用时间序列数据单元格数组部分指定总线数据

当你有timeseries数据,你可以用万博1manbetxSimulink.SimulationData.createStructOfTimeseries控件的单元格数组部分指定总线的模拟输入timeseries数据。加载timeseries数据信号dbus2中的import块作为部分总线规范的一部分ex_load_structtimeseries模型。的PreLoadFcn回调的ex_load_structtimeseries模型定义万博1manbetx仿真软件。公共汽车对象,公共汽车,它定义了import块的数据类型。

d = logsout.get (2) .Values.d;inputBus = 万博1manbetxSimulink.SimulationData.createStructOfTimeseries (“公共汽车”...{d, []});

模拟模型。信号的显示块一个ex_load_structtimeseries模型显示数据登录信号dex_log_structtimeseries模型。信号的显示块b显示0

装车= sim卡(“ex_load_structtimeseries”);

的用法万博1manbetxSimulink.SimulationData.createStructOfTimeseries函数为总线数组生成模拟输入。您创建timeseries通过模拟一个模型得到数据。然后,使用记录的数据创建一个输入结构,将其加载到另一个模型中的总线数组中。

创建timeseries数据

首先,打开ex_log_structtimeseries模型。

open_system (“ex_log_structtimeseries”

该模型创建了两个总线,bus1而且bus2,使用常量块和总线创建者块。这些信号被命名为一个bc,d.通过模拟模型创建记录总线数据。

= sim卡(“ex_log_structtimeseries”);

输出包含一个万博1manbetxSimulink.SimulationData.Dataset对象,logsout,使用记录的数据。您可以访问bus1而且bus2信号使用得到函数。每个信号的数据都在万博1manbetxSimulink.SimulationData.Signal对象参数。您可以使用一个点后跟信号名称来访问总线元素。bus1第一个信号是数据集对象,并包含信号一个而且bbus2包含信号c而且d

logsout = out.logsout;一个= logsout.get (1) .Values.a;b = logsout.get (1) .Values.b;c = logsout.get (2) .Values.c;d = logsout.get (2) .Values.d;

加载模型配置

打开模型ex_structtimeseries_aob,它使用一个总线数组作为输入。

open_system (“ex_load_structtimeseries_aob”

该模型使用InAoB输入块加载模拟输入。选择器块从总线数组中选择一个总线,而总线选择器块选择要显示在显示块中的信号。

双击InAoB挡住,看信号的属性对话框的窗格。的数据类型为块设置为公共汽车类定义的类型万博1manbetx仿真软件。公共汽车对象,公共汽车.的港维参数设置为(2 - 1)

你可以看到定义万博1manbetx仿真软件。公共汽车对象,公共汽车,在回调选项卡。此模型使用PreLoadFcn来定义总线对象。

打开模型配置参数并查看输入参数。模型使用变量inputAoB作为输入。

创建总线模拟输入数组

使用万博1manbetxSimulink.SimulationData.createStructOfTimeseries以及在第一部分中记录的数据,以创建一个结构作为总线数组的模拟输入加载。将尺寸指定为(2 - 1)以匹配尺寸InAoB块。

inputAoB = 万博1manbetxSimulink.SimulationData.createStructOfTimeseries (“公共汽车”...} {a, b, c, d, 1 [2]);

在模拟模型时,Display块显示信号的数据一个bc,d记录的ex_log_structtimeseries模型。总线数组包含两个带信号的总线一个而且b万博1manbetxSimulink.SimulationData.createStructOfTimeseries重命名信号c而且d匹配万博1manbetx仿真软件。公共汽车总线数组使用的规范。

inputAoB (2)
Ans =带有字段的struct: a: [1x1 timeseries] b: [1x1 timeseries]

模拟模型。显示块显示记录的值。

aob_out = sim卡(“ex_load_structtimeseries_aob”);

在R2016a之前的版本中,当您使用ModelDataLogs格式,总线数据存储为万博1manbetx仿真软件。TSArray对象。无法记录数据ModelDataLogs使用R2016a之后的版本。在本例中,日志数据,logsout,已登录ModelDataLogs使用R2016a之前的版本。的变量logsout包含单个总线的数据,bus1

logsout
logsout =仿万博1manbetx真软件。ModelDataLogs(log_modeldatalogs): Name Elements Simulink Class bus1 2 TsArray

要将日志数据加载为总线的模拟输入,请创建的结构timeseries中的数据bus1

struct_of_ts =...万博1manbetxSimulink.SimulationData.createStructOfTimeseries (logsout.bus1)
Struct_of_ts = const1_sig: [1x1 timeseries]

输入参数

全部折叠

的名字万博1manbetx仿真软件。公共汽车的输出结构中数据的属性timeseries对象。的结构时timeseries对象作为总线的模拟输入busObj是否为根级别定义数据类型的总线轮廓尺寸块。

万博1manbetxSimulink.SimulationData.createStructOfTimeseries验证输入timeseries属性,包括数据类型和复杂性万博1manbetx仿真软件。公共汽车对象的规范。类之间的元素名称不匹配时万博1manbetx仿真软件。公共汽车规格和输入timeseries数据,万博1manbetxSimulink.SimulationData.createStructOfTimeseries重命名的timeseries符合总线规范的数据。当其他属性不匹配时,函数返回一个错误。

例子:“MyInputBus”

的结构timeseries用于创建的输出结构的数据timeseries对象根据万博1manbetx仿真软件。公共汽车对象。结构必须具有与万博1manbetx仿真软件。公共汽车对象。

若要部分指定总线的数据,请使用[]在总线元素的位置使用地线值。

单元阵列的timeseries的输出结构的数据timeseries对象。

若要部分指定总线的数据,请使用[]在总线元素的位置使用地线值。

万博1manbetxSimulink.SimulationData.createStructOfTimeseries函数映射timeseries类指定的层次结构的单元格数组元素万博1manbetx仿真软件。公共汽车对象,使用深度优先搜索。

例子:{ts1, ts2, ts3}

例子:{ts1, [], ts3}

依赖关系

当您指定会变暗参数中的单元格数必须与单元格数组中单个信号元素的数目相匹配万博1manbetx仿真软件。公共汽车对象乘以指定尺寸的乘积。

数组的尺寸timeseries结构,指定为向量。

当您将维度指定为标量时,n,该函数创建一个1——- - - - - -n数组中。

例子:(2, 1)

依赖关系

当您指定会变暗参数中的单元格数必须与单元格数组中单个信号元素的数目相匹配万博1manbetx仿真软件。公共汽车对象乘以指定尺寸的乘积。

数据类型:

万博1manbetx仿真软件。TsArray对象。

在R2016a之前的版本中,会创建信号日志万博1manbetx仿真软件。TsArray对象来存储记录的总线数据。当您希望使用使用记录的数据时,请使用此语法ModelDataLogs在R2016a之前的版本中创建模拟输入。

例子:myTsArrayObj

输出参数

全部折叠

的结构timeseries属性指定的属性万博1manbetx仿真软件。TsArray万博1manbetx仿真软件。公共汽车输入。的结构timeseries对象作为总线的模拟输入。

的结构数组timeseries对象指定的维度会变暗输入。

版本历史

介绍了R2013a