Установите математические настройки с фиксированной точкой
F = fimath
создает fimath
объект со значением по умолчанию fimath
настройки свойств.
F = fimath(
задает свойства Name,Value
)fimath
объект при помощи одного или нескольких аргументов пары "имя-значение". Все свойства, не заданные в конструкторе, используют значения по умолчанию.
В этом примере показано, как создать fimath
объект с настройками свойств по умолчанию.
F = fimath
F = RoundingMethod: Nearest OverflowAction: Saturate ProductMode: FullPrecision SumMode: FullPrecision
Установите свойства fimath
объект во время создания объекта с помощью пар "имя-значение". Для примера установите действие переполнения на насыщение, а метод округления на сходимость.
F = fimath('OverflowAction','Saturate','RoundingMethod','Convergent')
F = RoundingMethod: Convergent OverflowAction: Saturate ProductMode: FullPrecision SumMode: FullPrecision
Задайте необязательные разделенные разделенными запятой парами Name,Value
аргументы. Name
- имя аргумента и Value
- соответствующее значение. Name
должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN
.
F = fimath('OverflowAction','Saturate','RoundingMethod','Floor')
'CastBeforeSum'
- Приводят ли оба операнда к типу суммарных данных перед сложениемfalse
или 0
(по умолчанию) | true
или 1
Приводят ли оба операнда к типу суммарных данных перед сложением, заданному в виде числа или логики 1
(true
) или 0
(false
).
Примечание
Это свойство скрыто, когда SumMode
установлено в FullPrecision
.
Пример: F = fimath('CastBeforeSum',true)
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
'MaxProductWordLength'
- Максимально допустимый размер слова для типа данных продукта65535
(по умолчанию) | положительное целое числоМаксимально допустимый размер слова для типа данных продукта, заданная как положительное целое число.
Пример: F = fimath('MaxProductWordLength',16)
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
'MaxSumWordLength'
- Максимально допустимый размер слова для типа суммарных данныхМаксимально допустимый размер слова для типа суммарных данных в виде положительного целого числа.
Пример: F = fimath('MaxSumWordLength',16)
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
'OverflowAction'
- Действия по переполнению'Saturate'
(по умолчанию) | 'Wrap'
Действие, которое необходимо принять при переполнении, заданное как одно из следующих значений:
'Saturate'
- Насыщение до максимального или минимального значения области значений с фиксированной точкой при переполнении.
'Wrap'
- Перенос при переполнении. Этот режим также известен как переполнение дополнения двух.
Пример: F = fimath('OverflowAction','Wrap')
Типы данных: char
'ProductBias'
- Смещение типа данных о продукте0
(по умолчанию) | число с плавающей запятойСмещение типа данных продукта, заданное как число с плавающей запятой.
Пример: F = fimath('ProductBias',1)
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
'ProductFixedExponent'
- Фиксированный показатель типа данных о продукте-30
(по умолчанию) | ненулевым целым числомФиксированная экспонента типа данных продукта, заданная как ненулевое целое число.
Примечание
The ProductFractionLength
- отрицательное значение ProductFixedExponent
. Изменение одного свойства изменяет другое.
Пример: F = fimath('ProductFixedExponent',-20)
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
'ProductFractionLength'
- Длина дроби типа данных о продукте30
(по умолчанию) | ненулевым целым числомДлина дроби, в битах, типа данных продукта, заданная как ненулевое целое число.
Примечание
The ProductFractionLength
- отрицательное значение ProductFixedExponent
. Изменение одного свойства изменяет другое.
Пример: F = fimath('ProductFractionLength',20)
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
'ProductMode'
- Как определяется тип данных продукта'FullPrecision'
(по умолчанию) | 'KeepLSB'
| 'KeepMSB'
| 'SpecifyPrecision'
Как определяется тип данных продукта, задается как одно из следующих значений:
'FullPrecision'
- Сохранена полная точность результата.
'KeepLSB'
- Сохраните наименьшие значащие биты. Задайте размер слова продукта. Длина дроби устанавливается таким образом, чтобы поддерживать наименьшие значимые биты продукта.
'KeepMSB'
- Сохраните самые значительные биты. Задайте размер слова продукта. Длина дроби устанавливается для поддержания наиболее значимых битов продукта.
'SpecifyPrecision'
- Указание длин слов и дробей, наклона и смещения продукта.
Пример: F = fimath('ProductMode','KeepLSB')
Типы данных: char
'ProductSlope'
- Наклон типа данных о продукте9.3132e-10
(по умолчанию) | конечное, положительное число с плавающей запятойНаклон типа данных продукта, заданный как конечное, положительное число с плавающей запятой.
Примечание
Изменение одного из этих свойств влияет на другие.
Пример: F = fimath('ProductSlope',9.3132e-10)
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
'ProductSlopeAdjustmentFactor'
- Коэффициент корректировки наклона типа данных о продукте1
(по умолчанию) | число с плавающей запятой, больше или равное 1 и меньше 2Коэффициент корректировки наклона типа данных продукта, заданный как число с плавающей запятой, больше или равное 1 и меньше 2.
Примечание
Изменение одного из этих свойств влияет на другие.
Пример: F = fimath('ProductSlopeAdjustmentFactor',1)
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
'ProductWordLength'
- Размер слова типа данных продукта32
(по умолчанию) | положительное целое числоРазмер слова, в битах, для типа данных продукта, заданная как положительное целое число.
Пример: F = fimath('ProductWordLength',64)
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
'RoundingMethod'
- Метод округления для использования'Nearest'
(по умолчанию) | 'Ceiling'
| 'Convergent'
| 'Zero'
| 'Floor'
| 'Round'
Метод округления, заданный в качестве одного из следующих значений:
'Nearest'
- Округлить к ближайшему. Связи вокруг к положительной бесконечности.
'Ceiling'
- Округлить к положительной бесконечности.
'Convergent'
- Округлить к ближайшему. Привязки к ближайшему даже сохраненному целому числу (наименее смещенному).
'Zero'
- Округлить к нулю.
'Floor'
- Округлить к отрицательной бесконечности.
'Round'
- Округлить к ближайшему. Связи округлятся к отрицательной бесконечности для отрицательных чисел и к положительной бесконечности для положительных чисел.
Пример: F = fimath('RoundingMethod','Convergent')
Типы данных: char
'SumBias'
- Смещение типа суммарных данных0
(по умолчанию) | число с плавающей запятойСмещение типа суммарных данных, заданное как число с плавающей запятой.
Пример: F = fimath('SumBias',0)
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
'SumFixedExponent'
- Фиксированный показатель типа суммарных данных-30
(по умолчанию) | ненулевым целым числомФиксированная экспонента типа данных суммы, заданная как ненулевое целое число.
Примечание
The SumFractionLength
- отрицательное значение SumFixedExponent
. Изменение одного свойства изменяет другое.
Пример: F = fimath('SumFixedExponent',-20)
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
'SumFractionLength'
- Длина дроби типа суммарных данных30
(по умолчанию) | ненулевым целым числомДлина дроби, в битах, типа суммарных данных, заданная как ненулевое целое число.
Примечание
The SumFractionLength
- отрицательное значение SumFixedExponent
. Изменение одного свойства изменяет другое.
Пример: F = fimath('SumFractionLength',20)
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
'SumMode'
- Как определяется тип суммарных данных'FullPrecision'
(по умолчанию) | 'KeepLSB'
| 'KeepMSB'
| 'SpecifyPrecision'
Как определяется тип данных суммы, заданный как одно из следующих значений:
'FullPrecision'
- Сохранена полная точность результата.
'KeepLSB'
- Сохраните наименьшие значащие биты. Задайте тип суммарных данных размеров слова. Длина дроби устанавливается таким образом, чтобы поддерживать наименьшие значащие биты суммы.
'KeepMSB'
- Сохраните самые значительные биты. Задайте тип суммарных данных размеров слова. Длина дроби устанавливается для поддержания наиболее значимых битов суммы и не более дробных бит, чем необходимо.
'SpecifyPrecision'
- Задайте длины слова и дроби или наклон и смещение типа суммарных данных.
Пример: F = fimath('SumMode','KeepLSB')
Типы данных: char
'SumSlope'
- Наклон типа суммарных данных9.3132e-10
(по умолчанию) | число с плавающей запятойНаклон типа данных суммы, заданный как число с плавающей запятой.
Примечание
Изменение одного из этих свойств влияет на другие.
Пример: F = fimath('SumSlope',9.3132e-10)
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
'SumSlopeAdjustmentFactor'
- Коэффициент корректировки уклона типа суммарных данных1
(по умолчанию) | число с плавающей запятой, больше или равное 1 и меньше 2Коэффициент корректировки наклона типа суммарных данных, заданный как число с плавающей запятой, больше или равное 1 и меньше 2.
Примечание
Изменение одного из этих свойств влияет на другие.
Пример: F = fimath('SumSlopeAdjustmentFactor',1)
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
'SumWordLength'
- Размер слова типа суммарных данных32
(по умолчанию) | положительное целое числоРазмер слова, в битах, типа суммарных данных, заданная как положительное целое число.
Пример: F = fimath('SumWordLength',64)
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
Указания и ограничения по применению:
Сигналы с фиксированной точкой, поступающие в MATLAB® Функциональный блок из Simulink® назначаются fimath
объект. Этот объект определяется в диалоговом окне Блока MATLAB function в Model Explorer.
Используется для создания fimath
объекты в сгенерированном коде.
Если на ProductMode
свойство fimath
для объекта задано что угодно кроме FullPrecision
, а ProductWordLength
и ProductFractionLength
свойства должны быть постоянными.
Если на SumMode
свойство fimath
для объекта задано что угодно кроме FullPrecision
, а SumWordLength
и SumFractionLength
свойства должны быть постоянными.
fi
| fipref
| globalfimath
| numerictype
| quantizer
| removefimath
| setfimath
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.