人在仿真软件金宝app

金宝app仿真软件和基于模型的设计

一系列的公共汽车和s函数构建器支持金宝app

本周, Navid Rahbariasr 提出了对支持发布一篇博文金宝app 数组的公交车 被添加到 s函数生成器 在MATLAB R2021b。
这让我意识到我从未涉及一系列公共汽车的基本模型。金宝app所以,本周我们将指导您完成创建数组的基本的巴士,现在得出结论通过描述如何使用在MATLAB R2021b s函数构建器块。

MATLAB等效:结构数组

在MATLAB中,可以使用代码创建一个结构数组
另一个等价的代码可能是:
让我们看看我们能做相同的仿真软件。金宝app

创建一个数组的公交车

在仿真金宝app软件中,相当于一个MATLAB结构总线信号。因此,让我们尝试创建两个相同的总线信号和连接成一个数组使用向量连接块,下面是更新后的模型看起来像图:
如果您熟悉 信号线的风格 在仿真金宝app软件中,您可能已经得出结论,这里是不按预期工作。两个信号的总线创造者1和总线创造者2公交车,但的输出向量4元素的连接是一个向量,而不是一个公交车的数组。
原因是仿真软件可以将总线信号向量。金宝app在这种情况下,模型决定把总线金宝app信号向量,因为他们是虚拟的公交车。只能连接到一个数组中nonvirtual巴士的公交车。
总线信号nonvirtual,可以使用 金宝appSimulink.Bus.createObject 或者是 公共汽车编辑器 创建一个 总线对象
这辆公共汽车对象可以用于总线创造者块指定输出应该nonvirtual:
现在信号线路风格正如预期的那样,我们正在生产两辆公交车的数组。
注意:如果你想避免仿真软件对总线信号矢量,而更愿意得到一个警告或错金宝app误,看诊断 总线信号视为向量

嵌套数组的公交车

让我们扩展我们的例子包括数组的巴士之前创建成一个更大的巴士:
发生,新的总线对象的元素“z”必须“bus1”类型的,维度2。

访问数组的公交车在MATLAB功能块和Stateflow

当喂食一辆公共汽车或巴士的数组 MATLAB功能块 或者一个 Stateflow图表 ,可以访问单个元素在MATLAB就像一个结构数组:
顺便说一下,如果你没有注意到,在MATLAB R2021b, MATLAB函数的代码块现在打开嵌入到仿真软件代替MATLAB编辑器画布。金宝app

访问数组函数生成器的公交车

正如这篇文章的开头所提到的,在MATLAB R2021b支持嵌套数组的公交车已添加到功能构建器。金宝app
我们替换块的MATLAB函数s函数生成器在前面的模型:
对于块接受总线信号,我们首先需要在港口和参数中指定相应的总线对象面板。然后您可以键入C代码相当于上面的MATLAB代码的输出部分功能构建器应用程序,请注意 情况 是一个指针类型,因此我们需要取消对它的使用” - > ”的元素。 也基于c语言使用零索引,所以z将z的第一个元素 [0]:
建筑功能后,你应该注意到一个头文件在当前目录与总线的定义:

现在轮到你了

你是使用数组的巴士吗?你会利用这个新函数生成器通过数组的支持公共汽车到自定义C代码?金宝app在下面的评论中让我们知道。
|

评论

留下你的评论,请点击在这里MathWorks账户登录或创建一个新的。