主要内容gydF4y2Ba

量化器gydF4y2Ba

创建gydF4y2Ba量化器gydF4y2Ba对象gydF4y2Ba

描述gydF4y2Ba

的gydF4y2Ba量化器gydF4y2Ba对象描述用于量化的数据类型属性。在创建一个gydF4y2Ba量化器gydF4y2Ba对象,使用gydF4y2Ba数字转换gydF4y2Ba对双精度数据进行量化。您可以使用gydF4y2Ba量化器gydF4y2Ba对象以模拟具有任意字长和指数长度的自定义浮点数据类型。gydF4y2Ba

创建gydF4y2Ba

描述gydF4y2Ba

例子gydF4y2Ba

问gydF4y2Ba=量化器gydF4y2Ba创建一个gydF4y2Ba量化器gydF4y2Ba对象,其属性设置为默认值。若要使用此对象量化值,请使用gydF4y2Ba数字转换gydF4y2Ba.gydF4y2Ba

例子gydF4y2Ba

问gydF4y2Ba=量化器(gydF4y2Ba名称,值gydF4y2Ba)gydF4y2Ba使用名称-值参数设置命名属性。您可以指定多个名称-值参数。将每个属性名用单引号括起来。gydF4y2Ba

例子gydF4y2Ba

问gydF4y2Ba=量化器(gydF4y2BaValue1, Value2gydF4y2Ba)gydF4y2Ba使用属性值设置属性。属性值是唯一的;您可以通过在命令中指定属性值来设置属性名。当两个价值观发生冲突时,gydF4y2Ba量化器gydF4y2Ba设置列表中的最后一个属性值。gydF4y2Ba

例子gydF4y2Ba

问gydF4y2Ba=量化器(gydF4y2Ba年代gydF4y2Ba)gydF4y2Ba用结构中包含的值设置以每个字段名命名的属性gydF4y2Ba年代gydF4y2Ba.gydF4y2Ba

例子gydF4y2Ba

问gydF4y2Ba=量化器(gydF4y2Bapn,光伏gydF4y2Ba)gydF4y2Ba设置字符向量单元格数组中指定的已命名属性gydF4y2BapngydF4y2Ba到单元格数组中相应的值gydF4y2Ba光伏gydF4y2Ba.gydF4y2Ba

属性时,可以组合使用名称值字符串参数、结构和名称值单元格数组参数来设置属性值gydF4y2Ba量化器gydF4y2Ba对象。gydF4y2Ba

属性gydF4y2Ba

全部展开gydF4y2Ba

量化中使用的数据类型模式,指定为以下值之一:gydF4y2Ba

  • “固定”gydF4y2Ba—有符号定点模式。gydF4y2Ba

  • “ufixed”gydF4y2Ba-无符号定点模式。gydF4y2Ba

  • “浮”gydF4y2Ba-自定义精度浮点模式。gydF4y2Ba

  • “单一”gydF4y2Ba—单精度模式。此模式将覆盖所有其他属性设置。gydF4y2Ba

  • “双”gydF4y2Ba—双精度模式。此模式将覆盖所有其他属性设置。gydF4y2Ba

数据类型:gydF4y2Ba字符gydF4y2Ba|gydF4y2Ba结构体gydF4y2Ba|gydF4y2Ba细胞gydF4y2Ba

要使用的舍入方法,指定为以下值之一:gydF4y2Ba

  • “装天花板”gydF4y2Ba-四舍五入到下一个允许的量化值。gydF4y2Ba

  • “收敛”gydF4y2Ba-四舍五入到最接近的允许量化值。只有当舍入后的最小有效位设置为0时,才会将两个最接近的允许量子化值之间的数字舍入。gydF4y2Ba

  • “修复”gydF4y2Ba-向上舍入负数,向下舍入正数到下一个允许的量化值。gydF4y2Ba

  • “地板”gydF4y2Ba-舍入到下一个允许的量化值。gydF4y2Ba

  • “最近的”gydF4y2Ba-四舍五入到最接近的允许量化值。在两个最接近的允许量子化值之间的数字被四舍五入。gydF4y2Ba

  • “圆”gydF4y2Ba-四舍五入到最接近的允许量化值。位于两个最接近的允许量子化值中间的数字将以绝对值四舍五入。gydF4y2Ba

