Simulink 最基础教程(三)常用模块

3.1源模块

在这里插入图片描述
1)clock
这个模块的输出是 y(t)=t。很多信号都是和时间 t 相关的,例如正弦波信号,可以写成 sin(w*t) 的形式。虽然软件也提供了正弦波模块,但如果用 clock 模块+三角运算模块,对初学者而言,也是很好的做法,至少减轻了很多负担:基于几个模块就可以建立大部分信号源。

2)constant
模块的输出是 y(t)=value,其中value的默认值是1。这里引出一个“模块参数”的概念。双击模块后,弹出的对话框里,所有可以设定的量,就称为模块参数,比如 constant 模块最重要的模块参数,就是 value。需要注意的是,这个value可以写1*1的标量,也可以写向量或者矩阵。在 signal attributes 标签下,还有其他的模块参数,比如之前一直强调的 data type,就可以设定后续信号线上的数据类型。
在这里插入图片描述
3)repeating sequence
只看模块图片,一般人会以为这是“锯齿波”,但其实这个模块的功能远不止如此。双击模块可以看到 time 和 output 两个 value,填入两个等长的向量即可。效果上,相当于输出一个信号 plot(time,output) 的周期延拓。和 plot 的思路一样,只要能用描点法描述的函数波形,都能用这个模块实现。
在这里插入图片描述

3.2运算模块

1)连续传函
自动控制原理里,会大量用到线性时不变系统,这些模块都在这个库里,用状态方程描述的state-space,用传递函数描述的 transfer Fcn,以及其中的特例,积分模块。
在这里插入图片描述
2)离散传函
与连续传函对应的,是离散传函。特别的,unit delay模块。这里对应1.4.2求解常微分方程组的例子,如果是求解离散系统的迭代方程 x(k+1)=f(x(k),u(k),t(k)),那么这个过程就是拖拽一堆unit delay模块,将他们的输出定义为 x(k),搭建函数 f 后,再将结果交给 unit delay 的输入。
在这里插入图片描述
3)比较和逻辑运算
主要是两个模块,Logical Operator用来实现与或非的运算,双击之后,除了 operator 这个模块参数外,还有一个 icon shape,用来调整模块的外观,可以让模块看起来更像逻辑门。Relational Operator是比较模块,一般使用时,先将信号线连到比较模块,然后再交给与或非运算,用来实现 MATLAB 中的 if 逻辑表达式。
在这里插入图片描述
4)数学运算
这个库涵盖了加减乘除、三角、指数等常用数学符号,基本上初等函数都在这里了。Add模块双击后,会有模块参数 list of signs,用于控制输入的个数和其运算的规则。例如三个加号,那么输出信号就是三个信号相加的结果。同样的逻辑也适用于divide模块。对乘除法模块有一些额外说明,就是multiplication这个模块参数,可以选择点乘,也可以选叉乘。这两种乘法与 MATLAB 中的定义一样。剩下的几个模块,都是双击后能有多种选择,都是初等函数。
在这里插入图片描述

3.3终点模块

暂时只需要知道 scope 就足够日常使用了。双击 scope后,有几个需要注意的地方
1)小齿轮按钮,可以调节输入个数,从而一个模块观察多个输入。
2)工具栏上有缩放,用来观察特定区域的信号
3)有个logging限制,可以只显示信号线 y(t) t=最后一段时间,的时域波形。
在这里插入图片描述

3.4流程控制模块

MATLAB里说的流程控制,一般是指for,while,if,switch这些,Simulink里要实现 for 和 while 比较少见,但实现 if 的情况还是很多的,这时,需要 switch 模块。这个模块的原理是根据第二个信号的值,来判断输出第一个信号还是第三个信号,相当于MATLAB的代码
if u2>th
Out=u1
else
Out=u3
end
在这里插入图片描述

3.5 信号线属性模块

在 2.3 中有讲,信号线的基本属性是采样时间、维度、数据类型,这里有两个模块可以强制信号线的采样时间和数据类型,当遇到关于信号线属性不匹配的报错时,可以用这两个模块解决。例如图中,假设左边模块输出 int8 数据类型,而右边模块希望输入是 int16 数据类型,这样直接连线会造成报错,说数据类型不匹配。此时加入一个 convert,将左边的 int8 输出,转成 int16,就满足了右边模块的要求。
在这里插入图片描述
在这里插入图片描述

3.6小结

Simulink提供了如此众多的模块,就如同 MATLAB提供了如此众多的函数一般,这里只是介绍了一些我自认为常用的模块,更多模块还是要边用边学。

  • 26
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Matlab Simulink是一种广泛应用于系统建模和仿真的工具,其常用模块库对应中文名称如下: 1. Continuous Library (连续系统库):提供了一系列用于建模和仿真连续系统的模块,如积分器(Integrator)、增益(Gain)等。 2. Discrete Library(离散系统库):包含了一些用于建模和仿真离散系统的模块,如单位延迟(Unit Delay)、采样时间(Sample Time)等。 3. Sources Library(信号源库):提供了多个产生系统输入信号的模块,如恒定值(Constant)、正弦波(Sine Wave)等。 4. Sinks Library(信号输出库):包含了多个用于将系统输出信号显示或保存的模块,如显示(Scope)、写入文件(To Workspace)等。 5. Math Operations Library(数学运算库):提供了多个常见的数学运算模块,如加法(Add)、乘法(Product)等。 6. Logic and Bit operations Library(逻辑和位运算库):包含了一些用于逻辑运算和位操作的模块,如与门(AND)、位掩码(Bitwise Operator)等。 7. Signal Routing Library(信号路由库):提供了多个模块,用于对信号进行分支和路由,如选择(Switch)、数据转换(Data Type Conversion)等。 8. Simulink Ports and Subsystems Library(Simulink端口和子系统库):包含了一些用于构建系统模型的模块,如输入端口(Inport)、输出端口(Outport)和子系统(Subsystem)等。 9. Simulink Extras Library(Simulink额外库):提供了一些附加功能和特殊用途的模块,如仿真时间显示(Simulation Time Displayer)和事件管理器(Event Enabled Enabled Subsystem)等。 以上是Matlab Simulink常用模块库的中文名称,它们可以帮助用户方便地进行系统建模和仿真工作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凉亭下

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值