访问总线信号仿金宝app真软件MATLAB函数
这个例子展示了如何读和写仿真软件MATLAB®®总线信号函数通过使用MATLAB和Stateflo金宝appw®结构。MATLAB结构使你不同大小和类型的数据打包成一个变量。您可以创建一个MATLAB结构:
将相关数据存储在一个本地或持久的MATLAB函数的变量
从磁盘读取或写入本地Stateflow结构
接口和仿真软件总线信号的输入或输出金宝app端口
MATLAB函数支持nonvirt金宝appual公交专用道。有关更多信息,请参见复合界面指南(金宝app模型)。
定义结构的MATLAB函数
在这个例子中,Stateflow图流程数据从一个仿真软件总线信号和输出结果到另一个仿真软件总线信号。金宝app这两个定义的输入和输出总线信号金宝appSimulink.Bus
(金宝app模型)对象BusObject
。这些公共汽车有四个方面:某人
,一个
,b
,c
。这个领域某人
也是一个总线信号定义的金宝appSimulink.Bus
对象subbu
。它有一个字段避署
。
图,仿真软件总线信号接口与State金宝appflow结构在
和出
。这个函数sb2abc
提取信息从输入结构并将其存储在本地Stateflow结构localbus
。然后图表写入输出结构通过结合当地的价值结构和数组的一个元素的结构subBusArray
。更多信息访问和修改的内容Stateflow Stateflow结构的结构或数组,明白了Stateflow结构指数和赋值。
MATLAB®函数sb2abc
需要Stateflow结构类型subbu
并返回一个Stateflow结构类型BusObject
。函数分解字段的值避署
从其输入为三个部分:一个矢量,3×2矩阵和标量。该函数将这些组件存储在一个本地MATLAB
相同的字段结构体
金宝appSimulink.Bus
对象BusObject
。MATLAB的函数分配值结构体
输出结构y
。
函数y = sb2abc (u)
%提取数据从输入结构
=双(u.ele (1:2, 1));B = uint8 (u.ele (: 2:3));C =双(u.ele (3,1));
%建立局部结构
X =结构(避署= int8 (0 (3)));= X, Y =结构(某人= a, b = b, c = c);
%将值分配给输出结构
y = y;
结束
定义输入和输出结构
在MATLAB函数中,您可以访问本地Stateflow结构或接口和仿真软件总线信号通过定义输入和输出结构的功能:金宝app
在基本工作空间,创建一个
金宝appSimulink.Bus
对象定义了数据类型的结构。在符号窗格中,选择函数输入或输出。
在属性检查器,设置类型财产
总线:<对象名称>
。用的名称替换<对象名称>金宝appSimulink.Bus
对象定义了Stateflow结构。
例如,在函数sb2abc
:
的类型输入结构的性质
u
被指定为总线:subbu
。的类型输出的属性结构
y
被指定为总线:BusObject
。
有关更多信息,请参见定义Stateflow结构。
定义本地和持久的结构变量
将相关数据存储在一个变量在一个MATLAB函数,您可以创建一个MATLAB结构体
作为一个本地或持久的变量。例如,函数sb2abc
定义了两个当地MATLAB结构暂时存储数据从输入中提取结构u
在写作之前输出结构y
:
X
是一个标量结构体
,有一个字段避署
。这个字段包含3 x3的矩阵的类型int8
匹配的结构金宝appSimulink.Bus
对象subbu
。Y
是一个标量结构体
有四个方面:某人
子结构的类型subbu
,一个
是一个二维矢量的类型双
,b
是一个3×2矩阵的类型uint8
,c
是一个标量类型的吗双
。这些字段的结构相匹配金宝appSimulink.Bus
对象BusObject
。
有关更多信息,请参见为代码生成定义标量结构(金宝app模型)。
另请参阅
结构体
|金宝appSimulink.Bus
(金宝app模型)