rem

Остаток после деления

Синтаксис

Описание

пример

r = rem(a,b) возвращает остаток после деления a по b, где a - дивиденды и b является делителем. Эта функция часто называется оставшейся операцией, которая может быть выражена как r = a - b.*fix(a./b). rem функция следует соглашению, что rem(a,0) является NaN.

Примеры

свернуть все

Вычислите оставшуюся часть после деления 5 на 23.

a = 23;
b = 5;
r = rem(a,b)
r = 3

Найдите остаток после деления для вектора из целых чисел и делителя 3.

a = 1:5;
b = 3;
r = rem(a,b)
r = 1×5

     1     2     0     1     2

Найдите остаток после деления для набора целых чисел, включая как положительные, так и отрицательные значения. Обратите внимание, что ненулевые результаты имеют тот же знак, что и дивиденды.

a = [-4 -1 7 9];
b = 3;
r = rem(a,b)
r = 1×4

    -1    -1     1     0

Найдите остаток после деления для нескольких углов с помощью делителя 2*pi. Когда это возможно, rem пытается получить точные целочисленные результаты путем компенсации эффектов округления с плавающей точкой.

theta = [0.0 3.5 5.9 6.2 9.0 4*pi];
b = 2*pi;
r = rem(theta,b)
r = 1×6

         0    3.5000    5.9000    6.2000    2.7168         0

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

свернуть все

Дивидендный, заданный как скалярный, векторный, матричный или многомерный массив. a должен быть вещественным массивом любого числового типа. Входные параметры a и b должен быть либо одинаковым размером, либо иметь совместимые размеры (для примера, a является M-by- N матрица и b является скаляром или 1-by- N вектор-строка). Для получения дополнительной информации см. «Совместимые размеры массивов для основных операций».

Если a является duration массив и b является числовым массивом, затем значениями в b рассматриваются как числа 24-часовых дней.

Если один вход имеет целочисленный тип данных, то другой вход должен быть того же целочисленного типа данных или быть скаляром double.

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

Делитель, заданный как скалярный, векторный, матричный или многомерный массив. b должен быть вещественным массивом любого числового типа. Входные параметры a и b должен быть либо одинаковым размером, либо иметь совместимые размеры (для примера, a является M-by- N матрица и b является скаляром или 1-by- N вектор-строка). Для получения дополнительной информации см. «Совместимые размеры массивов для основных операций».

Если b является duration массив и a является числовым массивом, затем значениями в a рассматриваются как числа 24-часовых дней.

Если один вход имеет целочисленный тип данных, то другой вход должен быть того же целочисленного типа данных или быть скаляром double.

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

Подробнее о

свернуть все

Различия mod от rem

Концепция остатка после деления не однозначно задана, и эти две функции mod и rem каждый вычисляет разное изменение. mod функция создает результат, который либо равен нулю, либо имеет тот же знак, что и делитель. rem функция создает результат, который либо равен нулю, либо имеет тот же знак, что и дивиденды.

Другое различие является соглашением, когда делитель равен нулю. mod функция следует соглашению, что mod(a,0) возвращает a, в то время как rem функция следует соглашению, что rem(a,0) возвращает NaN.

Оба варианта имеют свое применение. Для примера, в обработке сигнала, mod функция полезна в контексте периодических сигналов, потому что ее выход периодический (с периодом, равным делителю).

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

.

См. также

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