概述
Simulink选择器模块(Selector)多维模式的使用
1、模块说明
1、从向量或者矩阵和多维信号选择信号时候的说明如下:
基于您为 Number of input dimensions 参数输入的值,将显示一个索引设置表。表中的每一行对应于 Number of input dimensions 中的一个输入维度。对于每个维度,您可以定义要使用的信号元素。可将向量信号指定为一维信号,将矩阵信号指定为二维信号。当您配置 Selector 模块进行多维信号操作时,模块图标将发生变化。
例如,假设一个 6 维信号具有从 1 开始的索引模式。Selector 模块对话框中的表将发生变化,使每个维度都有一个对应的行。如果如下表所示定义维度,则输出为 Y =
U(1:end,2:6,[1 3 5],Idx4:Idx4+7,Idx5,Idx6(1):Idx6(2)),其中 Idx4、Idx5 和 Idx6 是维度 4、5 和 6 的索引端口。
以上是Matlab帮助文档中说明的原文翻译,能看懂以上的小伙伴们,可以省略以下的内容。
2、一维向量做输入时以上几种下标的使用方法
首先新建的一个模型,添加一个一维的向量模型如下图所示:
输入:一维的列向量从1到10。
输出:由selector模块选择输出元素。
1、“Select all”
“Select all”不需要进一步配置。所有元素都被选中。
2、“Starting index (dialog)”
“Starting index (dialog)”启用 Index 和 Output Size 列。
在 Index 列中输入要选择的元素范围的起始索引,在 Output Size 列中输入要选择的元素数。当输入信号大小可变时,请不要选择此选项。
需要输入两个要素,起始下标和输出大小。
输出结为以3开头的往后延申5个元素,应该为3,4,5,6,7
3、“Index vector (dialog)”
“Index vector (dialog)”启用 Index 列。输入元素索引向量。当输入信号大小可变时,请不要选择此选项。
选择元素1,3,5输出如下图所示
额外拓展一个知识点,当输入信号是一维向量时,可以遍历信号下标,或者输入其他合理的数学表达方式。如下图所示表示从1到10,每隔3个信号选择一个信号。
如下图所示,表示选择信号1到3。
4、“Starting index (port)”
Starting index (port)”启用 Output Size 列。在 Output Size 列中输入要选择的元素数。
这个下标模式和“Starting index (dialog)”相近,唯一不同的是,他可以通改变port的输入值,进而改变输出信号的的起始位。
5、“Index vector (port)”
“Index vector (port)”不需要进一步配置。这个下标模式和“Index vector (dialog)”相近,唯一不同的是,他可以通改变port的输入值,进而改变输出信号,这里就不赘述了。
6、“Starting and ending indices (port)”
“Starting and ending indices (port)”不需要进一步配置。使用此选项将生成可变大小的输出信号。当您更新时,输出维度设置为与输入信号的维度相同。在执行过程中,将根据提供给索引的信号来更新输出维度。记录输出信号数据时,未选择的信号用 NaN 值填充。
通过输入信号端口值,选择输出信号的起始下标。
3、多维向量做输入时以上几种下标的使用方法
有的跟一维的用法差不多就不赘述了,这里挑两个例子说明一下多维信号selector的用法,创建一个二维信号,1到9的3×3二维矩阵。
按照如下的方式选择selector,一个是“Select all”;一个是“Index vector (dialog)”,表示什么含义呢?
图中标号2表示二维向量 行元素 的选择,select all 即选择所有的行元素;
标号为3的表示二维向量 列元素 的下标为 1;
这样由以上两个限制得出选择为3行中属于第1列的元素,结果如下图。
这里重点掌握:Selector 模块对话框中当你选择不同维度的信号是,Selector 模块对话框中的表将发生变化,使每个维度都有一个对应的行,每行对应不同的含义的维度。
例如:三维信号可以看成一个立方体由长宽高构成,第一维度索引号为1,对应的维度为长,第二维度索引号为2,对应的维度为宽,第一维度索引号为3,对应的维度为高。
例如:三维信号可以看成一个立方体由长宽高构成,
第一维度索引号为1,对应的维度为长,
第二维度索引号为2,对应的维度为宽,
第三维度索引号为3,对应的维度为高。
三个维度的输入模式都为“Starting and ending indices (port)”时,本例子中,第一个维度 “长” 选择[3 3],第二个维度 “宽” 选择[3 3],第三个维度 “高” 选择[3 3],即只选择一个顶点坐标点向量,其值为27,输出使用“Starting and ending indices (port)”此选项将生成可变大小的输出信号。**当您更新时,输出维度设置为与输入信号的维度相同。**在执行过程中,将根据提供给索引的信号来更新输出维度。
输出如下图所示,输出宇输入信号维度一致。(正常应该显示27个变量,但是这里只显示了20个有点尴尬,后来改变了输出维维度为分别为[1 3] [1 3] [1 3],结果确实输出27个向量,但是lengend还是20个,可能最多显示20个或者bug吧 )。
参考资料:
https://blog.csdn.net/booksyhay/article/details/86638402
https://ww2.mathworks.cn/help/simulink/slref/selector.html
最后
以上就是唠叨斑马为你收集整理的Simulink选择器模块(Selector)Simulink选择器模块(Selector)多维模式的使用的全部内容,希望文章能够帮你解决Simulink选择器模块(Selector)Simulink选择器模块(Selector)多维模式的使用所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复