主要内容

quantizenumeric

量化数值数据

说明

y = quantizenumeric(x,s,w,f) 使用符号性 s、字长 w 和小数长度 f 量化在 x 中指定的值。

当您要用双精度值仿真全精度算术,然后在算法中的某些步骤添加量化而不转换为定点类型时,请使用 quantizenumeric

示例

y = quantizenumeric(x,s,w,f,r) 还指定舍入模式 r

示例

y = quantizenumeric(x,s,w,f,r,o) 还指定溢出模式 o

示例

示例

全部折叠

使用字长为 16 位、小数长度为 13 位且向正无穷方向舍入的有符号数值类型来量化 pi 的值。

x = pi;
y = quantizenumeric(x,1,16,13,'ceil')
y = 
3.1416

指定不同舍入方法。请注意,向零方向舍入会影响量化值。

x = pi;
y = quantizenumeric(x,1,16,13,'fix')
y = 
3.1415

此示例说明溢出操作对数值数据量化的影响。

创建一些数据,并通过指定在溢出时进行饱和处理对其进行量化。

x = linspace(-5,5,100);
y = quantizenumeric(x,1,6,4,'floor','saturate');
plot(x,x,x,y)

Figure contains an axes object. The axes object contains 2 objects of type line.

将溢出操作更改为溢出时绕回,并观察量化数据如何变化。

z = quantizenumeric(x,1,6,4,'floor','wrap');
plot(x,x,x,z);

Figure contains an axes object. The axes object contains 2 objects of type line.

输入参数

全部折叠

要量化的值,指定为标量、向量、矩阵或多维数组。

数据类型: double
复数支持:

量化值的符号性,指定为 0'false'(无符号),或者 1'true'(有符号)。

数据类型: double

量化值的字长,指定为正整数标量。

数据类型: double

量化值的小数长度,指定为整数标量。

数据类型: double

用于量化的舍入方法,指定为字符向量:

  • 'ceil' - 向正无穷方向舍入(与 'ceiling' 相同)

  • 'ceiling' - 向正无穷方向舍入(与 'ceil' 相同)

  • 'convergent' - 收敛舍入

  • 'fix' - 向零方向舍入(与 'zero' 相同)

  • 'floor' - 向负无穷方向舍入

  • 'nearest' - 向最邻近值方向舍入,如果是结值,则向正无穷方向舍入

  • 'round' - 向最邻近值方向舍入,如果是结值,则根据绝对值向上舍入

  • 'zero' - 向零方向舍入(与 'fix' 相同)

数据类型: char

用于量化的溢出操作,指定为 'saturate''wrap'

数据类型: char

输出参量

全部折叠

量化输出值,以标量、向量、矩阵或多维数组形式返回。y 始终具有与 x 相同的维度,并且始终为双精度值。

提示

  • 当您要用双精度值仿真全精度算术,然后在算法中的某些步骤添加量化而不转换为定点类型时,请使用 quantizenumeric

  • 设计定点算法时,请使用 castzerosoneseyesubsasgn 将核心算法与数据类型定义分隔开。

扩展功能

全部展开

版本历史记录

在 R2016a 中推出

全部展开

另请参阅

| |