全部学习汇总: GitHub - GreyZhang/g_matlab: MATLAB once used to be my daily tool. After many years when I go back and read my old learning notes I felt maybe I still need it in the future. So, start this repo to keep some of my old learning notes servral years ago.
欢迎路过的YUAN类朋友们,希望我们能够相互交流共同成长。如有错误或者不足希望及时指点指出,不胜感激!以下是我的联系方式:
Email:greyzhang@126.com
微信:grey0612
使用M语言处理矩阵或者数组是非常轻松简单的事情,其实Simulink的处理也比较简单。矩阵式的处理一直是MATLAB平台工具的强项。
在Simulink中,矩阵的数值只需要把数值写成一个数组即可。取数组中的某个元素则需要使用特殊的模块——selector。
没有什么建模的经验,从阅读相应的文档以及简单的试用我能够想到的使用场景有三个:
1,取数组中的单个元素
2,取数组中的多个元素重新组合成新的组合
3,简单的查表
模块的试用方式比较方便的有两种,一个是对话框索引,还有一个是输入端口索引。其他的模式基本上是这两个模式的变种,只是在特殊的场景中更加适用。
下面简单的搭建两个最小的模型做演示。
模型1:
对selector模块的配置如下:
运行结果如下:
如同配置参数中所选择的,最终输出的是第1个和第3个元素,如果把index mode改成zero-based,那么索引的使用跟C语言一致。如果把输出改成一个,那么输出的也只有一个相应的元素。修改配置并方针如下:
模型2:
Selector模块输入配置如下:
仿真结果:
修改输入再次仿真:
从上面可以看出,第二种方式有点类似于简单的查表。在simulink的建模中,这种功能使用的比较频繁也是使用起来比较简单灵活的一种方式。与查表不一样的是,这个模块的查表功能简单而且输入轴必须是数组的Index值的组合。从一定意义上来讲,这个模块的功能应该都可以通过查表模块来实现,只不过这个模块专门为数组或者矩阵量身定做。
除了上面演示的简单功能外,这个模块的功能还支持多维数组的处理。这样一看,其实模型的构建还是可以比较灵活的,比起C语言来说还是有一定的优势,灵活度不减而且多了一个仿真的功能。相信凭借方阵这一个优点,很多人还是会买账的。