MBD_入门篇_17_Simulink逻辑和位运算模块

17.Simulink逻辑和位运算模块

17.1 概述

Logic And Bit Operation,逻辑和位运算操作模块。

17.2 逻辑运算模块LogicalOperator

可以对输入做与、或、非、异或等逻辑运算。

简单示例。

17.3 比较运算模块RelationOperation

比较两个数的大小等运算。

注意,Matlab的不等于用~=,c语言的不等于是用!=

17.4 与零比较模块CompareToZero

用输入值和零作比较的模块,运算方式跟比较运算一样,可以选择大于,小于,等于等等。

设置比较运算方式。

输出数据类型设置,推荐用boolean类型,跟比较模块一样。

17.5 与常量比较模块CompareToConstant

用输入值和常量作比较,运算方式跟比较运算一样,可以选择大于,小于,等于等等。

和上面CompareToZero模块唯一的不同就是,这个模块比较的值可以设定,通过参数设定。

17.6 检测跳变模块DetectChange

检测当前值与上一个周期的值是不是不一样,不一样的话输出true。

与延时模块一样,需要设置初始值。

输出数据类型建议用boolean。

17.7 检测减小模块DetectDecrease

检测当前值是不是比上一个周期的值小,小的话输出true。

17.8 检测增大模块DetectIncrease

检测当前值是不是比上一个周期的值大,大的话输出true。

17.9 检测跌落为负数模块DetectFallNegative

上一个时刻为非负数,这个时刻为负数的时候,输出为true

17.10 检测跌落为非正数模块DetectFallNonpositive

上一个时刻为正数,这个时刻为非正数的时候,输出为true

17.11 检测上升为非负数模块DetectRiseNonnegative

上一个时刻为负数,这个时刻为非负数的时候,输出为true

17.12 检测上升为正数模块DetectRisePostive

上一个时刻为非正数,这个时刻为正数的时候,输出为true

17.13 清除位操作模块BitClear

清除对应的模块参数设置里的Index值,最低位是0开始,不是1。比如说8bit的数据,位数就是从0到7,最低位是0,最高位是7.16bit的数据,位数就是从0到15,最低位是0,最高位是15。

清除第7bit后的输出。

17.14 置位操作模块BitSet

将Index值的那一位设置为1。

置位第0bit的输出。

17.15 位域运算模块BitwiseOperator

可以进行位与运算,位或运算等。

位操作选择,与,或,非,异或等。

选择使用mask的话,我们就要在下面设置mask的值,输入的数量就会直接限制为1。

使用mask进行位与运算。

多个输入进行位与运算。

多个输入进行位或运算。

位非运算和多个输入进行位异或运算。

17.16 移位操作模块ShiftArithmetic

进行移位操作。

设置移位的方向,Number是位数。

移位运算,向左移2位,输出结果。

向左移2位,相当于乘以2的2次方。向右移3位,相当于乘以2的-3次方。模型中的乘法运算如果是2的n次方运算,生成代码可以优化为移位运算,增加运行效率。

方向选择Bidirectional时的设置,Number可以设置为负数。

17.17 区间测试模块IntervalTest

在区间内输出true,区间外输出false。设置区间的上下限值,比如这里设置的0.5到3.5的区间。

开闭区间的设置,也就是说包不包含上下边界值的设置选项。

勾选边界值的情况下,4不在区间[0.5, 3.5]之内,输出false。3.5边界值是包含在区间之内的,输出true。

不包含边界值的时候,模块图标也会变化,3.5不在(0.5, 3.5)之内,输出为false。

17.18 动态区间测试模块IntervalTestDynamic

与区间测试模块功能一样,上下限值通过输入动态设置。左右边界值是否被包含也可以进行设置。

开闭区间一起测试的输出。

  • 9
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值