金宝appSimulink.Bus.createMATLABStruct

创建MATLAB使用相同的层次结构和属性总线结构

描述

结构= 金宝appSimulink.Bus.createMATLABStruct(公共汽车创建一个或多个MATLAB®具有相同的层次结构和属性与指定的总线结构。所得结构使用的总线的接地值。使用此语法来创建多个总线端口初始化结构。

结构= 金宝appSimulink.Bus.createMATLABStruct(公共汽车创建使用指定的值的一个或多个结构。

结构= 金宝appSimulink.Bus.createMATLABStruct(公共汽车DIMS创建具有指定的尺寸的一个或多个结构。用于公共汽车的阵列创建的结构,包括DIMS论点。

结构= 金宝appSimulink.Bus.createMATLABStruct(公共汽车DIMS范围会在数据中的一个或多个结构字典由指定范围

例子

全部收缩

打开和仿真模型ex_bus_initial_conditions

open_system ('ex_bus_initial_conditions')SIM('ex_bus_initial_conditions');

使用总线对象创建一个MATLAB结构最佳,该模型ex_bus_initial_conditions负载。

mStruct = 金宝appSimulink.Bus.createMATLABStruct('最佳');

设置一个值的领域mStruct与总线元素相对应的结构A1的公共汽车一种

mStruct.A.A1 = 3;mStruct.A
ANS =结构与字段:A1:3 A2:[5X1 INT8]

金宝appSimulink将结构中的其他字段设置为相应总线元素的地面值。

您可以使用mStruct作为初始条件为结构单位延迟块。

为信号元素使用非数据类型的总线创建MATLAB结构。使用的部分结构为元素的子集指定初始化值。当创建的部分结构,与用数据类型对应的元素的字段的数据类型。

打开和仿真模型ex_bus_initial_conditions

open_system ('ex_bus_initial_conditions')SIM('ex_bus_initial_conditions');

C1信号元件,所述块标记Constant5produces使用数据类型int16

查找产生的总线造物主块港口手柄最佳总线信号。

pH值= get_param('ex_bus_initial_conditions / TopBus'“PortHandles”);

创建在总线元件的子集指定值信号通过所创建的部分结构TopBus块。要设置的值C.C1字段,使用类型化表达式。将表达式中的数据类型与模型中信号元素的数据类型相匹配(int16)。

PartialstructForK =结构('B'3,'C'结构('C1',INT16(5)));

通过使用端口句柄创建一个完整的结构(pH值) 为了TopBus块。的地面值覆盖C.C1元素。

外港= ph.Outport;mStruct = 金宝appSimulink.Bus.createMATLABStruct(外港,PartialstructForK);

C.C1在输出结构中继续使用数据类型int16

打开和仿真模型ex_bus_initial_conditions

open_system ('ex_bus_initial_conditions')SIM('ex_bus_initial_conditions');

创建的部分结构为通过所创建的总线元件中的总线的子集TopBus块。

PartialStructForK =结构('一种'结构('A1',4),'B'3)
PartialStructForK =结构与字段:A:[1x1的结构] B:3

使用总线对象创建一个MATLAB结构最佳中,部分结构,和尺寸所得到的结构。

structFromBus = 金宝appSimulink.Bus.createMATLABStruct...'最佳',PartialStructForK,[2 3])
structFromBus = 2×3结构与字段阵列:A B C

要创建多个总线端口初始化结构,指定端口手柄作为参数金宝appSimulink.Bus.createMATLABStruct。结构的所得到的单元阵列使用地面值。

打开和仿真模型ex_two_outports_create_struct

open_system ('ex_two_outports_create_struct')SIM('ex_two_outports_create_struct');

查找总线造物主阻止端口手柄BUS1数字总线

PH_1 = get_param...“ex_two_outports_create_struct /公车造物主”“PortHandles”);ph_2 = get_param...'ex_two_outports_create_struct /公车Creator1'“PortHandles”);

使用端口句柄数组创建MATLAB®结构。

mStruct = 金宝appSimulink.Bus.createMATLABStruct([ph_1.Outport ph_2.Outport])
mStruct = 2×1单元阵列{1x1的结构} {1x1的结构}

创建一个基于连接到总线信号的端口的MATLAB结构。使用部分结构为总线中连接到端口的总线元素的子集指定值。

打开和仿真模型ex_bus_initial_conditions

open_system ('ex_bus_initial_conditions')SIM('ex_bus_initial_conditions');

查找产生的总线造物主块港口手柄最佳总线信号。该外港句柄就是你需要的句柄。

pH值= get_param('ex_bus_initial_conditions / TopBus'“PortHandles”
pH值=结构与字段:INPORT:[29.0006 33.0006 41.0006] OUTPORT:44.0006启用:[]触发:[]州:[] LConn:[] RConn:[] Ifaction:[]复位:[]

创建的部分结构为通过所创建的总线信号TopBus块。您可以使用部分结构为总线元素的子集指定值。

PartialstructForK =结构('一种'结构('A1',4),'B'3)
PartialstructForK = struct with fields: A: [1x1 struct] B: 3

由结构字段表示总线元件Top.BTop.A是在总线层次结构中的同一级别。您可以使用此部分结构来覆盖地面值一种总线信号的元件。

当从总线对象或从总线端口创建一个结构中,可以使用的部分结构作为可选参数。

使用端口句柄(pH值) 为了TopBus块。的地面值覆盖A.A1总线元件。

外港= ph.Outport;mStruct = 金宝appSimulink.Bus.createMATLABStruct(外港,PartialstructForK)
mStruct =结构与字段:A:[1x1的结构] B:3 C:[1x1的结构]

输入参数

全部收缩

的总线信息源,指定为总线对象名,端口句柄,的单元阵列总线对象名称,或端口句柄阵列。

  • 如果使用总线对象名称,则总线对象必须是在MATLAB基工作区或由模型所使用的数据字典。要的数据类型总线对象的名字是字符要么

  • 如果你使用一个端口句柄,那么模型必须成功地使用该功能之前编译。用于端口句柄数据类型是

  • 对于公交车的数组,你不能用一个端口句柄。

  • 如果使用DIMS的说法,那么对于公共汽车参数,使用一个总线的物体或单元阵列总线对象。

指定的单元阵列总线对象名或端口句柄的数组创建具有一个多个结构金宝appSimulink.Bus.createMATLABStruct打电话比使用单独提供更好的性能金宝appSimulink.Bus.createMATLABStruct调用来创建结构。

例子:结构= Simul金宝appink.Bus.createMATLABStruct( 'BusObject')

例子:结构= Simuli金宝appnk.Bus.createMATLABStruct ({‘BusObject’,‘BusObject1})

例子:结构= Simul金宝appink.Bus.createMATLABStruct(portHandle)

例子:结构= Simuli金宝appnk.Bus.createMATLABStruct([portHandle,portHandle1])

数据类型:|字符||结构|细胞

在所得到的结构元件的子集,指定为一个空的矩阵值([]),部分结构,或单元阵列。单元阵列必须包含的总线信息的各指定的源的部分结构或空矩阵。

有关创建局部结构的信息,请参阅创建初始化部分结构

要使用地面值,使用空矩阵。

例子:结构= Simul金宝appink.Bus.createMATLABStruct( 'BusObject',PartialStruct)

数据类型:结构|细胞

所得结构的尺寸,指定为矢量。

如果指定的部分结构的每个维度元件必须是一个整数,其大于或等于1。说法,每个维度元素必须是大于或等于其对应的尺寸元件在部分结构。

例子:结构= Simul金宝appink.Bus.createMATLABStruct( 'BusObject',PartialStruct,[2 3])

例子:结构= Simuli金宝appnk.Bus.createMATLABStruct({ '总线', '总线1', '总线2'},{[],[],[]},{1,2,3})

数据类型:|细胞

数据字典,指定为金宝appSimulink.data.Dictionary宾语。在使用此说法,表示与字典金宝appSimulink.data.Dictionary通过使用对象,例如,在金宝appSimulink.data.dictionary.create要么金宝appSimulink.data.dictionary.open功能。

如果范围是空的,该函数使用MATLAB的基础工作空间的源总线对象。

例子:结构= Simuli金宝appnk.Bus.createMATLABStruct({ '总线', '总线1', '总线2'},{[],[],[]},{1,1,1},dataDictionaryObject)

输出参数

全部收缩

结构以相同的信号的层次结构和属性公共汽车,返回为MATLAB结构或MATLAB结构的单元阵列。

结构尺寸取决于您指定的输入参数:

  • 如果只指定公共汽车参数,则尺寸为1。

  • 如果还指定了参数,则其维数与的维数匹配

  • 如果您指定DIMS参数,则其维数与的维数匹配DIMS

提示

  • 如果使用金宝appSimulink.Bus.createMATLABStruct对于相同的模型(例如,在脚本的循环中),可以通过避免多次模型编译来提高性能。为了提高速度,在多次使用该函数之前将模型放入编译中。例如,把vdp在模型编译,使用这个命令:

    VDP([],[],[], '编译')

    创建MATLAB结构后,使用以下命令终止编译:

    VDP([],[],[], '术语')
  • 您可以使用公共汽车编辑器调用金宝appSimulink.Bus.createMATLABStruct功能通过使用这些方法之一:

    • 选择文件>创建一个MATLAB结构菜单项。

    • 选择总线对象,您希望为其创建完整的MATLAB结构。然后,在工具栏中单击创建一个MATLAB结构按键

    然后,您可以编辑在MATLAB编辑器的MATLAB结构和评估代码在这种结构中创建或更新的值。

  • 您可以使用金宝appSimulink.Bus.createMATLABStruct功能来指定一个参考模型的输出的初始值。有关详细信息,请参见:一节“参考模型的总线输出设置初始值”详细的工作流程与模型参考管理数据的例子。

介绍了R2010a版本