数据类型:gydF4y2Ba字符gydF4y2Ba|gydF4y2Ba结构体gydF4y2Ba|gydF4y2Ba细胞gydF4y2Ba

对溢出采取的操作,指定为以下值之一:gydF4y2Ba

  • “饱和”gydF4y2Ba—溢出饱和。gydF4y2Ba

    当要量化的数据的值位于数据格式属性指定的最大和最小可表示数的范围之外时,这些值将量化为最大或最小可表示值的值,具体取决于哪个值最接近。gydF4y2Ba

  • “包装”gydF4y2Ba—溢出包装到可表示值的范围。gydF4y2Ba

    当要量化的数据值超出数据格式属性所指定的最大和最小可表示数的范围时,这些值将使用相对于最小可表示数的模算术重新包装回该范围。gydF4y2Ba

此属性仅适用于定点数据类型模式。属性时,此属性将成为只读属性gydF4y2BaDataModegydF4y2Ba财产gydF4y2Ba浮动gydF4y2Ba,gydF4y2Ba双gydF4y2Ba,或gydF4y2Ba单gydF4y2Ba.gydF4y2Ba

请注意gydF4y2Ba

超出动态范围的浮点数溢出到gydF4y2Ba±正gydF4y2Ba.gydF4y2Ba

数据类型:gydF4y2Ba字符gydF4y2Ba|gydF4y2Ba结构体gydF4y2Ba|gydF4y2Ba细胞gydF4y2Ba

数据格式gydF4y2Ba量化器gydF4y2Ba对象。该属性值的解释取决于该属性的值gydF4y2BaDataModegydF4y2Ba财产。gydF4y2Ba

DataModegydF4y2Ba属性值gydF4y2Ba 解释格式属性值gydF4y2Ba
固定gydF4y2Ba或gydF4y2BaufixedgydF4y2Ba

(字fractionlength)gydF4y2Ba

指定gydF4y2Ba格式gydF4y2Ba属性值作为双元素行向量,其中第一个元素是属性的比特数gydF4y2Ba量化器gydF4y2Ba对象的字长,第二个元素是对象的位数gydF4y2Ba量化器gydF4y2Ba对象分数长度。gydF4y2Ba

字长可以从2到PC上的内存限制。分数长度的范围从0到比单词长度小1。gydF4y2Ba

浮动gydF4y2Ba

(字exponenetlength)gydF4y2Ba

指定gydF4y2Ba格式gydF4y2Ba属性值作为双元素行向量,其中第一个元素是属性的比特数gydF4y2Ba量化器gydF4y2Ba对象的字长,第二个元素是对象的位数gydF4y2Ba量化器gydF4y2Ba对象指数长度。gydF4y2Ba

字长可以从2到PC上的内存限制。分数长度范围为0 ~ 11。gydF4y2Ba

双gydF4y2Ba

11 [64]gydF4y2Ba

只读gydF4y2Ba格式gydF4y2Ba属性值自动指定单词长度和指数长度。gydF4y2Ba

单gydF4y2Ba

(32 8)gydF4y2Ba

只读gydF4y2Ba格式gydF4y2Ba属性值自动指定单词长度和指数长度。gydF4y2Ba

数据类型:gydF4y2Ba单gydF4y2Ba|gydF4y2Ba双gydF4y2Ba|gydF4y2Baint8gydF4y2Ba|gydF4y2Baint16gydF4y2Ba|gydF4y2Baint32gydF4y2Ba|gydF4y2Baint64gydF4y2Ba|gydF4y2Bauint8gydF4y2Ba|gydF4y2Bauint16gydF4y2Ba|gydF4y2Bauint32gydF4y2Ba|gydF4y2Bauint64gydF4y2Ba

只读gydF4y2Ba量化器gydF4y2Ba对象状态gydF4y2Ba

只读gydF4y2Ba量化器gydF4y2Ba对象状态更新gydF4y2Ba数字转换gydF4y2Ba被称为。若要重置这些状态,请使用gydF4y2Ba重置gydF4y2Ba.gydF4y2Ba

