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