exponenta event banner

fimath для режимов округления и переполнения

Только методы округления и действия переполнения, установленные до операции с fi объекты влияют на результаты этих операций. После создания fi объект в MATLAB ®, изменение параметров округления или переполнения не влияет на его значение. Например, рассмотрим fi объекты a и b:

p = fipref('NumberDisplay', 'RealWorldValue',...
'NumericTypeDisplay', 'none', 'FimathDisplay', 'none');
T = numerictype('WordLength',8,'FractionLength',7);
F = fimath('RoundingMethod','Floor','OverflowAction','Wrap');
a = fi(1,T,F)
a =
 
    -1
b = fi(1,T)
b =
 
    0.9922

Потому что вы создаете a с fimath объект F который имеет OverflowAction установить в значение Wrap, значение a обертывает до -1. И наоборот, потому что вы создаете b со значением по умолчанию OverflowAction значение Saturate, его значение насыщается до 0,9922.

Теперь назначьте fimath объект F кому b:

b.fimath = F
b =
 
    0.9922

Поскольку операция назначения и соответствующее переполнение и насыщение произошли при создании b, его значение не изменяется при назначении ему нового fimath объект F.

Примечание

fi объекты без локального fimath и созданные из значения с плавающей запятой всегда создаются с помощью RoundingMethod из Nearest и OverflowAction из Saturate. Построить fi объекты с различными RoundingMethod и OverflowAction свойства, укажите требуемые RoundingMethod и OverflowAction свойства в fi конструктор.

Для получения дополнительной информации о fimath объект и его свойства, см. fimath Свойства объекта