Квантуйте числа фиксированной точки
quantize
не рекомендуется. Использование cast
, zeros
, ones
, eye
, или subsasgn
вместо этого. Для получения дополнительной информации см. Вопросы совместимости.
numerictype
Объект
квантует вход y
= quantize(x
)x
значения с помощью настроек по умолчанию.
numerictype
, округление метода и действия переполнения применяется только во время квантования. Выход y
не имеет присоединенного fimath
.
Задайте вход fi
значение, чтобы квантовать.
x_BP = fi(pi)
x_BP = 3.1416 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 16 FractionLength: 13
Используйте numerictype
Объект
Создайте numerictype
объект, который задает тип данных с фиксированной точкой со знаком с 8-битным размером слова и 4-битной дробной длиной.
ntBP = numerictype(1,8,4);
Используйте заданный numerictype
объект ntBP
квантовать вход x_BP
к двоичной точке масштабировал тип данных с фиксированной точкой.
yBP1 = quantize(x_BP,ntBP)
yBP1 = 3.1250 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 8 FractionLength: 4
Задайте числовые свойства типа во входе
yBP2 = quantize(x_BP,1,8,4)
yBP2 = 3.1250 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 8 FractionLength: 4
Создайте numerictype
объект, который задает наклонное смещение, масштабировал тип данных с фиксированной точкой.
ntSB = numerictype('Scaling','SlopeBias',... 'SlopeAdjustmentFactor',1.8,... 'Bias',1,... 'FixedExponent',-12);
Задайте вход fi
значение, чтобы квантовать.
x_BP = fi(pi)
x_BP = 3.1416 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 16 FractionLength: 13
Используйте заданный numerictype
ntSB
квантовать вход x_BP
к наклонному смещению масштабировал тип данных с фиксированной точкой.
ySB1 = quantize(x_BP, ntSB)
ySB1 = 3.1415 DataTypeMode: Fixed-point: slope and bias scaling Signedness: Signed WordLength: 16 Slope: 0.000439453125 Bias: 1
Задайте вход fi
значения, чтобы квантовать.
x_SB = fi(rand(5,3),numerictype('Scaling','SlopeBias','Bias',-0.125))
x_SB = 0.8147 0.0975 0.1576 0.8750 0.2785 0.8750 0.1270 0.5469 0.8750 0.8750 0.8750 0.4854 0.6324 0.8750 0.8003 DataTypeMode: Fixed-point: slope and bias scaling Signedness: Signed WordLength: 16 Slope: 3.0517578125e-5 Bias: -0.125
Используйте numerictype
Объект
Создайте numerictype
объект ntBP
это указывает, что двоичная точка со знаком масштабировала тип данных с фиксированной точкой с 8-битным размером слова и 4-битной дробной длиной.
ntBP = numerictype(1,8,4);
Используйте заданный numerictype
ntBP
квантовать вход x_SB
к двоичной точке масштабировал тип данных с фиксированной точкой. Кроме того, вокруг к самому близкому и насыщают на переполнении.
yBP1 = quantize(x_SB,ntBP,'Nearest','Saturate')
yBP1 = 0.8125 0.1250 0.1875 0.8750 0.2500 0.8750 0.1250 0.5625 0.8750 0.8750 0.8750 0.5000 0.6250 0.8750 0.8125 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 8 FractionLength: 4
Задайте числовые свойства типа во входе
yBP2 = quantize(x_SB,1,8,4,'Nearest','Saturate')
yBP2 = 0.8125 0.1250 0.1875 0.8750 0.2500 0.8750 0.1250 0.5625 0.8750 0.8750 0.8750 0.5000 0.6250 0.8750 0.8125 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 8 FractionLength: 4
Задайте вход fi
значения, чтобы квантовать.
x_SB = fi(rand(5,3),numerictype('Scaling','SlopeBias','Bias',-0.125))
x_SB = 0.8147 0.0975 0.1576 0.8750 0.2785 0.8750 0.1270 0.5469 0.8750 0.8750 0.8750 0.4854 0.6324 0.8750 0.8003 DataTypeMode: Fixed-point: slope and bias scaling Signedness: Signed WordLength: 16 Slope: 3.0517578125e-5 Bias: -0.125
Создайте numerictype
объект, который задает наклонное смещение, масштабировал тип данных с фиксированной точкой.
ntSB = numerictype('Scaling','SlopeBias', ... 'SlopeAdjustmentFactor',1.8,'Bias',... 1,'FixedExponent',-12);
Используйте заданный numerictype
ntSB
квантовать вход x_SB
к наклонному смещению масштабировал тип данных с фиксированной точкой. Additionall, вокруг к потолку.
ySB2 = quantize(x_SB,ntSB,'Ceiling')
ySB2 = 0.8150 0.0978 0.1580 0.8752 0.2789 0.8752 0.1272 0.5469 0.8752 0.8752 0.8752 0.4854 0.6326 0.8752 0.8005 DataTypeMode: Fixed-point: slope and bias scaling Signedness: Signed WordLength: 16 Slope: 0.000439453125 Bias: 1
Задайте входные значения, чтобы квантовать.
xInt = int8(-16:4:16)
xInt = 1x9 int8 row vector
-16 -12 -8 -4 0 4 8 12 16
Используйте numerictype
Объект
Создайте numerictype
объект, который задает двоичную точку со знаком, масштабировал тип данных с фиксированной точкой с 8-битным размером слова и 4-битной дробной длиной.
ntBP = numerictype(1,8,4);
Используйте заданный numerictype
ntBP
квантовать вход xInt
к двоичной точке масштабировал тип данных с фиксированной точкой.
yBP1 = quantize(xInt,ntBP,'Zero')
yBP1 = 0 4 -8 -4 0 4 -8 -4 0 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 8 FractionLength: 4
Покажите область значений квантованного выхода.
range(yBP1)
ans = -8.0000 7.9375 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 8 FractionLength: 4
Первые два и последние три значения перенесены, потому что они находятся вне представимой области значений выходного типа.
Задайте числовые свойства типа во входе
yBP2 = quantize(xInt,1,8,4,'Zero')
yBP2 = 0 4 -8 -4 0 4 -8 -4 0 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 8 FractionLength: 4
Задайте входные значения, чтобы квантовать.
xInt = int8(-16:4:16)
xInt = 1x9 int8 row vector
-16 -12 -8 -4 0 4 8 12 16
Создайте numerictype
объект, который задает наклонное смещение, масштабировал тип данных с фиксированной точкой.
ntSB = numerictype('Scaling','SlopeBias', ... 'SlopeAdjustmentFactor',1.8,'Bias',... 1,'FixedExponent',-12);
Используйте заданный numerictype
ntSB
квантовать вход xInt
к наклонному смещению масштабировал тип данных с фиксированной точкой.
ySB = quantize(xInt,ntSB,'Round','Saturate')
ySB = Columns 1 through 7 -13.4000 -11.9814 -7.9877 -3.9939 -0.0002 3.9936 7.9873 Columns 8 through 9 11.9811 15.3996 DataTypeMode: Fixed-point: slope and bias scaling Signedness: Signed WordLength: 16 Slope: 0.000439453125 Bias: 1
Покажите область значений квантованного выхода.
range(ySB)
ans = -13.4000 15.3996 DataTypeMode: Fixed-point: slope and bias scaling Signedness: Signed WordLength: 16 Slope: 0.000439453125 Bias: 1
Первые и последние значения насыщают, потому что они - в пределах его представимая область значений выходного типа.
x
— Входные данные, чтобы квантоватьfi
возразите | встроенное целое числоВходные данные, чтобы квантовать в виде:
Встроенные целые числа со знаком или беззнаковое целое
Двоичная точка масштабировала фиксированную точку fi
Наклонное смещение масштабировало фиксированную точку fi
Несмотря на то, что fi
удваивается и fi
одиночные игры позволены как входные параметры, они проходят quantize
функция без того, чтобы быть квантованным.
Типы данных: int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fi
Поддержка комплексного числа: Да
nt
— numerictype
объектnumerictype(true,16,15)
(значение по умолчанию) | numerictype
объектnumerictype
объект, который описывает тип данных с фиксированной точкой.
rm
— Округление метода, чтобы использовать'Floor'
(значение по умолчанию) | 'Ceiling'
| 'Convergent'
| 'Nearest'
| 'Round'
| 'Zero'
Округление метода, чтобы использовать для квантования в виде одного из следующего:
'Ceiling'
— Окружите к следующему допустимому квантованному значению.
'Convergent'
— Вокруг к самому близкому допустимому квантованному значению. Числа, которые являются точно промежуточными между двумя самыми близкими допустимыми квантованными значениями, окружены, только если младший значащий бит после округления был бы установлен в 0.
'Floor'
— Округлите в меньшую сторону до следующего допустимого квантованного значения.
'Nearest'
— Вокруг к самому близкому допустимому квантованному значению. Окружены числа, которые являются промежуточными между двумя самыми близкими допустимыми квантованными значениями.
'Round'
— Вокруг к самому близкому допустимому квантованному значению. Числа, которые являются промежуточными между двумя самыми близкими допустимыми квантованными значениями, окружены в абсолютном значении.
'Zero'
— Округлите в большую сторону отрицательные числа и положительные числа вниз к следующему допустимому квантованному значению.
Типы данных: char
oa
— Действие, чтобы взять переполнение'Wrap'
(значение по умолчанию) | 'Saturate'
Действие, чтобы взять переполнение в виде одного из этих значений:
'Saturate'
— Переполнение насыщает.
Когда значения данных, которые будут квантованы, лежат вне области значений самых больших и самых маленьких представимых чисел, как задано числовыми свойствами типа, эти значения квантуются к значению или самого большого или наименьшего представимого значения, в зависимости от которого является самым близким.
'Wrap'
— Переполнение переносится.
Когда значения данных, которые будут квантованы, лежат вне области значений самых больших и самых маленьких представимых чисел, как задано числовыми свойствами типа, эти значения перенесены назад в ту область значений с помощью арифметики в остаточных классах относительно самого маленького представимого номера.
Типы данных: char
s
— Со знаком
(значение по умолчанию) | 0
Со знаком из квантованного номера фиксированной точки в виде 1
(подписанный) или 0
(без знака).
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
wl
— Размер словаРазмер слова сохраненного целочисленного значения выходных данных, в битах.
fl
— Дробная длинаwl-1
(значение по умолчанию) | скалярное целое числоДробная продолжительность квантованного значения в виде скалярного целого числа.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
quantize
не рекомендуетсяНе рекомендуемый запуск в R2013a
quantize
не рекомендуется. Использование cast
, zeros
, ones
, eye
, или subsasgn
вместо этого. Нет никаких планов удалить quantize
.
При запуске в R2013a использовать cast
, zeros
, ones
, eye
, или subsasgn
вместо этого. cast
, zeros
, ones
, eye
, и subsasgn
функции могут квантовать другие типы данных в дополнение к fi
объекты и инкапсулируют информацию о типе для квантования в объекте, а не как отдельные входные параметры.
Не рекомендуемый | Рекомендуемый |
---|---|
x_BP = fi(pi); ntBP = numerictype(1,8,4); yBP = quantize(x_BP,ntBP) yBP = 3.1250 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 8 FractionLength: 4 |
x_BP = fi(pi);
ntBP = fi([],1,8,4);
yBP = cast(x_BP,'like',ntBP) yBP = 3.1250 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 8 FractionLength: 4 |
fi
| numerictype
| cast
| zeros
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.