корень

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

Синтаксис

root(p,x)
root(p,x,k)

Описание

пример

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

пример

root(p,x,k) представляет k th корень символьного полиномиального 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, как введено для функций Symbolic Math Toolbox, таких как 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