万博1manbetxSimulink.Bus.createMATLABStruct

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

描述

例子

结构体= 万博1manbetxSimulink.Bus.createMATLABStruct (公共汽车创建一个或多个MATLAB®具有与指定的总线相同的层次结构和属性的结构。最终的结构使用了公共汽车的地面值。使用此语法可为多个总线端口创建初始化结构。

例子

结构体= 万博1manbetxSimulink.Bus.createMATLABStruct (公共汽车创建一个或多个使用指定值的结构。

例子

结构体= 万博1manbetxSimulink.Bus.createMATLABStruct (公共汽车会变暗创建一个或多个具有指定维度的结构。要为总线数组创建结构,请包含会变暗论点。

结构体= 万博1manbetxSimulink.Bus.createMATLABStruct (公共汽车会变暗范围在指定的数据字典中创建一个或多个结构范围

例子

全部折叠

开放仿真模型ex_bus_initial_conditions

open_system (“ex_bus_initial_conditions”) sim卡(“ex_bus_initial_conditions”);

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

mStruct = 万博1manbetxSimulink.Bus.createMATLABStruct (“高级”);

属性的字段设置值mStruct对应于总线元素的结构A1的公共汽车一个

mStruct.A。A1 = 3;mStruct。一个
ans = struct with fields: A1: 3 A2: [5x1 int8]

万博1manbetxSimulink将结构中的其他字段设置为相应总线元素的接地值。

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

为总线创建一个MATLAB结构,该总线的信号元素使用的数据类型不是.使用部分结构来指定元素子集的初始化值。在创建部分结构时,将字段的数据类型与相应元素的数据类型匹配。

开放仿真模型ex_bus_initial_conditions

open_system (“ex_bus_initial_conditions”) sim卡(“ex_bus_initial_conditions”);

C1块标记的信号元素Constant5生成使用数据类型int16

的总线创建器块端口的端口句柄总线信号。

ph = get_param (“ex_bus_initial_conditions / TopBus”“PortHandles”);

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

PartialstructForK =结构(“B”3,“C”结构(“C1”int16 (5)));

使用端口句柄创建完整的结构(ph值)TopBus块。覆盖地面值为C.C1B元素。

外港= ph.Outport;mStruct = 万博1manbetxSimulink.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 = struct with fields: A: [1x1 struct] B: 3

使用总线对象创建一个MATLAB结构,一个部分结构,以及结果结构的维数。

structFromBus = 万博1manbetxSimulink.Bus.createMATLABStruct...“高级”、PartialStructForK [2 3])
structFromBus = 2x3 struct array with fields: A B C

要为多个总线端口创建初始化结构,请指定端口句柄作为参数万博1manbetxSimulink.Bus.createMATLABStruct.得到的结构单元阵列使用地值。

开放仿真模型ex_two_outports_create_struct

open_system (“ex_two_outports_create_struct”) sim卡(“ex_two_outports_create_struct”);

找到总线创建器块的端口句柄Bus1Bus2

ph_1 = get_param...“ex_two_outports_create_struct /总线的创造者”“PortHandles”);ph_2 = get_param...“ex_two_outports_create_struct /总线Creator1”“PortHandles”);

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

mStruct = 万博1manbetxSimulink.Bus.createMATLABStruct ([ph_1。外港ph_2.Outport])
mStruct = 2x1 cell array {1x1 struct} {1x1 struct}

创建一个基于连接总线信号的端口的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 = struct with fields: Inport: [29.0016 31.0016 41.0016] Outport: 42.0016 Enable: [] Trigger: [] State: [] LConn: [] RConn: [] Ifaction: [] Reset: []

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

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

由结构字段表示的总线元素上面。B上面。一个在总线层次结构中的相同级别。属性的基础值可以使用此部分结构覆盖B一个总线信号元素。

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

使用端口句柄创建MATLAB结构(ph值)TopBus块。覆盖地面值为A.A1B总线的元素。

外港= ph.Outport;mStruct = 万博1manbetxSimulink.Bus.createMATLABStruct(外港,PartialstructForK)
mStruct = struct with fields: A: [1x1 struct] B: 3 C: [1x1 struct]

输入参数

全部折叠

总线信息的来源,指定为公共汽车对象名称,端口句柄,单元格数组公共汽车对象名称或端口句柄数组。

  • 如果你使用公共汽车对象名称,然后是公共汽车对象必须在MATLAB基础工作空间或模型所使用的数据字典中。的数据类型公共汽车对象的名字是字符字符串

  • 如果使用端口句柄,那么在使用此函数之前,模型必须成功编译。端口句柄的数据类型为

  • 对于总线数组,不能使用端口句柄。

  • 如果你使用会变暗论点,那么公共汽车参数,使用一个公共汽车对象或单元格数组公共汽车对象。

指定单元格数组公共汽车对象名称或端口句柄数组使用一个创建多个结构万博1manbetxSimulink.Bus.createMATLABStruct调用并提供比单独使用更好的性能万博1manbetxSimulink.Bus.createMATLABStruct调用来创建结构。

例子:struct = 万博1manbetxSimulink.Bus.createMATLABStruct(“BusObject”)

例子:结构= Simuli万博1manbetxnk.Bus.createMATLABStruct({‘BusObject’,‘BusObject1})

例子:struct = 万博1manbetxSimulink.Bus.createMATLABStruct (portHandle)

例子:结构= Simuli万博1manbetxnk.Bus.createMATLABStruct ([portHandle portHandle1])

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

结果结构中元素子集的值,指定为空矩阵([])、部分结构或单元阵列。单元阵列必须包含每个指定总线信息源的部分结构或空矩阵。

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

要使用接地值,请使用空矩阵。

例子:struct = 万博1manbetxSimulink.Bus.createMATLABStruct (BusObject, PartialStruct)

数据类型:结构体|细胞

结果结构的尺寸,指定为向量。

每个维度元素必须是大于等于1的整数。的部分结构参数时,每个维度元素必须大于或等于部分结构中相应的维度元素。

例子:struct = 万博1manbetxSimulink.Bus。PartialStruct createMATLABStruct (' BusObject ', 3 [2])

例子:结构= Simuli万博1manbetxnk.Bus.createMATLABStruct({‘公车’,‘Bus1’,‘Bus2 '},{[],[],[]},{ 1、2、3})

数据类型:|细胞

数据字典,指定为万博1manbetxSimulink.data.Dictionary对象。在使用此参数之前,用万博1manbetxSimulink.data.Dictionary对象,例如万博1manbetxSimulink.data.dictionary.create万博1manbetxSimulink.data.dictionary.open函数。

如果范围为空,函数使用MATLAB基工作空间作为公共汽车对象。

例子:结构= Simuli万博1manbetxnk.Bus.createMATLABStruct({‘公车’,‘Bus1’,‘Bus2 '},{[],[],[]},{ 1, 1, 1}, dataDictionaryObject)

输出参数

全部折叠

具有与总线相同的信号层次结构和属性的结构,返回为MATLAB结构或MATLAB结构的单元数组。

结构维度取决于你指定的输入参数:

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

  • 如果您还指定参数,则尺寸与的尺寸匹配

  • 如果指定会变暗参数,则尺寸与的尺寸匹配会变暗

提示

  • 如果你使用万博1manbetxSimulink.Bus.createMATLABStruct对于相同的模型重复执行函数(例如,在脚本的循环中),您可以通过避免多个模型编译来提高性能。为了提高速度,在多次使用函数之前,将模型放入compile中。例如,把vdp编译模型时,使用下面的命令:

    vdp ([],[],[],' 编译”)

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

    vdp ([],[],[],' 词”)
  • 你可以使用公共汽车编辑器来调用万博1manbetxSimulink.Bus.createMATLABStruct函数使用以下方法之一:

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

    • 选择公共汽车对象,您需要为其创建一个完整的MATLAB结构。然后,在工具栏中,单击创建MATLAB结构按钮

    然后,您可以在MATLAB Editor中编辑MATLAB结构,并计算代码以创建或更新该结构中的值。

  • 你可以使用万博1manbetxSimulink.Bus.createMATLABStruct函数指定引用模型输出的初始值。详细信息请参见“参考模型:设置总线输出初始值”章节使用模型参考管理数据的详细工作流的例子。

介绍了R2010a