You are on page 1of 9

POLINOMIOS

En MATLAB un polinomio se representa mediante un vector fila que contiene los coeficientes
de las potencias en orden decreciente: empezando por el coeficiente principal y terminando
por el trmino independiente.

Elementos bsicos f(x) = a0 x N + a1 x N-1 + a3 x N-3 + a2 x N-2 + . . . + aN-2 x 2 + aN-1 x + aN


Variable: x

Coeficientes: ai, i = 0... N

Grado: N

Reglas de representacin en Matlab:

Los coeficientes ordenados en forma decreciente por su grado

Completitud: deben estar TODOS los coeficientes, an si su valor = 0 (estructura


posicional)

a = [1 1 1] % representa: 2 + + 1

a = [2 0 1 3] % 2 3 + 0 2 + + 3

MATLAB contempla las siguientes operaciones bsicas con polinomios:

Clculo de las races a partir de la lista coeficientes, por medio del comando roots( ), por
ejemplo:

>> A=[2 4 6 8 10 12]

A=

2 4 6 8 10 12

>> R=roots(A)

R=

0.5517 + 1.2533i

0.5517 - 1.2533i

-1.4918 + 0.0000i

-0.8058 + 1.2229i

-0.8058 - 1.2229i
>> B=[log(10) log(100) log(1000) log(10000)]

B=

2.3026 4.6052 6.9078 9.2103

>> r=roots(B)

r=

-1.6506 + 0.0000i

-0.1747 + 1.5469i

-0.1747 - 1.5469i

>> C=[sin(30) cos(30) sin(45) cos(45)]

C=

-0.9880 0.1543 0.8509 0.5253

>> R=roots(C)

R=

1.2197 + 0.0000i

-0.5318 + 0.3914i

-0.5318 - 0.3914i

>> D=[log(10) sin(30) log(200)]

D=

2.3026 -0.9880 5.2983

>> R=roots(D)

R=

0.2145 + 1.5017i

0.2145 - 1.5017i
>> E=[3 10 15 26 25]

E=

3 10 15 26 25

>> R=roots(E)

R=

0.1121 + 1.6195i

0.1121 - 1.6195i

-1.8223 + 0.0000i

-1.7352 + 0.0000i

>> F=[cos(45) log(log(100)) sin(cos(30))]

F=

0.5253 1.5272 0.1536

>> R=roots(F)

R=

-2.8028

-0.1043

Multiplicacin de dos polinomios dados por la lista de sus coeficientes, por medio del
comando conv( , ). Por ejemplo:

>> A=[1 -5 2 3]

A=

1 -5 2 3

>> B=[1 1 2 3]

B=

1 1 2 3

>> conv(A,B)

ans =

1 -4 -1 -2 -8 12 9
>> C=[log(100) sin(45) cos(45)]

C=

4.6052 0.8509 0.5253

>> D=[sin(cos(30)) sin(53)]

D=

0.1536 0.3959

>> conv(C,D)

ans =

0.7075 1.9540 0.4176 0.2080

>> C=[log(cos(37)) sin(45) cos(45) 12]

C=

-0.2673 0.8509 0.5253 12.0000

>> B=[sin(30) sin(cos(53))]

B=

-0.9880 -0.7946

>> conv(C,B)

ans =

0.2641 -0.6283 -1.1951 -12.2738 -9.5347

>> F=rand(1,4)

F=

0.6324 0.0975 0.2785 0.5469

>> G=rand(1,3)

G=

0.9575 0.9649 0.1576

>> conv(F,G)

ans =

0.6055 0.7036 0.4604 0.8077 0.5716 0.0862


>> C=[cos(37) sin(45) 24 12]

C=

0.7654 0.8509 24.0000 12.0000

>> D=rand(1,5)

D=

0.9706 0.9572 0.4854 0.8003 0.1419

>> conv(C,D)

ans =

0.7429 1.5585 24.4802 35.6447 23.9246 25.1520 13.0086 1.7026

>> A=ones(1,4)

A=

1 1 1 1

>> B=rand(1,4)

B=

0.4218 0.9157 0.7922 0.9595

>> conv(A,B)

ans =

0.4218 1.3375 2.1297 3.0892 2.6674 1.7517 0.9595


La divisin se realiza por medio del comando deconv( , ): si p(x)=s(x) q(x) + r(x), se puede usar
el formato [s, r] = deconv(p, q])

>> A=[0.05 0.10 0.15 0.20]

A=

0.0500 0.1000 0.1500 0.2000

>> B=[5 0 0 0]

B=

5 0 0 0

>> [c,r]=deconv(A,B)

c=

0.0100

r=

0 0.1000 0.1500 0.2000

>> A=rand(1,6)

A=

0.8147 0.9058 0.1270 0.9134 0.6324 0.0975

>> B=ones(1,3)

B=

1 1 1

>> [c,r]=deconv(A,B)

c=

0.8147 0.0911 -0.7788 1.6011

r=

0 0 0 0 -0.1899 -1.5036
>> X=rand(1,7)

X=

0.2785 0.5469 0.9575 0.9649 0.1576 0.9706 0.9572

>> Y=ones(1,5)

Y=

1 1 1 1 1

>> [c,r]=deconv(X,Y)

c=

0.2785 0.2684 0.4106

r=

0 0 0 0.0074 -0.7999 0.2916 0.5465

>> M=[0.04 12.5 369 25.3]

M=

0.0400 12.5000 369.0000 25.3000

>> N=[1 2 log(100)]

N=

1.0000 2.0000 4.6052

>> [c,r]=deconv(M,N)

c=

0.0400 12.4200

r=

0 0 343.9758 -31.8962
Evaluacin de un polinomio dado por la lista de sus coeficientes p en un valor x, por medio del
comando polyval(p, x). Por ejemplo, para comprobar que p(1)0= basta realizar

polyval(p, 1)

obteniendo

ans = 0

polyval( ) realiza la evaluacin siguiendo el algoritmo de Horner o de multiplicacin anidada.

Si x es un vector o una matriz, MATLAB devuelve la matriz con el polinomio evaluado en cada
elemento.

A=

0.0462 0.0971 0.8235 0.6948 0.3171 0.9502

>> polyval(A,2)

ans =

13.9830

>> C=[cos(37) sin(45) 24 12]

C=

0.7654 0.8509 24.0000 12.0000

>> polyval(C,3)

ans =

112.3243

>> M=[0.04 12.5 369 25.3]

M=

0.0400 12.5000 369.0000 25.3000

>> polyval(M,4)

ans =

1.7039e+03

>> C=[cos(37) sin(45) 24 12]


C=

0.7654 0.8509 24.0000 12.0000

>> polyval(C,7)

ans =

484.2313

>> C=[cos(37) sin(45) 24 12]

C=

0.7654 0.8509 24.0000 12.0000

>> polyval(C,ans)

ans =

8.7118e+07

>> A=[0.05 0.10 0.15 0.20]

A=

0.0500 0.1000 0.1500 0.2000

>> polyval(A,1)

ans =

0.5000