mod

Символьный модуль после деления

Начиная в R2020b, mod больше не находит модуль для каждого коэффициента символьного полинома. Для получения дополнительной информации см. Вопросы совместимости.

Синтаксис

Описание

пример

m = mod(a,b) находит модуль после деления. Чтобы найти остаток, использовать rem.

Если a многочленное выражение, затем mod(a,b) возвращает неоцененный модуль полинома.

Примеры

свернуть все

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

Найдите модуль после деления для этих чисел.

m = [mod(sym(27),4), mod(sym(27),-4), mod(sym(-27),4), mod(sym(-27),-4)]
m = (3-11-3)

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

Найдите модуль после деления для этих чисел.

m = [mod(sym(22/3),5), mod(sym(1/2),7), mod(sym(27/6),-11)]
m = 

(7312-132)

Найдите модуль после деления, когда дивиденд является многочленным выражением, и делитель является целым числом. Если дивиденд является многочленным выражением, то mod возвращает символьное выражение, не оценивая модуль.

Найдите модуль после деления 10 для полинома x3-2x+999.

syms x
a = x^3 - 2*x + 999;
mUneval = mod(a,10)
mUneval = x3-2x+999 mod 10

Чтобы оценить модуль для каждого полиномиального коэффициента, сначала извлеките коэффициенты каждого термина с помощью coeffs.

[c,t] = coeffs(a)
c = (1-2999)
t = (x3x1)

Затем найдите модуль каждого коэффициента в c разделенный на 10. Восстановите новый полином с помощью оцененных коэффициентов.

cMod10 = mod(c,10);
mEval = sum(cMod10.*t)
mEval = x3+8x+9

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

Найдите модуль после деления для элементов двух матриц.

A = sym([27,28; 29,30]);
B = sym([2,3; 4,5]);
M = mod(A,B)
M = 

(1110)

Найдите модуль после деления для элементов матричного A и значение 9. Здесь, mod расширяет 9 в 2- 2 матрица со всеми элементами равняется 9.

M = mod(A,9)
M = 

(0123)

Создайте две периодических функции, который представляет пилообразные волны.

Задайте пилообразную волну с периодом T = 2 и амплитудный A = 1.5. Создайте символьный функциональный y(x). Используйте mod функции, чтобы задать пилообразную волну в течение каждого периода. Пилообразная волна увеличивается линейно в течение полного периода, и она опускается до нуля назад в начале другого периода.

T = 2;
A = 1.5;
syms y(x);
y(x) = A*mod(x,T)/T;

Постройте эту пилообразную волну для интервала [-6 6].

fplot(y,[-6 6])

Figure contains an axes object. The axes object contains an object of type functionline.

Затем создайте другую пилообразную волну, которая симметрична в один период. Используйте piecewise задавать пилообразную волну, которая увеличивается линейно в течение первой половины периода, и затем уменьшается линейно в течение второй половины периода.

y(x) = piecewise(0 < mod(x,T) <= (T/2), 2*A*mod(x,T)/T,...
                 (T/2) < mod(x,T) <= T, 2*A - 2*A*mod(x,T)/T);

Постройте эту пилообразную волну для интервала [-6 6].

fplot(y,[-6 6])

Figure contains an axes object. The axes object contains an object of type functionline.

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

свернуть все

Дивиденд (числитель) в виде номера, символьного числа, переменной, многочленного выражения или вектора или матрицы чисел, символьных чисел, переменных или многочленных выражений. Входные параметры a и b должен быть одного размера, если каждый не скаляр. Функция расширяет скалярный вход в массив одного размера с другим входом.

Делитель (знаменатель) в виде номера, символьного числа или вектора или матрицы чисел или символьных чисел. Входные параметры a и b должен быть одного размера, если каждый не скаляр. Функция расширяет скалярный вход в массив одного размера с другим входом.

Больше о

свернуть все

Модуль

Модуль a и b

mod(a,b)=ab·пол(ab),

где floor раунды (a / b) к отрицательной бесконечности. Например, модуль –8 и –3 –2, но модуль –8 и 3 равняется 1.

Если b = 0, то mod (a, b) = mod (a, 0) = 0.

Советы

  • Вызов mod для чисел, которые не являются символьными объектами, вызывает MATLAB® mod функция.

Вопросы совместимости

развернуть все

Поведение изменяется в R2020b

Смотрите также

| | |

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