divide

Разделите два fi объекты

Синтаксис

Описание

пример

c = divide(T,a,b) выполняет деление на элементах a элементами b. Результат c имеет числовой тип, заданный numerictype объект T.

Примеры

свернуть все

В этом примере показано, как управлять точностью divide функция.

Создайте fi без знака объект с 80-битным размером слова и 2^-83 масштабирование, которое помещает продвижение 1 из представления в старший значащий бит. Инициализируйте объект значением 0.1 и исследуйте бинарное представление.

P = fipref('NumberDisplay', 'bin',...
    'NumericTypeDisplay', 'short',...
    'FimathDisplay', 'none');
a = fi(0.1, 0, 80, 83)
a = 
11001100110011001100110011001100110011001100110011010000000000000000000000000000
      numerictype(0,80,83)

Заметьте, что бесконечное представление повторения является усеченным после 52 битов, потому что мантисса стандарта IEEE® число с плавающей запятой с двойной точностью имеет 52 бита.

Контрастное вышеупомянутое к вычислению 1/10 в вычислениях с фиксированной точкой с набором частного к тому же числовому типу как прежде.

T = numerictype('Signed', false,...
    'WordLength', 80,...
    'FractionLength', 83);
a = fi(1);
b = fi(10);
c = divide(T, a, b);
c.bin
ans = 
'11001100110011001100110011001100110011001100110011001100110011001100110011001101'

Заметьте это, когда вы будете использовать divide функция, частное вычисляется к полным 80 битам, независимо от точности a и b. Таким образом, fi объект c представляет 1/10 более точно, чем стандарт IEEE® число с плавающей запятой, с двойной точностью может.

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

свернуть все

Числовой тип выхода в виде a numerictype объект.

Числитель в виде скаляра, вектора, матрицы или многомерного массива.

a и b должен иметь те же размерности, если каждый не скаляр. Если любой a или b скаляр, затем c имеет размерности нескалярного объекта.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | fi
Поддержка комплексного числа: Да

Знаменатель в виде действительного скаляра, вектора, матрицы или многомерного массива.

a и b должен иметь те же размерности, если каждый не скаляр. Если любой a или b скаляр, затем c имеет размерности нескалярного объекта.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | fi
Поддержка комплексного числа: Да

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

свернуть все

Решение, возвращенное как скаляр, вектор, матрица или многомерный массив. Когда a и b одного размера, c те же размерности как a и b. Если любой a или b скаляр, затем c имеет размерности нескалярного объекта.

Алгоритмы

свернуть все

Если a и b оба fi объекты, c имеет тот же fimath возразите как a. Если c имеет fi Fixed тип данных и любые из входных параметров имеют fi типы данных с плавающей запятой, затем fi плавающая точка преобразована в значение фиксированной точки. Промежуточные количества вычисляются с помощью fimath объект a.

Если любой a или b fi объектом и другим является MATLAB® встроенный числовой тип, затем встроенный объект брошен к размеру слова fi объект, сохраняя лучшую точность фракционировал длину. Промежуточные количества вычисляются с помощью fimath объект входа fi объект.

Если a и b оба встроенный MATLAB, удваивается, затем c частное с плавающей точкой a./b, и numerictype T проигнорирован.

Правила распространения типа данных

Для синтаксисов, для которых программное обеспечение Fixed-Point Designer™ использует numerictype объект T, divide функция следует правилам распространения типа данных, перечисленным в следующей таблице. В большинстве случаев типы данных с плавающей точкой распространены. Это позволяет вам писать код, который может использоваться и с фиксированной точкой и с входными параметрами с плавающей точкой.

Тип данных Входа fi Объекты a и bТип данных Объекта numerictype TТип данных Выхода c

Встроенный double

Встроенный double

Любой

Встроенный double

fi Fixed

fi Fixed

fi Fixed

Тип данных numerictype объект T

fi Fixed

fi Fixed

fi double

fi double

fi Fixed

fi Fixed

fi single

fi single

fi Fixed

fi Fixed

fi ScaledDouble

fi ScaledDouble со свойствами numerictype объект T

fi double

fi double

fi Fixed

fi double

fi double

fi double

fi double

fi double

fi double

fi double

fi single

fi single

fi double

fi double

fi ScaledDouble

fi double

fi single

fi single

fi Fixed

fi single

fi single

fi single

fi double

fi double

fi single

fi single

fi single

fi single

fi single

fi single

fi ScaledDouble

fi single

fi ScaledDouble

fi ScaledDouble

fi Fixed

Если любой вход a или b имеет тип fi ScaledDouble, затем выход cимеет тип fi ScaledDouble со свойствами numerictype объект T.

fi ScaledDouble

fi ScaledDouble

fi double

fi double

fi ScaledDouble

fi ScaledDouble

fi single

fi single

fi ScaledDouble

fi ScaledDouble

fi ScaledDouble

Если любой вход a или b имеет тип fi ScaledDouble, затем выход c имеет тип fi ScaledDouble со свойствами numerictype объект T.

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

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

| | | | | | | |

Представлено до R2006a