exponenta event banner

модник

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

Начиная с 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)[sym(3), -sym(1), sym(1), -sym(3)]

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

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

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

(7312-132)[sym(7/3), sym(1/2), -sym(13/2)]

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

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

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

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

[c,t] = coeffs(a)
c = (1-2999)[sym(1), -sym(2), sym(999)]
t = (x3x1)[x^3, x, sym(1)]

Затем найдите модуль каждого коэффициента в c деленная на 10. Реконструируйте новый многочлен, используя вычисленные коэффициенты.

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

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

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

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

(1110)[sym(1), sym(1); sym(1), sym(0)]

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

M = mod(A,9)
M = 

(0123)[sym(0), sym(1); sym(2), sym(3)]

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

Определите пилообразную волну с периодом 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. The axes 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. The axes contains an object of type functionline.

Входные аргументы

свернуть все

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

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

Подробнее

свернуть все

Модуль

Модуль a и b равен

mod (a, b) = a − b· floor (ab),

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

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

Совет

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

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

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

В R2020b изменилось поведение

См. также

| | |

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