idivide

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

Описание

пример

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

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

  • Если A или B является скалярным двойным, тогда другой вход должен быть целым классом, но не int64 или uint64. The 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-by- N матрица и B является скаляром или 1-by- N Вектор-строка. Для получения дополнительной информации см. «Совместимые размеры массивов для основных операций».

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

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

Знаменатель, заданный как скалярный, векторный, матричный или многомерный массив. Целочисленные входы A и B должен быть либо одинаковым размером, либо иметь совместимые размеры. Для примера, A является M-by- N матрица и B является скаляром или 1-by- 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