的调用期间量化之前的最大值gydF4y2Ba数字转换(q,…)gydF4y2Ba为gydF4y2Ba量化器gydF4y2Ba对象gydF4y2Ba问gydF4y2Ba.此值是连续调用记录的最大值gydF4y2Ba数字转换gydF4y2Ba.gydF4y2Ba

例子:gydF4y2Ba马克斯(q)gydF4y2Ba

例子:gydF4y2Baq.maxgydF4y2Ba

调用时量化之前的最小值gydF4y2Ba数字转换(q,…)gydF4y2Ba为gydF4y2Ba量化器gydF4y2Ba对象gydF4y2Ba问gydF4y2Ba.此值是连续调用记录的最小值gydF4y2Ba数字转换gydF4y2Ba.gydF4y2Ba

例子:gydF4y2Ba分钟(q)gydF4y2Ba

例子:gydF4y2Baq.mingydF4y2Ba

调用期间的溢出数gydF4y2Ba数字转换(q,…)gydF4y2Ba为gydF4y2Ba量化器gydF4y2Ba对象gydF4y2Ba问gydF4y2Ba.的连续调用会累积此值gydF4y2Ba数字转换gydF4y2Ba.溢出定义为量子化后超出范围的值gydF4y2Ba问gydF4y2Ba.gydF4y2Ba

例子:gydF4y2Banoverflows (q)gydF4y2Ba

例子:gydF4y2Baq.noverflowsgydF4y2Ba

调用期间的下流数gydF4y2Ba数字转换(q,…)gydF4y2Ba为gydF4y2Ba量化器gydF4y2Ba对象gydF4y2Ba问gydF4y2Ba.的连续调用会累积此值gydF4y2Ba数字转换gydF4y2Ba.下流被定义为一个数字,它在被量化之前是非零,在被量化之后是零。gydF4y2Ba

例子:gydF4y2Banunderflows (q)gydF4y2Ba

例子:gydF4y2Baq.nunderflowsgydF4y2Ba

调用期间的量化操作数gydF4y2Ba数字转换(q,…)gydF4y2Ba为gydF4y2Ba量化器gydF4y2Ba对象gydF4y2Ba问gydF4y2Ba.的连续调用会累积此值gydF4y2Ba数字转换gydF4y2Ba.gydF4y2Ba

例子:gydF4y2Banoperations (q)gydF4y2Ba

例子:gydF4y2Baq.noperationsgydF4y2Ba

对象的功能gydF4y2Ba

数字转换gydF4y2Ba 使用量化数值数据gydF4y2Ba量化器gydF4y2Ba对象gydF4y2Ba
unitquantizegydF4y2Ba 使用量化数值数据gydF4y2Ba量化器gydF4y2Ba对象,但数字除外gydF4y2Ba每股收益gydF4y2Ba的gydF4y2Ba+1gydF4y2Ba
字gydF4y2Ba 字长gydF4y2Ba量化器gydF4y2Ba对象gydF4y2Ba

例子gydF4y2Ba

全部折叠gydF4y2Ba

创建一个gydF4y2Ba量化器gydF4y2Ba具有默认属性值的对象。gydF4y2Ba

量化器gydF4y2Ba
q = DataMode = fixed RoundMode = floor OverflowMode =饱和格式= [16 15]gydF4y2Ba

复制gydF4y2Ba量化器gydF4y2Ba对象,使用赋值。gydF4y2Ba

Q =量化器;R = q;isequal (q, r)gydF4y2Ba
ans =gydF4y2Ba逻辑gydF4y2Ba1gydF4y2Ba

使用属性名-值参数进行设置gydF4y2Ba量化器gydF4y2Ba对象属性。gydF4y2Ba

量化器(gydF4y2Ba“模式”gydF4y2Ba,gydF4y2Ba“固定”gydF4y2Ba,gydF4y2Ba“RoundMode”gydF4y2Ba,gydF4y2Ba“装天花板”gydF4y2Ba,gydF4y2Ba...gydF4y2Ba“OverflowMode”gydF4y2Ba,gydF4y2Ba“饱和”gydF4y2Ba,gydF4y2Ba“格式”gydF4y2Ba(5 - 4))gydF4y2Ba
q = DataMode = fixed RoundMode = ceil OverflowMode =饱和格式= [5 4]gydF4y2Ba

集gydF4y2Ba量化器gydF4y2Ba通过只在命令中列出属性值来对象属性。gydF4y2Ba

