主要内容

得到

得到元素或元素的集合万博1manbetxSimulink.SimulationData.Dataset对象

描述

例子

元素= (数据集,指数)返回元素万博1manbetxSimulink.SimulationData.Dataset对象数据集对应的索引。的getElement函数使用相同的语法和行为得到函数。

例子

元素= (数据集,elName)返回指定的元素或元素elName

  • 如果只有一个元素的名称elName函数返回该元素。

  • 如果多个元素的名字elName,函数返回一个万博1manbetxSimulink.SimulationData.Dataset包含这些元素的对象。

例子

元素= (数据集,{elName})返回一个数据集对象包含一个或多个元素的名称elName

例子

全部折叠

访问一个万博1manbetxSimulink.SimulationData.Dataset对象及其元素。

模拟模型sldemo_clutch模型一个旋转离合器系统。然后,访问数据集对象sldemo_clutch_output,其中包含信号测井资料。关于模型的更多信息,请参阅建立一个离合器锁定模式

sim卡(“sldemo_clutch”);sldemo_clutch_output
sldemo_clutch_output = 万博1manbetxSimulink.SimulationData。数据集'sldemo_clutch_output' with 10 elements Name BlockPath ____________ _________________________________ 1 [1x1 Signal] Fn sldemo_clutch/Clutch Pedal 2 [1x1 Signal] Tin sldemo_clutch/Engine Torque 3 [1x1 Signal] LockedFlag sldemo_clutch/Friction Mode Logic 4 [1x1 Signal] LockupFlag sldemo_clutch/Friction Mode Logic 5 [1x1 Signal] UnlockFlag sldemo_clutch/Friction Mode Logic 6 [1x1 Signal] Tfmaxk sldemo_clutch/Friction Model 7 [1x1 Signal] Tfmaxs sldemo_clutch/Friction Model 8 [1x1 Signal] ShaftSpeed sldemo_clutch/Locked 9 [1x1 Signal] EngineSpeed sldemo_clutch/Unlocked 10 [1x1 Signal] VehicleSpeed sldemo_clutch/Unlocked - Use braces { } to access, modify, or add elements using index.

访问数据集对象元素,您可以使用索引和花括号。例如,访问元素信号的日志记录数据集对象使用索引2

el2 = sldemo_clutch_output {2}
el2 = 万博1manbetxSimulink.SimulationData。信号包:仿真软件。万博1manbetx模拟数据Properties: Name: 'Tin' PropagatedName: '' BlockPath: [1x1 Simulink.SimulationData.BlockPath] PortType: 'outport' PortIndex: 1 Values: [1x1 timeseries] Methods, Superclasses

信号数据的存储财产的万博1manbetxSimulink.SimulationData.Signal对象作为timeseries对象。值的时间时间财产的timeseries对象。信号值数据财产。

el2.Values
timeseries共同的属性:名称:“锡”时间:把TimeInfo设为[387 x1双]:tsdata。timemetadata数据:x1双[387]DataInfo: tsdata.datametadata

模拟模型GetDatasetElements三源生成的日志数据块使用数据集格式。

= sim卡(“GetDatasetElements”);

默认情况下,将返回所有记录数据在一个单一的变量在工作区中万博1manbetxSimulink.SimulationOutput对象命名。记录输出数据分组万博1manbetxSimulink.SimulationData.Dataset对象的默认名称。您可以访问记录的输出数据使用点符号。

out.yout
ans = 万博1manbetxSimulink.SimulationData。数据集'yout' with 3 elements Name BlockPath ________ _______________________ 1 [1x1 Signal] SameName GetDatasetElements/Out1 2 [1x1 Signal] SameName GetDatasetElements/Out2 3 [1x1 Signal] DifName GetDatasetElements/Out3 - Use braces { } to access, modify, or add elements using index.

使用得到函数来访问的第二个元素数据集对象使用索引2

