目录
Commonly Used Blocks——Switch、Logical Operator、Relational Operator
一. Switch
过零检测
二. Logical Operator
三. Relational Operator
关系逻辑运算符梳理
参考文章
Commonly Used Blocks——Switch、Logical Operator、Relational Operator
一. Switch
中文译名:开关
图标表示:
模块参数:
- 在首个输入条件处,可以选择判断条件:u2>=阈值,u2>阈值以及u2~=阈值;
>=:大于等于 >:大于 ~=不等于
对于布尔信号的输入(真1,假0),阈值默认0即可,另外可以修改阈值改变大小;
- 若第2个端口决定的判断条件为真,则输出口输出第1个端口的信号;否则输出第3个端口的信号。
- Switch模块支持总线输入,所有总线必须相同(所有元素的层次结构相同并具有相同的名称和属性),非虚拟总线输入中的所有信号必须具有相同的采样时间。
过零检测
- 变步长解算方法会动态地评估下一个采样时刻计算所使用的步长,当前后两个采样点的值变化大时,则缩小采样步长;反之,当前后两个采样点的值变化小时则增大步长。
- 这种做法使得解算器在计算不连续临近区域时使用较小的步长,因为不连续点临近区域值的变化幅度大。这种做法能保证计算的精确度,但却有可能导致采样过于密集步长过小而导致仿真时间太长。
- Simulink使用零检测技术来精确定位不连续点,以免仿真时步长过小导致仿真时间太长,一般情况下能够提高仿真速度,但有可能使仿真到达规定时间长度之前就停止。
- 当采用变步长解算方法仿真时,如果遇到步长自动变得很小导致仿真时间很长或基本没有进度,可以考虑勾选开启过零检测功能。简单说,变步长求解器可以在非连续点添加时间步长来仿真非连续动态系统。过零检测就是为这些不连续点设定的。
二. Logical Operator
中文译名:逻辑运算符
图标表示:
模块参数:
运算符共包含7种:AND、OR、NAND、NOR、XOR、NXOR、NOT
- AND:与——全真为真,一假则假
- OR:或——全假为假,一真则真
NAND:非——至少有一个输入为假,则为真
- NOR:或非——如果所有输入不为真,则为真
- XOR:异或——如果有奇数个输入为真,则为真
- NXOR:异或非——如果有偶数个输入为真,则为真
- NOT:非——输入为假,则为真
外观包含 ‘矩形’ 和 ‘不同’ 两种:
- 选择矩形时,模块形状不变,只是在框图中央显示当前所选择的逻辑操作;
- 选择distinctive时,模块会以IEEE图像符号标准所规定的形式展现出来。
三. Relational Operator
中文译名:关系运算符
图标表示:
模块参数:
包含如图所示的9种关系运算符:
- ==:第一个输入等于第二个输入,True,返回1;
- ~=:第一个输入不等于第二个输入,True,返回1;
- <:第一个输入小于第二个输入,True,返回1;
- <=:第一个输入小于等于第二个输入,True,返回1;
- >=:第一个输入大于等于第二个输入,True,返回1;
- >:第一个输入大于第二个输入,True,返回1;
- isInf:输入的值为无穷,True,返回1;
- isNaN:输入为非数值的值(一般是0/0或∞/∞的情况),True,返回1;
- isFinite:输入为有限值,True,返回1。
关系运算符输入的组合:
- 输入标量,返回标量;
- 输入数组,返回相同维度的数组,其中每个元素是对输入数组逐元素比较的结果;
- 输入标量与数组,返回数组,其中每个元素是标量与对应的输入数组元素比较的结果;
关系逻辑运算符梳理
参考文章
① Simulink仿真 第七节 关系运算符及逻辑运算符模块
②MATLAB Simulink 中的过零检测与代数环文章来源:https://www.toymoban.com/news/detail-449871.html
③matlab中的~用法和~=文章来源地址https://www.toymoban.com/news/detail-449871.html
到了这里,关于Simulink常用模块库(Switch/Logical/Relational Operator)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!