Simulink常用模块库(Switch/Logical/Relational Operator)

本文详细介绍了Simulink中常用的Switch模块,包括其功能、参数设置和过零检测技术,以及LogicalOperator逻辑运算符的7种类型和RelationalOperator关系运算符的9种运算。这些模块在信号处理和系统建模中起到关键作用,帮助实现复杂的逻辑和比较操作。
摘要由CSDN通过智能技术生成

目录

    Commonly Used Blocks——Switch、Logical Operator、Relational Operator

     一. Switch

 过零检测

    二. Logical Operator

    三. Relational Operator

     关系逻辑运算符梳理

    ​参考文章


Commonly Used Blocks——Switch、Logical Operator、Relational Operator

图1 Switch、Logical Operator、Relational Operator所在位置

 一. Switch

中文译名:开关

图标表示:

图2 Switch Block

模块参数:

图3 模块参数:Switch

  • 在首个输入条件处,可以选择判断条件:u2>=阈值,u2>阈值以及u2~=阈值;

>=:大于等于  >:大于  ~=不等于

对于布尔信号的输入(真1,假0),阈值默认0即可,另外可以修改阈值改变大小;

  • 若第2个端口决定的判断条件为真,则输出口输出第1个端口的信号;否则输出第3个端口的信号。
  • Switch模块支持总线输入,所有总线必须相同(所有元素的层次结构相同并具有相同的名称和属性),非虚拟总线输入中的所有信号必须具有相同的采样时间。

图4 Switch模块演示

 过零检测

  • 变步长解算方法会动态地评估下一个采样时刻计算所使用的步长,当前后两个采样点的值变化大时,则缩小采样步长;反之,当前后两个采样点的值变化小时则增大步长。
  • 这种做法使得解算器在计算不连续临近区域时使用较小的步长,因为不连续点临近区域值的变化幅度大。这种做法能保证计算的精确度,但却有可能导致采样过于密集步长过小而导致仿真时间太长。
  • Simulink使用零检测技术来精确定位不连续点,以免仿真时步长过小导致仿真时间太长,一般情况下能够提高仿真速度,但有可能使仿真到达规定时间长度之前就停止。
  • 当采用变步长解算方法仿真时,如果遇到步长自动变得很小导致仿真时间很长或基本没有进度,可以考虑勾选开启过零检测功能。简单说,变步长求解器可以在非连续点添加时间步长来仿真非连续动态系统。过零检测就是为这些不连续点设定的。

二. Logical Operator

中文译名:逻辑运算符

图标表示:

图5 Logical Operator Block

模块参数:

图6 模块参数:Switch

 运算符共包含7种:AND、OR、NAND、NOR、XOR、NXOR、NOT

  • AND:与——全真为真,一假则假
图7 运算符AND演示
  • OR:或——全假为假,一真则真
图8 运算符OR演示

 NAND:非——至少有一个输入为假,则为真

图9 运算符NAND演示
  •  NOR:或非——如果所有输入不为真,则为真
图10 运算符NOR演示
  • XOR:异或——如果有奇数个输入为真,则为真 
图11 运算符XOR演示
  •  NXOR:异或非——如果有偶数个输入为真,则为真
图12 运算符NXOR演示
  •  NOT:非——输入为假,则为真
图13 运算符NOT演示

 外观包含 ‘矩形’ 和 ‘不同’ 两种:

  • 选择矩形时,模块形状不变,只是在框图中央显示当前所选择的逻辑操作;
  • 选择distinctive时,模块会以IEEE图像符号标准所规定的形式展现出来。
图14 逻辑操作模块的各种外观

三. Relational Operator

中文译名:关系运算符

图标表示:

图15 Relational Operator Block

模块参数:

图16 模块参数: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。
图17 关系运算符演示

 关系运算符输入的组合:

  • 输入标量,返回标量;
  • 输入数组,返回相同维度的数组,其中每个元素是对输入数组逐元素比较的结果;
  • 输入标量与数组,返回数组,其中每个元素是标量与对应的输入数组元素比较的结果;
图18 输入的组合

 关系逻辑运算符梳理

 参考文章

① Simulink仿真 第七节 关系运算符及逻辑运算符模块

②MATLAB Simulink 中的过零检测与代数环

③matlab中的~用法和~=

  • 17
    点赞
  • 103
    收藏
    觉得还不错? 一键收藏
  • 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
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值