числовой::Числовые корни системы полиномиальных уравнений
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.
numeric::polysysroots(eqs, <NoWarning>) numeric::polysysroots(eqs,vars, <NoWarning>)
numeric::polysysroots(eqs, ...) возвращает числовые приближения всех действительных и комплексных корней полиномиальной системы уравнений eqs.
Коэффициенты полиномов могут содержать символьные параметры.
Если никакие неизвестные не заданы vars, thennumeric::indets(eqs) используется вместо vars.
В большинстве случаев решение возвращено как набор списков решенных уравнений формы
,
где x 1, x 2, … является неизвестными. Эти упрощенные уравнения должны рассматриваться как ограничения на неизвестные. Например, если неизвестный x 1, скажем, не поднимает в форме x 1 = … в решении, то нет никакого ограничения на это неизвестное, и это - произвольный параметр. Это сохраняется в целом для всех неизвестных, которые не поднимаются на левой стороне решенных уравнений. Cf. Пример 2.
Если никакие явные решения не могут быть вычислены, выражения формы может быть возвращен, где S является набором решения.
Упорядоченное расположение неизвестных в vars определяет упорядоченное расположение решенных уравнений. Если setvars используется, то внутреннее упорядоченное расположение используется.
Если набор решения eqs не конечен, то numeric::polysysroots может возвратить решения с некоторыми неизвестными, остающимися как свободные параметры. В этом случае представление решения зависит от упорядоченного расположения неизвестных! Cf. Пример 3. Далее, если более высокие полиномы степени включены, то numeric::polysysroots может не вычислить корни. Cf. Пример 5. То же самое может произойти, когда eqs содержит символьные параметры.
Можно попробовать numeric::fsolve, чтобы вычислить один числовой корень, если numeric::polysysroots не может вычислить все корни системы. Обратите внимание, однако, что numeric::fsolve не принимает символьные параметры в уравнениях.
Мы рекомендуем использовать numeric::polyroots, чтобы вычислить все корни одного одномерного полинома с числовыми коэффициентами.
numeric::polysysroots является гибридной стандартной программой: это вызывает символьный решатель solve(eqs, vars, BackSubstitution = FALSE) и обрабатывает его символьный результат численно. Cf. Пример 4.
Функция чувствительна к переменной окружения DIGITS, который определяет числовую рабочую точность.
Уравнения, выражения, а также объекты DOM_POLY могут использоваться, чтобы задать полиномы:
numeric::polysysroots(x^2 = PI^2, x)
![]()
numeric::polysysroots({x^2 + y^2 - 1, x^2 - y^2 = 1/2}, [x, y])![]()
numeric::polysysroots({poly(x^2 + y + 1), y^2 + x = 1}, [x, y])
Приняты символьные параметры:
numeric::polysysroots(x^2 + y + exp(z), [x, y])
![]()
Возвращенные решения могут содержать некоторые неизвестные, остающиеся как свободные параметры:
numeric::polysysroots({x^2 + y^2 = z}, [x, y, z])![]()
Упорядоченное расположение неизвестных определяет представление решения, если набор решения не конечен. Во-первых, следующее уравнение решено для x, оставив y как свободный параметр:
numeric::polysysroots({x^3 = y^2}, [x, y])
Переупорядочение неизвестных приводит к представлению с x как свободный параметр:
numeric::polysysroots({x^3 = y^2}, [y, x])![]()
Символьный решатель производит решение RootOf следующей системы:
eqs := {y^2 - y = x, x^3 = y^3 + x}:
solve(eqs, BackSubstitution = FALSE)
Внутренне, numeric::polysysroots вызывает solve и обрабатывает этот результат численно:
numeric::polysysroots(eqs, [x, y])

delete eqs:
Следующее уравнение решено для первых из заданных неизвестных:
eqs := y^5 - PI*y = x: solve(eqs, [x, y])
![]()
numeric::polysysroots обрабатывает этот вывод численно:
numeric::polysysroots(eqs, [x, y])
![]()
Уравнение решено для y, когда неизвестные переупорядочиваются. Однако никакое простое представление решения не существует, таким образом, объект RootOf возвращен:
solve(eqs, [y, x])

Корни, представленные выражением RootOf, не могут быть вычислены численно, потому что символьный параметр x включен:
numeric::polysysroots(eqs, [y, x])

delete eqs:
|
Полиномиальное уравнение или список, набор, |
|
Неизвестное или список или набор неизвестных. Неизвестные могут быть идентификаторами или индексированными идентификаторами. |
|
По умолчанию корни перепроверяются, автоматически. Предупреждения выданы, если решение, кажется, омрачено некоторой числовой нестабильностью. При использовании этой опции подавлена эта проверка, и никакие предупреждения не будут выданы. |
Набор списков уравнений или выражения формы , где x 1, x 2, … является неизвестными, и S является набором решения.
Набор {[]} содержащий пустой список возвращен, если никакие решения не могут быть вычислены.