Квантуйте числа фиксированной точки
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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.