万博1manbetxSimulink.SimulationData.createStructOfTimeseries
创建的结构timeseries
加载数据作为总线的模拟输入
语法
描述
属性所指定的属性相匹配的结构tsStruct
= 万博1manbetxSimulink.SimulationData.createStructOfTimeseries (busObj
,tsStructIn
)万博1manbetx仿真软件。公共汽车
对象,busObj
的结构指定的数据timeseries
对象,tsStructIn
.
当输入结构中的名称与总线对象指定的名称不匹配时,该函数将重命名输出结构中的字段以匹配总线对象规范。当数据类型和复杂性等其他属性不匹配时,函数返回错误。
您可以使用此语法创建模拟输入,以完全或部分指定总线的数据。方法中的名称,您还可以使用此语法重命名结构元素万博1manbetx仿真软件。公共汽车
对象。
创建一个结构tsStruct
= 万博1manbetxSimulink.SimulationData.createStructOfTimeseries (busObj
,tsCellArray
)timeseries
类指定的属性相匹配的万博1manbetx仿真软件。公共汽车
对象,busObj
的单元格数组指定的数据timeseries
对象,tsCellArray
.
当输入结构中的名称与总线对象指定的名称不匹配时,该函数将重命名输出结构中的字段以匹配总线对象规范。当数据类型和复杂性等其他属性不匹配时,函数返回错误。
的平面列表,您可以使用此语法创建模拟输入,以完全或部分指定总线的数据timeseries
对象。函数映射timeseries
对象指定的层次结构万博1manbetx仿真软件。公共汽车
对象,使用深度优先搜索。
的数组tsStructArray
= 万博1manbetxSimulink.SimulationData.createStructOfTimeseries (busObj
,tsCellArray
,会变暗
)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
,信号一个
,b
,c
,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
为一个
而且0
为b
.当您没有为信号指定数据时,模拟使用地值。
装车= 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.
为一个
而且0
为b
.
装车= sim卡(“ex_load_structtimeseries”);
使用时间序列数据单元格数组部分指定总线数据
当你有timeseries
数据,你可以用万博1manbetxSimulink.SimulationData.createStructOfTimeseries
控件的单元格数组部分指定总线的模拟输入timeseries
数据。加载timeseries
数据信号d
在bus2
中的import块作为部分总线规范的一部分ex_load_structtimeseries
模型。的PreLoadFcn
回调的ex_load_structtimeseries
模型定义万博1manbetx仿真软件。公共汽车
对象,公共汽车
,它定义了import块的数据类型。
d = logsout.get (2) .Values.d;inputBus = 万博1manbetxSimulink.SimulationData.createStructOfTimeseries (“公共汽车”,...{d, []});
模拟模型。信号的显示块一个
在ex_load_structtimeseries
模型显示数据登录信号d
从ex_log_structtimeseries
模型。信号的显示块b
显示0
.
装车= sim卡(“ex_load_structtimeseries”);
总线阵列的负载模拟输入数据
的用法万博1manbetxSimulink.SimulationData.createStructOfTimeseries
函数为总线数组生成模拟输入。您创建timeseries
通过模拟一个模型得到数据。然后,使用记录的数据创建一个输入结构,将其加载到另一个模型中的总线数组中。
创建timeseries
数据
首先,打开ex_log_structtimeseries
模型。
open_system (“ex_log_structtimeseries”)
该模型创建了两个总线,bus1
而且bus2
,使用常量块和总线创建者块。这些信号被命名为一个
,b
,c
,d
.通过模拟模型创建记录总线数据。
= sim卡(“ex_log_structtimeseries”);
输出出
包含一个万博1manbetxSimulink.SimulationData.Dataset
对象,logsout
,使用记录的数据。您可以访问bus1
而且bus2
信号使用得到
函数。每个信号的数据都在万博1manbetxSimulink.SimulationData.Signal
对象值
参数。您可以使用一个点后跟信号名称来访问总线元素。bus1
第一个信号是数据集
对象,并包含信号一个
而且b
.bus2
包含信号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块显示信号的数据一个
,b
,c
,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”);
创建一个结构timeseries
从一个对象万博1manbetx仿真软件。TsArray
对象
在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]
输入参数
busObj
- - - - - -的名字万博1manbetx仿真软件。公共汽车
对象
特征向量
的名字万博1manbetx仿真软件。公共汽车
的输出结构中数据的属性timeseries
对象。的结构时timeseries
对象作为总线的模拟输入busObj
是否为根级别定义数据类型的总线轮廓尺寸块。
万博1manbetxSimulink.SimulationData.createStructOfTimeseries
验证输入timeseries
属性,包括数据类型和复杂性万博1manbetx仿真软件。公共汽车
对象的规范。类之间的元素名称不匹配时万博1manbetx仿真软件。公共汽车
规格和输入timeseries
数据,万博1manbetxSimulink.SimulationData.createStructOfTimeseries
重命名的timeseries
符合总线规范的数据。当其他属性不匹配时,函数返回一个错误。
例子:“MyInputBus”
tsStructIn
- - - - - -的结构timeseries
对象
的结构timeseries
数据
的结构timeseries
用于创建的输出结构的数据timeseries
对象根据万博1manbetx仿真软件。公共汽车
对象。结构必须具有与万博1manbetx仿真软件。公共汽车
对象。
若要部分指定总线的数据,请使用[]
在总线元素的位置使用地线值。
tsCellArray
- - - - - -单元阵列的timeseries
对象
单元阵列的timeseries
对象
单元阵列的timeseries
的输出结构的数据timeseries
对象。
若要部分指定总线的数据,请使用[]
在总线元素的位置使用地线值。
的万博1manbetxSimulink.SimulationData.createStructOfTimeseries
函数映射timeseries
类指定的层次结构的单元格数组元素万博1manbetx仿真软件。公共汽车
对象,使用深度优先搜索。
例子:{ts1, ts2, ts3}
例子:{ts1, [], ts3}
依赖关系
当您指定会变暗
参数中的单元格数必须与单元格数组中单个信号元素的数目相匹配万博1manbetx仿真软件。公共汽车
对象乘以指定尺寸的乘积。
会变暗
- - - - - -输出数组尺寸
向量
数组的尺寸timeseries
结构,指定为向量。
当您将维度指定为标量时,n
,该函数创建一个1
——- - - - - -n
数组中。
例子:(2, 1)
依赖关系
当您指定会变暗
参数中的单元格数必须与单元格数组中单个信号元素的数目相匹配万博1manbetx仿真软件。公共汽车
对象乘以指定尺寸的乘积。
数据类型:双
tsArray
- - - - - -万博1manbetx仿真软件。TsArray
对象
万博1manbetx仿真软件。TsArray
万博1manbetx仿真软件。TsArray
对象。
在R2016a之前的版本中,会创建信号日志万博1manbetx仿真软件。TsArray
对象来存储记录的总线数据。当您希望使用使用记录的数据时,请使用此语法ModelDataLogs
在R2016a之前的版本中创建模拟输入。
例子:myTsArrayObj
输出参数
tsStruct
——结构timeseries
对象
结构体
的结构timeseries
属性指定的属性万博1manbetx仿真软件。TsArray
或万博1manbetx仿真软件。公共汽车
输入。的结构timeseries
对象作为总线的模拟输入。
tsStructArray
数组的timeseries
结构
数组
的结构数组timeseries
对象指定的维度会变暗
输入。
版本历史
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。万博1manbetx
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。