量化器(gydF4y2Ba“固定”gydF4y2Ba,gydF4y2Ba“装天花板”gydF4y2Ba,gydF4y2Ba“饱和”gydF4y2Ba(5 - 4))gydF4y2Ba
q = DataMode = fixed RoundMode = ceil OverflowMode =饱和格式= [5 4]gydF4y2Ba

使用结构进行设置gydF4y2Ba量化器gydF4y2Ba对象属性。gydF4y2Ba

结构体。DataMode =gydF4y2Ba“固定”gydF4y2Ba;结构体。RoundMode =gydF4y2Ba“装天花板”gydF4y2Ba;结构体。OverflowMode =gydF4y2Ba“饱和”gydF4y2Ba;结构体。格式= [5 4]; q = quantizer(struct)
q = DataMode = fixed RoundMode = ceil OverflowMode =饱和格式= [5 4]gydF4y2Ba

使用属性名称和属性值单元格数组进行设置gydF4y2Ba量化器gydF4y2Ba对象属性。gydF4y2Ba

Pn = {gydF4y2Ba“模式”gydF4y2Ba,gydF4y2Ba“RoundMode”gydF4y2Ba,gydF4y2Ba“Overflowmode”gydF4y2Ba,gydF4y2Ba“格式”gydF4y2Ba};Pv = {gydF4y2Ba“固定”gydF4y2Ba,gydF4y2Ba“装天花板”gydF4y2Ba,gydF4y2Ba“饱和”gydF4y2Ba(5 - 4)};Q =量化器(pn,pv)gydF4y2Ba
q = DataMode = fixed RoundMode = ceil OverflowMode =饱和格式= [5 4]gydF4y2Ba

使用gydF4y2Ba数字转换gydF4y2Ba要量化数据,请查看量化的影响gydF4y2Ba量化器gydF4y2Ba对象状态,并重置gydF4y2Ba量化器gydF4y2Ba对象状态的默认值gydF4y2Ba重置gydF4y2Ba.gydF4y2Ba

构造一个示例数据集并创建一个gydF4y2Ba量化器gydF4y2Ba对象指定量化数据集时要使用的量化参数。gydF4y2Ba

格式gydF4y2Ba长gydF4y2BaggydF4y2Barng (0,gydF4y2Ba“旋风”gydF4y2Ba);X = rng(100);Q =量化器([16,14])gydF4y2Ba
q = DataMode = fixed RoundMode = floor OverflowMode =饱和格式= [16 14]gydF4y2Ba

检索的值gydF4y2Ba马克斯gydF4y2Ba而且gydF4y2BanoverflowsgydF4y2Ba.gydF4y2Ba

q.max q.noverflowsgydF4y2Ba
Ans = -1.79769313486232e+308 Ans = 0gydF4y2Ba

请注意,gydF4y2Ba马克斯gydF4y2Ba等于gydF4y2Ba最大浮点数gydF4y2Ba,表示量化器gydF4y2Ba问gydF4y2Ba处于重置状态。gydF4y2Ba

使用gydF4y2Ba数字转换gydF4y2Ba函数来量化数据集gydF4y2Ba量化器gydF4y2Ba对象。gydF4y2Ba

Y = quantize(q,x);gydF4y2Ba
警告:在fiquantize操作中发生了625个溢出。gydF4y2Ba

检查gydF4y2Ba马克斯gydF4y2Ba而且gydF4y2BanoverflowsgydF4y2Ba.gydF4y2Ba

q.max q.noverflowsgydF4y2Ba
Ans = 1.99993896484375 Ans = 625gydF4y2Ba

请注意,最大日志值是量化后取的,即gydF4y2BaQ.max == max(y)gydF4y2Ba.gydF4y2Ba

重置并检查gydF4y2Ba量化器gydF4y2Ba州。gydF4y2Ba

重置(q) q.maxlog q.noverflowsgydF4y2Ba
Ans = -1.79769313486232e+308 Ans = 0gydF4y2Ba

属性指定的属性量化数据gydF4y2Ba量化器gydF4y2Ba对象。gydF4y2Ba

首先,创建一些要量化的数据。gydF4y2Ba

X = linspace(-15,15,1000);gydF4y2Ba

