removefimath

Удалите объект fimath из fi объект

Синтаксис

Описание

пример

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

Примеры

свернуть все

В этом примере показано, как задать fi объект, задайте объект fimath, присоедините fimath объект для fi Объектом а затем удалите прикрепленный fimath объект.

a = fi(pi)
a = 
    3.1416

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 16
        FractionLength: 13
f = fimath('RoundingMethod','Floor','OverflowAction','Wrap');
a = setfimath(a,f)
a = 
    3.1416

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

        RoundingMethod: Floor
        OverflowAction: Wrap
           ProductMode: FullPrecision
               SumMode: FullPrecision
b = removefimath(a)
b = 
    3.1416

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

Используйте шаблон 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). Если x не является объектом fi или целочисленным типом данных, тогда y = x.

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

свернуть все

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

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

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

.

См. также

| |

Введенный в R2012b