convergent
向最接近的整数舍入,同时将结值舍入到最接近的偶数
说明
示例
对有符号 fi
对象使用收敛舍入
以下示例说明 convergent
函数如何影响字长为 8、小数长度为 3 的有符号 fi
对象的 numerictype
属性。
a = fi(pi,1,8,3)
a = 3.1250 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 8 FractionLength: 3
y = convergent(a)
y = 3 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 6 FractionLength: 0
以下示例说明 convergent
函数如何影响字长为 8、小数长度为 12 的有符号 fi
对象的 numerictype
属性。
a = fi(0.025,1,8,12)
a = 0.0249 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 8 FractionLength: 12
y = convergent(a)
y = 0 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 2 FractionLength: 0
比较舍入方法
函数 convergent
、nearest
和 round
在处理最低有效位为 5 的值时的方式有所不同。
convergent
函数将结值舍入到最邻近的偶数。nearest
函数将结值朝正无穷方向舍入到最邻近的整数。round
函数将结值舍入到最邻近的、绝对值较大的整数。
此示例说明对于给定输入 a 的这些处理差异。
a = fi([-3.5:3.5]'); y = [a convergent(a) nearest(a) round(a)]
y = -3.5000 -4.0000 -3.0000 -4.0000 -2.5000 -2.0000 -2.0000 -3.0000 -1.5000 -2.0000 -1.0000 -2.0000 -0.5000 0 0 -1.0000 0.5000 0 1.0000 1.0000 1.5000 2.0000 2.0000 2.0000 2.5000 2.0000 3.0000 3.0000 3.5000 3.9999 3.9999 3.9999 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 16 FractionLength: 13
输入参数
a
— 输入 fi
数组
标量 | 向量 | 矩阵 | 多维数组
输入 fi
数组,指定为标量、向量、矩阵或多维数组。
对于复数 fi
对象,虚部和实部是分别进行舍入的。
convergent
不支持具有非平凡斜率和偏置定标的 fi
对象。当斜率为 2 的整数次幂且偏置为 0 时,斜率和偏置定标是平凡的。
数据类型: fi
复数支持: 是
x
— 输入数组
标量 | 向量 | 矩阵 | 多维数组
输入数组,指定为标量、向量、矩阵或多维数组。
对于复数输入,实部和虚部独立舍入。
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
复数支持: 是
算法
y
和a
具有相同的fimath
对象和DataType
属性。当
a
的DataType
属性为single
或double
时,y
的numerictype
与a
的属性设置相同。当
a
的小数长度为零或负数时,a
已经是整数,并且y
与a
具有相同的numerictype
。当
a
的小数长度为正值时,y
的小数长度为0
,其符号与a
的符号相同,其字长为a
的字长与小数长度之差加一位。如果a
有符号,则y
的最小字长是2
。如果a
无符号,则y
的最小字长是1
。
扩展功能
C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。
HDL 代码生成
使用 HDL Coder™ 为 FPGA 和 ASIC 设计生成 VHDL、Verilog 和 SystemVerilog 代码。
版本历史记录
在 R2006a 之前推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)