root

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

Синтаксис

Описание

пример

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