idivide

Целочисленное деление с опцией округления

Описание

пример

C = idivide(A,B) делит каждый элемент A соответствующим элементом B, округленный до ближайших целых чисел к нулю. A и B должен содержать вещественные числа, и по крайней мере один из них должен принадлежать целочисленному классу.

  • Если A и B массивы, затем они должны принадлежать тому же целочисленному классу и иметь размеры, которые совместимы.

  • Если A или B скаляр дважды, затем другой вход должен быть целочисленным классом, но не int64 или uint64. idivide функционируйте затем возвращает C как тот же целочисленный класс.

пример

C = idivide(A,B,opt) задает альтернативную опцию округления: 'fix'полпотолок, или 'round'. Например, idivide(A,B,'ceil') округляет частных до ближайших целых чисел к положительной бесконечности. Опцией округления по умолчанию является 'fix'.

Примеры

свернуть все

Создайте целочисленный массив A и целочисленный скаляр B. Разделите каждый элемент A B, округленный до ближайших целых чисел к нулю.

A = int16([-7 -4 7 11]);
B = int16(10);
C = idivide(A,B)
C = 1x4 int16 row vector

   0   0   0   1

Создайте два целочисленных массива, A и B. Разделите каждый элемент A соответствующим элементом B, округленный до ближайших целых чисел к нулю.

A = int64([-2 3]);
B = int64([3 5]);
C = idivide(A,B)
C = 1x2 int64 row vector

   0   0

Создайте скаляр, двойной A и целочисленный массив B. Разделите A каждым элементом B с опцией округления по умолчанию 'fix'.

A = 2.0;
B = int32([-3 3 4]);
C = idivide(A,B)
C = 1x3 int32 row vector

   0   0   0

Сравните результаты с другими опциями округления.

C = idivide(A,B,'floor')
C = 1x3 int32 row vector

   -1    0    0

C = idivide(A,B,'ceil')
C = 1x3 int32 row vector

   0   1   1

C = idivide(A,B,'round')
C = 1x3 int32 row vector

   -1    1    1

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

свернуть все

Числитель в виде скаляра, вектора, матрицы или многомерного массива. Целое число вводит A и B должен быть или тот же размер или иметь размеры, которые совместимы. Например, A M- N матрица и B скаляр или 1- N вектор-строка. Для получения дополнительной информации см. "Совместимые размеры массивов для основных операций".

Если A скаляр дважды, затем B должен быть целочисленный класс, но не int64 или uint64.

Типы данных: double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Знаменатель в виде скаляра, вектора, матрицы или многомерного массива. Целое число вводит A и B должен быть или тот же размер или иметь размеры, которые совместимы. Например, A M- N матрица и B скаляр или 1- N вектор-строка. Для получения дополнительной информации см. "Совместимые размеры массивов для основных операций".

Если B скаляр дважды, затем A должен быть целочисленный класс, но не int64 или uint64.

Типы данных: double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Опция округления в виде 'fix'полпотолок, или 'round'.

  • 'fix' раунды до ближайших целых чисел к нулю, который эквивалентен удалению любых цифр после десятичной точки.

  • 'floor' раунды до ближайших целых чисел к отрицательной бесконечности.

  • 'ceil' раунды до ближайшего целого числа к положительной бесконечности.

  • 'round' раунды до ближайших целых чисел. Если элемент имеет дробную часть точно 0.5, то он округляется далеко от нуля до целого числа с большей величиной.

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

свернуть все

Целочисленное решение, возвращенное как скаляр, вектор, матрица или многомерный массив. Если любой A или B целочисленный тип данных, затем C тот же целочисленный тип данных.

Типы данных: int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Советы

  • Функциональный idivide(A,B,'round') совпадает с A./B и B.\A для целочисленных типов данных. Аргумент opt обеспечивает опции округления для A./B и B.\A при делении целых чисел.

  • MATLAB® не поддерживает деление комплексных целых чисел.

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

Введен в R2006a