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