exponenta event banner

корень

Представлять корни многочлена

Синтаксис

Описание

пример

root(p,x) возвращает вектор столбца нумерованных корней символьного многочлена p в отношении x. Символическое решение многочлена высокой степени для его корней может быть сложным или математически невозможным. В этом случае символьная математическая Toolbox™ использует root для представления корней многочлена.

пример

root(p,x,k) представляет k-й корень символического многочлена p в отношении x.

Примеры

Представление корней многочлена высокой степени

Представление корней многочлена x3 + 1 с помощьюroot. root функция возвращает вектор столбца. Элементы этого вектора представляют три корня многочлена.

syms x
p = x^3 + 1;
root(p,x)
ans =
 root(x^3 + 1, x, 1)
 root(x^3 + 1, x, 2)
 root(x^3 + 1, x, 3)

root(x^3 + 1, x, 1) представляет первый корень p, пока root(x^3 + 1, x, 2) представляет второй корень и т. д. Этот синтаксис используется для представления корней многочленов высокой степени.

Найти корни многочлена высокой степени

При решении многочлена высокой степени, solve представляет корни с помощью root. Кроме того, можно либо вернуть явное решение с помощью MaxDegree или вернуть численный результат с помощью vpa.

Найти корни x^3 + 3*x - 16.

syms x
p = x^3 + 3*x - 16;
R = solve(p,x)
R =
 root(z^3 + 3*z - 16, z, 1)
 root(z^3 + 3*z - 16, z, 2)
 root(z^3 + 3*z - 16, z, 3)

Найдите корни явным образом, установив MaxDegree до степени полинома. Многочлены со степенью больше 4 не имеют явных решений.

Rexplicit = solve(p,x,'MaxDegree',3)
Rexplicit =
                  (65^(1/2) + 8)^(1/3) - 1/(65^(1/2) + 8)^(1/3)
 1/(2*(65^(1/2) + 8)^(1/3)) - (65^(1/2) + 8)^(1/3)/2 -...
 (3^(1/2)*(1/(65^(1/2) + 8)^(1/3) + (65^(1/2) + 8)^(1/3))*1i)/2
 1/(2*(65^(1/2) + 8)^(1/3)) - (65^(1/2) + 8)^(1/3)/2 +...
 (3^(1/2)*(1/(65^(1/2) + 8)^(1/3) + (65^(1/2) + 8)^(1/3))*1i)/2

Численное вычисление корней с помощью vpa преобразовать R в высокоточную плавающую точку.

Rnumeric = vpa(R)
RRnumeric =
                                        2.1267693318103912337456401562601
 - 1.0633846659051956168728200781301 - 2.5283118563671914055545884653776i
 - 1.0633846659051956168728200781301 + 2.5283118563671914055545884653776i

Если вызов root содержит параметры, заменяют их числами с помощью subs перед вызовом vpa.

Использовать root в символьных вычислениях

Вы можете использовать root функция в качестве входных данных для функций инструментария символьной математики, таких как simplify, subs, и diff.

Упрощение выражения, содержащего root с использованием simplify функция.

syms x
r = root(x^6 + x, x, 1);
simplify(sin(r)^2 + cos(r)^2)
ans =
1

Заменить параметры в root с числами, использующими subs.

syms b
subs(root(x^2 + b*x, x, 1), b, 5)
ans =
root(x^2 + 5*x, x, 1)

Подстановка параметров с использованием subs необходимо перед преобразованием root в числовую форму с использованием vpa.

Дифференцировать выражение, содержащее root относительно параметра с использованием diff.

diff(root(x^2 + b*x, x, 1), b)
ans =
root(b^2*x^2 + b^2*x, x, 1)

Найти обратное преобразование Лапласа отношения многочленов

Найти обратное преобразование Лапласа отношения двух многочленов с помощью ilaplace. Обратное преобразование Лапласа возвращается в терминах root.

syms s
G = (s^3 + 1)/(s^6 + s^5 + s^2);
H = ilaplace(G)
H =
t - symsum(exp(t*root(s3^4 + s3^3 + 1, s3, k))/...
(4*root(s3^4 + s3^3 + 1, s3, k) + 3), k, 1, 4)

Когда вы получите root функция в выходных данных, вы можете использовать root в качестве входных данных в последующих символьных вычислениях. Однако, если требуется численный результат, преобразуйте root функции к высокоточному числовому результату с использованием vpa.

Преобразование обратного преобразования Лапласа в числовую форму с помощью vpa.

H_vpa = simplify(vpa(H))
H_vpa =
t +...
0.30881178580997278695808136329347*exp(-1.0189127943851558447865795886366*t)*...
                                   cos(0.60256541999859902604398442197193*t) -...
0.30881178580997278695808136329347*exp(0.5189127943851558447865795886366*t)*...
                                   cos(0.666609844932018579153758800733*t) -...
0.6919689479355443779463355813596*exp(-1.0189127943851558447865795886366*t)*...
                                   sin(0.60256541999859902604398442197193*t) -...
0.16223098826244593894459034019473*exp(0.5189127943851558447865795886366*t)*...
                                   sin(0.666609844932018579153758800733*t)

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

свернуть все

Символический многочлен, определяемый как символическое выражение.

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

Число корня многочлена, указанное как число, вектор, матрица, многомерный массив или символическое число, вектор, матрица или многомерный массив. Когда k является нескаляром, root действует по элементам на k.

Пример: root(f,x,3) представляет третий корень f.

См. также

|

Представлен в R2015b