exponenta event banner

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около-N матрица и b является скаляром или 1около-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около-N матрица и b является скаляром или 1около-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