深入研究simulink建模与仿真之小数转换为整数的舍入模式(圆整模式、取整模式)

导言

simulink中有些模块可以配置整数的舍入模式,比如增益模块:

默认为Floor模式。

 


 

Floor

地板模式。

将正值和负值朝负无穷大方向舍入。等同于 MATLAB floor 函数。

举例:

Floor模式
11
1.41
2.52
3.63
00
-1-1
-1.4-2
-2.5-3
-3.6-4

 

Ceiling

天花板模式。

将正值和负值朝正无穷大方向舍入。等同于 MATLAB® ceil 函数。

举例:

 

Zero

零值模式

将数值向零舍入。等同于 MATLAB fix 函数。

相当于正数使用地板模式,负数使用天花板模式。从绝对值上看,直接抹掉小数部分

举例:

 

Round

圆整模式。最接近平常所理解的“四舍五入”模式。正数和负数都是按照绝对值舍入。

将数值舍入到最接近的可表示值。如果出现对等情况,则将正数朝正无穷大方向舍入,将负数朝负无穷大方向舍入。等同于 Fixed-Point Designer round 函数。

比如,1.49  =》 1;  1.50 =》 2;    -1.49  =》 -1; -1.50 =》-2

 

Nearest

最近模式。

将数值舍入到最接近的可表示值。如果出现对等情况,则朝正无穷大的方向舍入。等同于 Fixed-Point Designer nearest 函数。

跟Round模式不同的是,-1.5 =》 -1;  -2.5 =》 -2

 

Convergent

收敛模式。

将数值舍入到最接近的可表示值。如果出现对等情况,则舍入到最接近的偶数整数。等同于 Fixed-Point Designer™ convergent 函数。

与上述两种四舍五入不同的是,  如果处于中间值(X.5),则向X最接近的偶数舍入。

举例:

 

 

 

Simplest

最简模式。

自动选择是向负无穷大方向舍入还是向零舍入,以生成尽可能有效的舍入代码。

 

 

小结:

使用以下模型,对比各类转换模式的不同:

 


参考资料

Integer rounding mode

指定定点运算的舍入模式。

https://ww2.mathworks.cn/help/simulink/slref/datatypeconversion.html#f6-842904.bronkud-24

### Simulink 中的取整操作 在 Simulink 中实现取整功能可以通过多种方式完成,具体取决于所需的取整类型。以下是几种常见的方法: #### 使用 Math Function 模块 Math Function 模块提供了多种数学运算选项,其中包括向上取整 `ceil` 和向下取整 `floor` 功能。 1. **Ceil (向上取整)** 当输入为 3.2 时,输出将是 4。 2. **Floor (向下取整)** 当输入为 3.8 时,输出将是 3。 这些函数可以直接通过配置 Math Function 模块来选择[^1]。 ```matlab % 设置 Math Function 模块参数 set_param(gcb,'Operator','ceil') % 或 'floor' ``` #### Round 模块 Round 模块用于执行四舍五入的操作。当输入接近两个整数之间的中间值时,默认情况下会向最近偶数值方向舍入。 对于更复杂的逻辑需求,比如对特定条件下的不同类型的取整,则可能需要组合多个模块或编写自定义 S 函数来满足特殊的应用场景[^2]。 #### 整合实例:处理可变长度数组的数据 考虑到实际应用背景,如果要针对一个嵌入式系统的可变大小数组做数据压缩处理,并且涉及到除法后的取整计算,那么可以参照如下做法: 假设有一个名为 "Length Processing" 的子系统用来接收来自外部源的一个表示数组长度 u 的信号作为输入变量,内部则利用上述提到的方法之一来进行必要的转换并输出结果 y。 ```matlab function y = fcn(u) if mod(u,4) == 0 y = floor(u/4); else y = ceil(u/4); % 修改此处以适应不同的业务规则 end ``` 此代码片段展示了如何基于给定条件决定采用哪种形式的取整策略[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值