量化为自定义精度浮点数gydF4y2Ba

创建一个gydF4y2Ba量化器gydF4y2Ba对象,指定自定义精度浮点数据模式,字长为6位,指数长为4位。gydF4y2Ba

量化器(gydF4y2Ba“DataMode”gydF4y2Ba,gydF4y2Ba“浮”gydF4y2Ba,gydF4y2Ba“格式”gydF4y2Ba4, [6])gydF4y2Ba
q = DataMode = float RoundMode = floor Format = [6 4]gydF4y2Ba

的gydF4y2BaRoundModegydF4y2Ba属性使用的默认设置gydF4y2Ba“地板”。gydF4y2Ba

使用gydF4y2Ba数字转换gydF4y2Ba函数对数据进行量化gydF4y2BaxgydF4y2Ba属性指定的属性gydF4y2Ba量化器gydF4y2Ba对象。gydF4y2Ba

Y = quantize(q,x);gydF4y2Ba

情节gydF4y2BaygydF4y2Ba反对gydF4y2BaxgydF4y2Ba以可视化指定量化属性对该数据的影响。gydF4y2Ba

情节(x, x, x, y);标题(tostring (q));传奇(gydF4y2Ba输入数据的gydF4y2Ba,gydF4y2Ba的量化数据gydF4y2Ba,gydF4y2Ba“位置”gydF4y2Ba,gydF4y2Ba“西北”gydF4y2Ba);gydF4y2Ba

图中包含一个轴对象。带有标题量化器的axis对象('float', 'floor',[6 4])包含2个类型为line的对象。这些对象表示输入数据,量化数据。gydF4y2Ba

属性的只读属性gydF4y2Ba量化器gydF4y2Ba对象以访问更多信息。gydF4y2Ba

q.noverflowsgydF4y2Ba
Ans = 0gydF4y2Ba
q.nunderflowsgydF4y2Ba
Ans = 0gydF4y2Ba

在本例中,在量化操作中发生了0个溢出和0个下溢。gydF4y2Ba

量化到定点gydF4y2Ba

创建一个gydF4y2Ba量化器gydF4y2Ba对象,指定一个带符号的定点数据模式,其字长为6位,分数长度为1位,并在溢出时自动换行。gydF4y2Ba

Q =量化器([6 1],gydF4y2Ba“包装”gydF4y2Ba)gydF4y2Ba
q = DataMode = fixed RoundMode = floor OverflowMode = wrap Format = [6 1]gydF4y2Ba

量化器gydF4y2Ba使用默认值gydF4y2BaDataModegydF4y2Ba财产,gydF4y2Ba“固定”gydF4y2Ba,和默认的gydF4y2BaRoundModegydF4y2Ba财产,gydF4y2Ba“地板”gydF4y2Ba.gydF4y2Ba

使用gydF4y2Ba数字转换gydF4y2Ba函数对数据进行量化gydF4y2BaxgydF4y2Ba属性指定的属性gydF4y2Ba量化器gydF4y2Ba对象。gydF4y2Ba

Y = quantize(q,x);gydF4y2Ba

情节gydF4y2BaygydF4y2Ba反对gydF4y2BaxgydF4y2Ba以可视化指定量化属性对该数据的影响。gydF4y2Ba

情节(x, x, x, y);标题(tostring (q));传奇(gydF4y2Ba输入数据的gydF4y2Ba,gydF4y2Ba的量化数据gydF4y2Ba,gydF4y2Ba“位置”gydF4y2Ba,gydF4y2Ba“西北”gydF4y2Ba);gydF4y2Ba

图中包含一个轴对象。带有标题量化器的axis对象('fixed', 'floor', 'wrap',[6 1])包含2个类型为line的对象。这些对象表示输入数据,量化数据。gydF4y2Ba

属性的只读属性gydF4y2Ba量化器gydF4y2Ba对象以访问更多信息。gydF4y2Ba

q.noverflowsgydF4y2Ba
Ans = 0gydF4y2Ba
q.nunderflowsgydF4y2Ba
Ans = 17gydF4y2Ba

在本例中,在量化操作中发生了0个溢出和17个下溢。gydF4y2Ba

版本历史gydF4y2Ba

R2006a之前介绍gydF4y2Ba