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»