quantize method

Apply quantizer object to data

Syntax

y = quantize(q, x)
[y1,y2,...] = quantize(q,x1,x2,...)

Description

y = quantize(q, x) uses the quantizer object q to quantize x. When x is a numeric array, each element of x is quantized. When x is a cell array, each numeric element of the cell array is quantized. When x is a structure, each numeric field of x is quantized. Quantize does not change nonnumeric elements or fields of x, nor does it issue warnings for nonnumeric values. The output y is a built-in double. When the input x is a structure or cell array, the fields of y are built-in doubles.

[y1,y2,...] = quantize(q,x1,x2,...) is equivalent to y1 = quantize(q,x1), y2 = quantize(q,x2),...

The quantizer object states

  • max — Maximum value before quantizing

  • min — Minimum value before quantizing

  • noverflows — Number of overflows

  • nunderflows — Number of underflows

  • noperations — Number of quantization operations

are updated during the call to quantize, and running totals are kept until a call to resetlog is made.

Examples

collapse all

The following example demonstrates using quantize to quantize data.

u=linspace(-15, 15, 1000);
q=quantizer([6 3], 'float');
range(q)
ans = 1×2

   -14    14

y=quantize(q, u);
Warning: 68 overflow(s) occurred in the fi quantize operation.
plot(u, y); title(tostring(q))

The following example demonstrates using quantize to quantize data.

u=linspace(-15, 15, 1000);
q=quantizer([6 2], 'wrap');
range(q)
ans = 1×2

   -8.0000    7.7500

y=quantize(q, u);
Warning: 468 overflow(s) occurred in the fi quantize operation.
plot(u, y); title(tostring(q))

Introduced in R2012b