globalfimath

Сконфигурируйте глобальную переменную fimath и возвратите объект указателя

Синтаксис

G = globalfimath
G = globalfimath('PropertyName1',PropertyValue1,...)
G = globalfimath(f)

Описание

G = globalfimath возвращает объект указателя в глобальную переменную fimath. Глобальная переменная fimath имеет идентичные свойства к объекту fimath, но применяется глобально.

G = globalfimath('PropertyName1',PropertyValue1,...) устанавливает глобальную переменную fimath использование именованных свойств и их соответствующих значений. Свойства, которые вы не задаете в этом синтаксисе, автоматически установлены в ту из текущей глобальной переменной fimath.

G = globalfimath(f) устанавливает свойства глобальной переменной fimath совпадать с теми из объекта f входа fimath и возвращает объект указателя в него.

Если в предыдущем релизе вы не использовали функцию saveglobalfimathpref, чтобы сохранить глобальную переменную fimath настройки к вашим настройкам MATLAB®, глобальные свойства fimath, которые вы устанавливаете с функцией globalfimath, применяются только к вашему текущему сеансу работы с MATLAB. Это - лучшая практика удалить глобальную переменную fimath из настроек MATLAB так, чтобы вы запустили каждый сеанс работы с MATLAB с помощью настроек fimath по умолчанию. Чтобы удалить глобальную переменную fimath, используйте функцию removeglobalfimathpref.

Примеры

свернуть все

Используйте функцию globalfimath, чтобы установить, изменить, и сбросить глобальную переменную fimath.

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

G = globalfimath('RoundMode','Floor','OverflowMode','Wrap')
G = 
        RoundingMethod: Floor
        OverflowAction: Wrap
           ProductMode: FullPrecision
               SumMode: FullPrecision

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

F1 = fimath
F1 = 
        RoundingMethod: Floor
        OverflowAction: Wrap
           ProductMode: FullPrecision
               SumMode: FullPrecision

Создайте объект fi, A, сопоставленный с глобальной переменной fimath.

A = fi(pi)
A = 
    3.1416

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 16
        FractionLength: 13

Теперь установите свойство "SumMode" глобальной переменной fimath к "KeepMSB" и сохраните все другие значения свойств текущей глобальной переменной fimath.

G = globalfimath('SumMode','KeepMSB')
G = 
        RoundingMethod: Floor
        OverflowAction: Wrap
           ProductMode: FullPrecision
               SumMode: KeepMSB
         SumWordLength: 32
         CastBeforeSum: true

Измените глобальную переменную fimath путем прямого взаимодействия с объектом G указателя.

G.ProductMode = 'SpecifyPrecision'
G = 
        RoundingMethod: Floor
        OverflowAction: Wrap
           ProductMode: SpecifyPrecision
     ProductWordLength: 32
 ProductFractionLength: 30
               SumMode: KeepMSB
         SumWordLength: 32
         CastBeforeSum: true

Сбросьте глобальную переменную fimath к заводской настройке путем вызова метода сброса на G. Это эквивалентно использованию функции resetglobalfimath.

reset(G);
G
G = 
        RoundingMethod: Nearest
        OverflowAction: Saturate
           ProductMode: FullPrecision
               SumMode: FullPrecision

Советы

Если вы всегда используете те же настройки fimath, и вы не совместно используете код с другими людьми, использование функции globalfimath является быстрым, удобным методом, чтобы сконфигурировать эти настройки. Однако, если вы совместно используете код с другими людьми или если вы используете функцию fiaccel, чтобы ускорить алгоритм, или вы генерируете код С для своего алгоритма, рассматриваете следующие альтернативы.

ЦельВыйдите Используя globalfimathРешение

Совместно используйте код

Если вы совместно используете код с кем-то, кто использует различные глобальные настройки fimath, они могут видеть различные результаты.

Разделите свойства fimath от своего алгоритма при помощи таблиц типов. Для получения дополнительной информации смотрите Отдельные Определения типов из Алгоритма.

Ускорьте свой алгоритм с помощью fiaccel или сгенерируйте код С из алгоритма MATLAB с помощью codegen

Вы не можете использовать globalfimath в рамках того алгоритма. Если вы генерируете код с одной установкой globalfimath и запускаете его с различной установкой globalfimath, результаты могут отличаться. Для получения дополнительной информации смотрите Значение по умолчанию Определения fimath Значения для MEX-функций.

Используйте таблицы типов в алгоритме, из которого вы хотите сгенерировать код. Это изолирует вас от глобальных настроек и делает код портативным. Для получения дополнительной информации смотрите Отдельные Определения типов из Алгоритма.

Представленный в R2010a