el =得到(out.yout, 2)
el = 万博1manbetxSimulink.SimulationData。信号包:仿真软件。万博1manbetx模拟数据Properties: Name: 'SameName' PropagatedName: '' BlockPath: [1x1 Simulink.SimulationData.BlockPath] PortType: 'inport' PortIndex: 1 Values: [1x1 timeseries] Methods, Superclasses

该模型GetDatasetElements使用日志由三源生成的数据块数据集格式。在模型中,来自正弦波的信号块和常数块共享相同的名称。来自脉冲发生器的信号块都有一个惟一名称。

open_system (“GetDatasetElements”)

模拟模型。

= sim卡(“GetDatasetElements”);

默认情况下,将返回所有记录数据在一个单一的变量在工作区中万博1manbetxSimulink.SimulationOutput对象命名。访问万博1manbetxSimulink.SimulationData.Dataset对象包含记录输出数据使用点符号。

out.yout
ans = 万博1manbetxSimulink.SimulationData。数据集'yout' with 3 elements Name BlockPath ________ _______________________ 1 [1x1 Signal] SameName GetDatasetElements/Out1 2 [1x1 Signal] SameName GetDatasetElements/Out2 3 [1x1 Signal] DifName GetDatasetElements/Out3 - Use braces { } to access, modify, or add elements using index.

使用得到函数返回元素的名称DifName。因为这个名字DifName是独一无二的,函数返回一个吗万博1manbetxSimulink.SimulationData.Signal对象元素。

el =得到(out.yout,“DifName”)
el = 万博1manbetxSimulink.SimulationData。信号包:仿真软件。万博1manbetx模拟数据Properties: Name: 'DifName' PropagatedName: '' BlockPath: [1x1 Simulink.SimulationData.BlockPath] PortType: 'inport' PortIndex: 1 Values: [1x1 timeseries] Methods, Superclasses

您还可以使用得到当一个元素没有独特的函数。因为这个名字SameName不是独一无二的,函数返回一个万博1manbetxSimulink.SimulationData.Dataset对象包含的元素名称SameName

ds =得到(out.yout,“SameName”)
ds = 万博1manbetxSimulink.SimulationData。数据集'' with 2 elements Name BlockPath ________ _______________________ 1 [1x1 Signal] SameName GetDatasetElements/Out1 2 [1x1 Signal] SameName GetDatasetElements/Out2 - Use braces { } to access, modify, or add elements using index.

该模型GetDatasetElements使用日志由三源生成的数据块数据集格式。在模型中,来自正弦波的信号块和常数块共享相同的名称。来自脉冲发生器的信号块都有一个惟一名称。

open_system (“GetDatasetElements”)

模拟模型。

= sim卡(“GetDatasetElements”);

默认情况下,将返回所有记录数据在一个单一的变量在工作区中万博1manbetxSimulink.SimulationOutput对象命名。访问万博1manbetxSimulink.SimulationData.Dataset对象包含记录输出数据使用点符号。

out.yout
ans = 万博1manbetxSimulink.SimulationData。数据集'yout' with 3 elements Name BlockPath ________ _______________________ 1 [1x1 Signal] SameName GetDatasetElements/Out1 2 [1x1 Signal] SameName GetDatasetElements/Out2 3 [1x1 Signal] DifName GetDatasetElements/Out3 - Use braces { } to access, modify, or add elements using index.

使用得到函数与一个细胞包含一个特征向量返回一个数组数据集对象。如果元素名称是独一无二的,得到函数返回一个数据集对象包含一个元素。如果元素名称并不是唯一的,得到函数返回一个数据集对象包含所有元素的名字。例如,创建一个数据集包含元素命名的对象DifName

ds =得到(out.yout, {“DifName”})
ds = 万博1manbetxSimulink.SimulationData。数据集'' with 1 element Name BlockPath _______ _______________________ 1 [1x1 Signal] DifName GetDatasetElements/Out3 - Use braces { } to access, modify, or add elements using index.

该模型AccessDatasetNestedBus包含嵌套数组的公交车。两个数组的公交车,Bus2Bus3标记为日志记录。topBus记录使用外港。这个例子展示了如何访问数据集总线中元素的层次结构。

