Polinômios no Matlab
Representação
No Matlab, um polinômio é representado por um vetor-linha contendo os coeficientes do polinômio em ordem descrescente. Por exemplo, o polinômio de 4o grau: x4 – 3x3 + 10x2 – 7x 48 é representado pelo vetor: p = [1 –3 10 –7 –48]
Raízes
Para calcular as raízes de um polinômio utiliza-se o comando roots:
>> r = roots(p) r =
0.8995 + 3.3273i
0.8995 - 3.3273i
2.6984
-1.4973
que, para o exemplo, apresenta duas raízes reais (2,6984 e –1,2973) e duas raízes complexas
(0,8995 + i 3,3273 e 0,8995 – i 3,3273).
Se forem conhecidas as raízes de um polinômio, então o comando poly retorna os coeficientes desse polinômio:
>> poly(r) ans =
1.0000
-3.0000
10.0000
-7.0000
-48.0000
Observe que neste exemplo, os valores são os coeficientes do vetor p.
Entretanto, se o argumento de poly() for uma matriz quadrada, então este comando retorna os coeficientes do polinômio característico dessa matriz.
Exemplo:
>> A = [1 2 3; 4 5 6; 7 8 9];
>> pp = poly(A) pp =
1.0000
-15.0000
-18.0000
0.0000
Os valores do vetor pp correspondem aos coeficientes do polinômio característico da matriz [A].
Lembrando que, para este exemplo, o polinômio característico é calculado como segue: det ([A ] − λ[I]) =
Polinômios no Matlab
1− λ
2
3
4
5−λ
6
7
8
9−λ
= λ3 − 15λ2 − 18λ
1
de forma que os valores do vetor pp são, de fato, os coeficientes do polinômio característico de
[A] como mostrado no cálculo anterior. Assim, para se obter os autovalores de [A], basta calcular as raízes de pp:
>> lambda = roots(pp) lambda =
16.1168
-1.1168
0.0000
Produto de polinômios
Se tivermos dois polinômios y1 e y2 e quisermos calcular o produto y1*y2, utiliza-se o comando conv: >>
y1 = [1 1 9]
y1 =
1
1
9
>> y2 = [2 -4 0 1] y2 =
2
-4
0
1
14
-35
>> conv(y1,y2) ans =
2
-2
1
9
O resultado da operação conv(y1,y2) contém os coeficientes do