新浪博客

[原创]在Simulink中使用方形还是圆行Sum(求和)模块呢

2013-05-19 09:57阅读:
本文原创自MATLAB技术论坛,原帖参见http://www.matlabsky.com/thread-35510-1-1.html
在使用Simulink的过程中,发现很多用户不知道如何、或者没有时间来设置Sum模块的端口。比如,当我看到下面的框图时,让我感觉的相当刺眼:
lookingBad.png
下面提供一些小Tips,让您的Sum模块看起来更加舒服和便于理解。
圆形(Round)Sum模块
从Simulink模块库中拖拽新的Sum模块时,它默认形状是圆形的,并且在左边和下边分别具有一个输入端口:

defaultSumBlock.png
当Sum模块形状设置为Round时,所有的输入端口从上到下均匀的分布,很多同学发现上图的List of signals中有一个'|',不知道这个是做什么的,其实这个是一个占位符(非必须),表示要将这个端口位置空出来,比如
sumsigallist.png
如果我们想在模块上面添加一个端口,就可以这样修改信号列表(去掉那个|,添加三个+++)
threeSumBlock.png
方形(Rectangular)Sum模块
直接将默认Sum模块的形状修改为Rectangular,效果如下
defaultRectangularSumBlock.png
在使用方形Sum模块时,个人认为,没有任何好的理由使用占位符('|'),因此大部分情况最好将'|'删除
RectangularSumBlock.png
Sum模块的信号
有时我们需要对一个向量或数组进行求和,此时可以将List of signs只有一个'+',然后Sum over选择All dimensions(对所有元素求和)
sumOfAllElements.png
另外求和模块还可以指定求和的维数方向
sumOfElements.png
细心的朋友就会发现,以前一直以为Sum模块只能做两或三个数的加法,原来将Sum的端口修改下成一个'+',就可以变成sum函数的功能!其实这条在Product(相乘)模块中也是通用的
到底是方形还是圆形呢
既然方形也可以,圆形也不错,那Sum模块到底使用方形还是圆形呢?其实,这个没有绝对的规则,只是个人习惯而已,但是个人认为:
(1)当执行从左到右的流程(没有反馈信号)时,使用方形看起来更舒服些,比如

rectangularFlow.png
(2)当流程中包含反馈信号时,保持默认的圆形是一个不错的主意:
roundForFeedback.png

我的更多文章

下载客户端阅读体验更佳

APP专享