quantize

Квантуйте числовые данные с помощью quantizer объект

Описание

пример

y = quantize(q,x) использует quantizer объект q квантовать x.

  • Когда x числовой массив, каждый элемент x квантуется. Выход y возвращен как встроенное дважды.

  • Когда x массив ячеек, каждый числовой элемент массива ячеек квантуется. Поля выхода y возвращены, когда встроенный удваивается.

  • Когда x структура, каждое числовое поле x квантуется. Поля выхода y возвращены, когда встроенный удваивается.

quantize не изменяет нечисловые элементы или поля x, ни делает это предупреждения о проблемах для нечисловых значений.

quantizer возразите утверждает maxmin, noverflows, nunderflows, и noperations обновляются во время вызова quantize, и рабочие общие количества сохранены до вызова reset сделан.

пример

[y1,y2,…] = quantize(q,x1,x2,…) эквивалентно y1 = quantize(q,x1), y2 = quantize(q,x2), … и т.д.

Примеры

свернуть все

Используйте quantize квантовать данные к пользовательской точности тип с плавающей точкой.

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

   -14    14

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

Используйте quantize квантовать данные к фиксированной точке с wordlength 6 битов, дробной длиной 2 битов, вокруг на пол, и перенестись на переполнении.

x = linspace(-15,15,1000);
q = quantizer('fixed','floor','wrap',[6 2])
q =


        DataMode = fixed
       RoundMode = floor
    OverflowMode = wrap
          Format = [6  2]
range(q)
ans = 1×2

   -8.0000    7.7500

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

Используйте quantize квантовать данные к фиксированной точке с wordlength 3 битов, дробной длиной 2 битов, конвергентным округлением, и перенестись на переполнении.

q = quantizer('fixed','convergent','wrap',[3 2]);
x = (-2:eps(q)/4:2)';
y = quantize(q,x);
Warning: 33 overflow(s) occurred in the fi quantize operation.
plot(x,[x,y],'.-'); title(tostring(q)); axis square 

Входные параметры

свернуть все

Свойства типа данных использовать для квантования в виде quantizer объект.

Пример: q = quantizer('fixed','ceil','saturate',[5 4]);

Данные, чтобы квантовать в виде скаляра, вектора, матрицы, многомерного массива, массива ячеек или структуры.

  • Когда x числовой массив, каждый элемент x квантуется.

  • Когда x массив ячеек, каждый числовой элемент массива ячеек квантуется.

  • Когда x структура, каждое числовое поле x квантуется.

quantize не изменяет нечисловые элементы или поля x, ни делает это предупреждения о проблемах для нечисловых значений.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | struct | cell
Поддержка комплексного числа: Да

Данные, чтобы квантовать (как отдельные элементы) в виде скаляра, вектора, матрицы, многомерного массива, массива ячеек или структуры.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | struct | cell
Поддержка комплексного числа: Да

Выходные аргументы

свернуть все

Квантованные данные, возвращенные как скаляр, вектор, матрица, многомерный массив, массив ячеек или структура.

  • Когда x числовой массив, выход y возвращен как встроенное дважды.

  • Когда x массив ячеек, поля выхода y возвращены, когда встроенный удваивается.

  • Когда x структура, поля выхода y возвращены, когда встроенный удваивается.

Квантованные данные (как отдельные элементы), возвращенный как скаляр, вектор, матрица, многомерный массив, массив ячеек или структура.

Вопросы совместимости

развернуть все

Поведение изменяется в R2021b

Смотрите также

| |

Представленный в R2012b