setfimath

Присоедините объект fimath к объекту fi

Синтаксис

y = setfimath(x,f)

Описание

пример

y = setfimath(x,f) возвращает объект fi, y, с numerictype x и значением, и присоединенным объектом fimath, f. Эта функция и связанная функция removefimath полезны для предотвращения ошибок о embedded.fimath обоих операндов, бывших должных быть равными.

y = setfimath (x, f) синтаксис не изменяет вход, x. Изменить x, use x = setfimath(x,f). Если вы используете setfimath в выражении, такой как, a*setfimath(b,f), объект fimath используется во временной переменной, но b не изменяется.

Примеры

свернуть все

Задайте объект fi, задайте объект fimath и используйте setfimath, чтобы присоединить объект fimath к объекту fi.

Создайте объект fi без объекта fimath.

a = fi(pi)
a = 
    3.1416

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

Создайте объект fimath и присоедините его к объекту fi.

f = fimath('OverflowAction','Wrap','RoundingMethod','Floor');
b = setfimath(a,f)
b = 
    3.1416

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

        RoundingMethod: Floor
        OverflowAction: Wrap
           ProductMode: FullPrecision
               SumMode: FullPrecision

Используйте шаблон x = setfimath(x,f) и y = removefimath(y), чтобы изолировать переменные из настроек fimath вне функции. Этот шаблон не создает копии данных в сгенерированном коде.

function y = fixed_point_32bit_KeepLSB_plus_example(a,b)
   f = fimath('OverflowAction','Wrap',...
      'RoundingMethod','Floor',...
      'SumMode','KeepLSB',...
      'SumWordLength',32);
   a = setfimath(a,f);
   b = setfimath(b,f);
   y = a + b;
   y = removefimath(y);
end
 

Если у вас есть продукт MATLAB® Coder™, можно сгенерировать код С. Этот пример генерирует код С на компьютере с 32-битным, нативным целочисленным типом.

a = fi(0,1,16,15);
b = fi(0,1,16,15);
codegen -config:lib  fixed_point_32bit_KeepLSB_plus_example...
       -args {a,b} -launchreport
     
int fixed_point_32bit_KeepLSB_plus_example(short a, short b)
{
  return a + b;
}

Входные параметры

свернуть все

Входные данные, заданные как объект fi или встроенное целочисленное значение, с которого можно скопировать тип данных и значение к выводу. x должен быть объектом fi или целочисленным типом данных (int8, int16, int32, int64, uint8, uint16, uint32 или uint64). В противном случае объект fimath не применяется. Если x не является типом данных Object fi или целочисленным типом данных, y = x.

Введите объект fimath, заданный как существующий объект fimath присоединить к выводу. Ошибка происходит, если f не является объектом fimath.

Выходные аргументы

свернуть все

Выведите объект fi, возвращенный как объект fi с совпадающим типом данных и значением как вход x. y также присоединил объект fimath, f. Если вход, x, не является типом данных Object fi или целочисленным типом данных, то y = x.

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

Смотрите также

| |

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