exponenta event banner

idivide

Целочисленное деление с возможностью округления

Описание

пример

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

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

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

пример

C = idivide(A,B,opt) указывает альтернативную опцию округления: 'fix', 'floor', 'ceil', или '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', 'floor', 'ceil', или '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