polynomialReduce

Уменьшайте полиномы делением

Синтаксис

r = polynomialReduce(p,d)
r = polynomialReduce(p,d,vars)
r = polynomialReduce(___,'MonomialOrder',MonomialOrder)
[r,q] = polynomialReduce(___)

Описание

пример

r = polynomialReduce(p,d) возвращает Полиномиальное Сокращение p d относительно всех переменных в p, определенном symvar. Вход d может быть вектором полиномов.

пример

r = polynomialReduce(p,d,vars) использует полиномиальные переменные в vars.

пример

r = polynomialReduce(___,'MonomialOrder',MonomialOrder) также использует заданный одночленный порядок в дополнение к входным параметрам в предыдущих синтаксисах. Опциями является 'degreeInverseLexicographic', 'degreeLexicographic' или 'lexicographic'. По умолчанию polynomialReduce использует 'degreeInverseLexicographic'.

пример

[r,q] = polynomialReduce(___) также возвращает частное в q.

Примеры

свернуть все

Найдите частное и остаток, когда x^3 - x*y^2 + 1 будет разделен на x + y.

syms x y
p = x^3 - x*y^2 + 1;
d = x + y;
[r,q] = polynomialReduce(p,d)
r =
1
q =
x^2 - y*x

Восстановите исходный полином от частного и остатка. Проверяйте, что восстановленный полином равняется p при помощи isAlways.

pOrig = expand(sum(q.*d) + r);
isAlways(p == pOrig)
ans =
  logical
   1

Задайте полиномиальные переменные в качестве второго аргумента polynomialReduce.

Разделите exp(a)*x^2 + 2*x*y + 1 на x - y с полиномиальными переменными [x y], обработав a как символьный параметр.

syms a x y
p = exp(a)*x^2 + 2*x*y + 1;
d = x - y;
vars = [x y];
r = polynomialReduce(p,d,vars)
r =
(exp(a) + 2)*y^2 + 1

Уменьшайте x^5 - x*y^6 - x*y x^2 + y и x^2 - y^3.

syms x y
p = x^5 - x*y^6 - x*y;
d = [x^2 + y, x^2 - y^3];
[r,q] = polynomialReduce(p,d)
r =
-x*y
q =
[ x^3 - x*y^3, x*y^3 - x*y]

Восстановите исходный полином от частного и остатка. Проверяйте, что восстановленный полином равняется p при помощи isAlways.

pOrig = expand(q*d.' + r);
isAlways(p == pOrig)
ans =
  logical
   1

По умолчанию polynomialReduce приказывает, чтобы условия в полиномах с термином заказали degreeInverseLexicographic. Измените термин порядок на lexicographic или degreeLexicographic при помощи аргумента пары "имя-значение" 'MonomialOrder'.

Разделите два полинома при помощи порядка термина lexicographic.

syms x y
p = x^2 + y^3 + 1;
d = x - y^2;
r = polynomialReduce(p,d,'MonomialOrder','lexicographic')
r =
y^4 + y^3 + 1

Разделите те же полиномы при помощи порядка термина degreeLexicographic.

r = polynomialReduce(p,d,'MonomialOrder','degreeLexicographic')
r =
x^2 + y*x + 1

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

свернуть все

Полином, чтобы разделиться, заданный как символьное выражение или функция.

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

Полиномиальные переменные, заданные как вектор символьных переменных.

Одночленный порядок делителей, заданных как 'degreeInverseLexicographic', 'degreeLexicographic' или 'lexicographic'. Если вы задаете vars, то переменные видов polynomialReduce на основе порядка переменных в vars.

  • lexicographic сортирует условия полинома с помощью лексикографического упорядоченного расположения.

  • degreeLexicographic сортирует условия полинома согласно общей степени каждого термина. Если условия имеют равные общие степени, polynomialReduce сортирует условия с помощью лексикографического упорядоченного расположения.

  • degreeInverseLexicographic сортирует условия полинома согласно общей степени каждого термина. Если условия имеют равные общие степени, polynomialReduce сортирует условия с помощью обратного лексикографического упорядоченного расположения.

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

свернуть все

Остаток от полиномиального деления, возвращенного как символьный полином.

Частное полиномиального деления, возвращенного как символьный полином или вектор символьных полиномов.

Больше о

свернуть все

Полиномиальное сокращение

Полиномиальное сокращение является делением полиномиального p полиномами делителя d 1, d 2, …, d n . Условия полиномов делителя упорядочены согласно определенному порядку термина. Частные q 1, q 2, …, q n и остаток r удовлетворяют этому уравнению.

p=q1d1+q2d2++qndn+r.

Никакой термин в r не может быть разделен на ведущие условия ни одного из делителей d 1, d 2, …, d n .

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

| |

Введенный в R2018a