开放和模拟模型。

mdl =“AccessDatasetNestedBus”;open_system (mdl) = sim (mdl);

返回所有记录数据在一个单一的变量,,作为一个万博1manbetxSimulink.SimulationOutput对象。访问数据集对象,该对象包含信号测井资料,logsout,使用点符号。

ds = out.logsout
ds = 万博1manbetxSimulink.SimulationData。数据集'logsout' with 2 elements Name BlockPath ____ ________________________________________ 1 [1x1 Signal] Bus3 ...ssDatasetNestedBus/Matrix Concatenate 2 [1x1 Signal] Bus2 ...sDatasetNestedBus/Vector Concatenate1 - Use braces { } to access, modify, or add elements using index.

数据topBus登录到数据集对象

ds2 = out.yout
ds2 = 万博1manbetxSimulink.SimulationData。数据集'yout' with 1 element Name BlockPath ______ ___________________________ 1 [1x1 Signal] topBus AccessDatasetNestedBus/Out1 - Use braces { } to access, modify, or add elements using index.

您可以使用得到函数来访问日志信息中每一个元素的信号数据集对象。例如,使用得到函数返回万博1manbetxSimulink.SimulationData.Signal对象数组的汽车命名Bus2

get (ds,“Bus2”)
ans = 万博1manbetxSimulink.SimulationData。信号包:仿真软件。万博1manbetx模拟数据Properties: Name: 'Bus2' PropagatedName: '' BlockPath: [1x1 Simulink.SimulationData.BlockPath] PortType: 'outport' PortIndex: 1 Values: [2x1 struct] Methods, Superclasses

记录的数据值存储在财产的信号对象。公交车的一个数组,数组的数据记录MATLAB®结构。

get (ds,“Bus2”). values
ans =2×1结构体数组字段:一个b

您可以访问一个特定的结构数组中使用的索引结构。例如,访问包含结构timeseries对象来自不断的信号块Constant6Constant7,使用索引2

get (ds,“Bus2”). values (2)
ans =结构体字段:[1 x1 timeseries] b: [1 x1 timeseries]

访问一个timeseries对象在使用点符号结构。例如,访问timeseries对象的信号来自Constant6块。

get (ds,“Bus2”). values (2)。
timeseries共同的属性:名称:a:把TimeInfo设为[51 x1双]:tsdata。timemetadata数据:[51 x1双]DataInfo: tsdata.datametadata

信号值是存储在数据财产。

get (ds,“Bus2”). values (2) .a.Data
ans =51×16 6 6 6 6 6 6 6 6 6⋮

假设你不想马克Bus2为日志记录。你也可以来自信号值信号Constant6块使用数据集对象元素Bus3

get (ds,“Bus3”). values (2, 2) .a.Data
ans =51×16 6 6 6 6 6 6 6 6 6⋮

类似地,您还可以访问来自信号值信号Constant6块使用数据集对象元素topBus

get (ds2、“topBus”.a.Data) .Values.Bus3 (2, 2)
ans =51×16 6 6 6 6 6 6 6 6 6⋮

输入参数

全部折叠

数据集对象的元素,指定为一个万博1manbetxSimulink.SimulationData.Dataset对象。

索引的元素,指定为一个正整数。

的名字数据集对象元素,指定为:

  • 一个字符串反映的名称数据集对象元素。

  • 一个字符数组反映的名称数据集对象元素。

  • 一个细胞包含一个字符数组向量反映的名称数据集对象元素。返回一个数据集对象可以包含一个元素,使用这种格式。在编写脚本时考虑这种形式。

选择

而不是使用得到getElement,您可以使用花括号来简化索引的语法来访问中的一个元素数据集对象。索引必须是一个正整数,不大于元素变量的数量。例如,得到的第二个元素logsout数据集。

logsout {2}

您还可以使用找到函数来得到一个元素或元素从一个数据集的集合。

版本历史

介绍了R2011a