unitquantizer

Создайте unitquantizer объект

Описание

unitquantizer объект описывает свойства типа данных использовать для квантования. После того, как вы создаете unitquantizer объект, использовать quantize квантовать данные с двойной точностью. unitquantizer объект совпадает с quantizer возразите за исключением того, что quantize метод квантует числа в eps(q) из +1 к точно +1. Можно использовать unitquantizer объект симулировать пользовательские типы данных с плавающей точкой с произвольным размером слова и длиной экспоненты.

Создание

Описание

q = unitquantizer создает unitquantizer объект с набором свойств к их значениям по умолчанию. Чтобы использовать этот объект квантовать значения, использовать quantize.

q = unitquantizer(Name,Value) наборы назвали свойства с помощью аргументов name-value. Можно задать несколько аргументов name-value. Заключите каждое имя свойства в одинарные кавычки.

пример

q = unitquantizer(Value1,Value2) свойства наборов с помощью значений свойств. Значения свойств уникальны, таким образом, можно установить имена свойства путем определения только значений свойств в команде. Когда два значения конфликтуют, unitquantizer устанавливает последнее значение свойства в списке.

q = unitquantizer(s) свойства наборов, названные в каждом имени поля со значениями, содержавшимися в структуре s.

q = unitquantizer(pn,pv) устанавливает именованные свойства, заданные в массиве ячеек из символьных векторов pn к соответствующим значениям в массиве ячеек pv.

Можно использовать комбинацию аргументов строки значения имени, структур и аргументов массива ячеек значения имени, чтобы установить значения свойств при создании unitquantizer объект.

Свойства

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

Тип арифметики использовал в квантовании в виде одного из этих значений:

  • 'fixed' — Режим фиксированной точки со знаком.

  • 'ufixed' — Режим фиксированной точки без знака.

  • 'float' — Пользовательская точность режим с плавающей точкой.

  • 'single' — Режим с одинарной точностью. Этот режим заменяет все другие настройки свойства.

  • 'double' — Режим с двойной точностью. Этот режим заменяет все другие настройки свойства.

Типы данных: char | struct | cell

Округление метода, чтобы использовать в виде одного из этих значений:

  • 'ceil' — Окружите к следующему допустимому квантованному значению.

  • 'convergent' — Вокруг к самому близкому допустимому квантованному значению. Числа, которые являются точно промежуточными между двумя самыми близкими допустимыми квантованными значениями, окружены, только если младший значащий бит после округления был бы установлен в 0.

  • 'fix' — Округлите в большую сторону отрицательные числа и положительные числа вниз к следующему допустимому квантованному значению.

  • 'floor' — Округлите в меньшую сторону до следующего допустимого квантованного значения.

  • 'nearest' — Вокруг к самому близкому допустимому квантованному значению. Окружены числа, которые являются промежуточными между двумя самыми близкими допустимыми квантованными значениями.

  • 'round' — Вокруг к самому близкому допустимому квантованному значению. Числа, которые являются промежуточными между двумя самыми близкими допустимыми квантованными значениями, окружены в абсолютном значении.

Типы данных: char | struct | cell

Действие, чтобы взять переполнение в виде одного из этих значений:

  • 'saturate' — Переполнение насыщает.

    Когда значения данных, которые будут квантованы, лежат вне области значений самых больших и самых маленьких представимых чисел, как задано по условию свойства формата, эти значения квантуются к значению или самого большого или наименьшего представимого значения, в зависимости от которого является самым близким.

  • 'wrap' — Переполнение переносится к области значений представимых значений.

    Когда значения данных, которые будут квантованы, лежат вне области значений самых больших и самых маленьких представимых чисел, как задано по условию свойства формата, эти значения перенесены назад в ту область значений с помощью арифметики в остаточных классах относительно самого маленького представимого номера.

Это свойство только применяется к режимам типа данных с фиксированной точкой. Это свойство становится свойством только для чтения, когда вы устанавливаете DataMode свойство к float'double', или single.

Примечание

Числа с плавающей запятой, которые расширяют вне переполнения динамического диапазона к ±Inf.

Типы данных: char | struct | cell

Формат данных unitquantizer объект. Интерпретация этого значения свойства зависит от значения DataMode свойство.

DataMode Значение свойстваИнтерпретация значений свойства формата
fixed или ufixed

[wordlength fractionlength]

Задайте Format значение свойства как двухэлементный вектор-строка, где первым элементом является количество битов для quantizer объектный размер слова и второй элемент являются количеством битов для quantizer возразите дробной длине.

Размер слова может лежать в диапазоне от 2 до пределов памяти на вашем PC. Дробная длина может лежать в диапазоне от 0 до меньше, чем размер слова.

float

[wordlength exponenetlength]

Задайте Format значение свойства как двухэлементный вектор-строка, где первым элементом является количество битов для unitquantizer объектный размер слова и второй элемент являются количеством битов для unitquantizer объектная длина экспоненты.

Размер слова может лежать в диапазоне от 2 до пределов памяти на вашем PC. Дробная длина может лежать в диапазоне от 0 до 11.

double

[64 11]

Format только для чтения значение свойства автоматически задает длина экспоненты и размер слова.

single

[32 8]

Format только для чтения значение свойства автоматически задает длина экспоненты и размер слова.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

unitquantizer только для чтения Объектные состояния

unitquantizer только для чтения объектные состояния обновляются когда quantize называется. Чтобы сбросить эти состояния, используйте reset.

Максимальное значение перед квантованием во время вызова quantize(q,…) для unitquantizer объект qВ виде скаляра. Это значение является максимальным значением, зарегистрированным по последовательным вызовам quantize.

Пример: max(q)

Пример: q.max

Минимальное значение перед квантованием во время вызова quantize(q,…) для unitquantizer объект qВ виде скаляра. Это значение является минимальным значением, зарегистрированным по последовательным вызовам quantize.

Пример: min(q)

Пример: q.min

Количество переполнения во время вызова quantize(q,…) для unitquantizer объект qВ виде скаляра. Это значение накапливается по последовательным вызовам quantize. Переполнение задано как значение, которое, когда квантовано находится вне области значений q.

Пример: noverflows(q)

Пример: q.noverflows

Количество потерь значимости во время вызова quantize(q,…) для unitquantizer объект q. Это значение накапливается по последовательным вызовам quantize. Потеря значимости задана как номер, который является ненулевым, прежде чем она будет квантована и нуль после того, как она квантуется.

Пример: nunderflows(q)

Пример: q.nunderflows

Количество операций квантования во время вызова quantize(q,…) для unitquantizer объект q. Это значение накапливается по последовательным вызовам quantize.

Пример: noperations(q)

Пример: q.noperations

Функции объекта

Примеры

свернуть все

Квантуйте векторный x использование unitquantizer объект q.

x = (0.8:.1:1.2)';
q = unitquantizer([4 3]);
y = quantize(q,x);
z = [x y]
e = eps(q)
z =

    0.8000    0.7500
    0.9000    1.0000
    1.0000    1.0000
    1.1000    1.0000
    1.2000    1.0000


e =

    0.1250

quantize квантует элементы x за исключением чисел в eps из +1.

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

| | | |

Введенный в R2008a