Está en la página 1de 13

Mtodos Numricos Aplicados

EAPI IH UNC

2012 - 1

1. INTRODUCCION AL PROGRAMA MATLAB (Cont.) 1. Herramientas para polinomios.

Los polinomios son usados frecuentemente en el anlisis de sistemas lineales. MATLAB proa porciona algunas herramientas para el manejo de polinomios. Un resumen sa algunas funciones polinomiales se indican en la Tabla 1. TABLA 1. Funciones polinomiales. S mbolo poly roots polyval conv deconv polyt Explicaciones convierte una coleccin de ra o ces en una ecuacin polinmica o o encuentra las ra ces de una ecuacin polinmica o o evala un polinomio para un valor dado u multiplica dos polinomios descompone un polinomio en un dividendo y un residual curva de ajuste de un polinomio dado

1.1.

Ra ces de una ecuacin polinomial. o

Una ecuacin polinomial es considerada como: o a1 xn + a2 xn1 + + an x + an+1 = 0 roots ([a1 a2 an an+1 ]) x4 + 4x3 5x2 + 6x 9 = 0 >> roots([1 4 -5 6 -9]) produce ans = -5.2364 1.2008 0.0178 + 1.1963i 0.0178 - 1.1963i

Las ra ces de una ecuacin polinomial son encintradas usando el comando roots o

Por ejemplo,

1.2.

Generacin de una ecuacin polinomial a partir de las ra o o ces.

El comando poly toma las ra ces y las convierte en una ecuacin polinomial. Por ejemplo, o si conocemos [r1 , r2 , , rn ] en (x r1 ) (x r2 ) (x rn ) = xn + a1 xn1 + a2 xn2 + + an1 x + an entonces >> poly([r1,r2,...,rn]) nos proporciona los coecientes ([a1 , a2 , , an ]) de la ecuacin polinmica. As por ejemplo, o o >> poly([-1 -2+2*i -2-2*i -5+7*i -5-7*i]) produce ans = 1 15 136 498 968 592

A n de vericar el resultado, usemos nuevamente el comando roots, >> roots([1 15 136 498 968 592]) el resultado debe ser [1 2 + 2 i 2 2 i 5 + 7 i 5 7 i]

1.3.

Valor polinomial.

Cuando queremos calcular el valor de un polinomio en un punto determinado, podemos utilizar polyval. >> y=polyval([1 3 4 -5],2) y = 23 que evala el polinomio s4 + 3s3 + 4s 5 en s = 2. u

EAP IH - UNC

MTODOS NUMRICOS APLICADOS

2012-1

1.4.

Multiplicacin de dos polinomios. o

El comando conv es usado para multiplicar dos polinomios. Por ejemplo, a (s) = s2 + 3s 1, b (s) = s3 2s2 + 6s 7

La multiplicacin de a (s) y b (s) es como sigue: o >> c=conv([1 3 -1],[1 -2 6 -7]) c = 1 1 -1 13 -27 7

en otras palabras, hemos obtenido el vector c de coecientes del producto de a (s) y b (s).

1.5.
Sea

Descomposicin de un polinomio. o

El comando deconv es usado para descomponer un polinomio como multiplicando y residuo.

a (s) = b (s) m (s) + r (s) Es decir el polinomio a (s) es representado en trminos de un multiplicando m (s) y un residuo e r (s) a travs de b (s). El comando de MATLAB es e >> [m,r]=deconv(a,b) donde los parmetros son vectores de coecientes de dos polinomios considerados. Un ejemplo a es dado por >> [m,r]=deconv([1 -2 6 -7],[1 3 -1]) m = 1 r = 0 0 22 -12 -5

Si cambiamos el orden de los polinomios,

EAP IH - UNC

MTODOS NUMRICOS APLICADOS

2012-1

>> [m,r]=deconv([1 3 -1],[1 -2 6 -7]) m = 0 r = 1 3 -1

1.6.

Ajuste polinmico. o

El comando polyt genera una curva polinmica que se ajusta a un conjunto de datos. El o polinomio se obtiene al minimizar el error existente entre el polinomio y el conjunto de datos dado. La sinopsis es p = polyt (x, y, n) donde x e y son vectores del conjunto de datos, dados en la forma (x, y), y n es el orden del polinomio buscado para ajustar al conjunto de datos. El resultado de salida es p, vector de coecientes del polinomio de ajuste. Veamos el siguiente ejemplo, >> x=[1 2 3 4 5 6]; >> y=[-1 3 5 2 -3 1]; >> p=polyfit(x,y,1) p = -0.3143 2.2667

El ajuste de curva lineal ha sido efectuado para el conjunto de datos (x, y).

2.

Creando n meros complejos. u


Con el n de crear el nmero complejo 2 + 3 i, usamos u

>> 2+3*i o >> 2+3*j MATLAB considera a i j como nmeros complejos puros. En caso de que i o j haya sido y u denido, podemos usar 1 como >> i=sqrt(-1) i = 0 + 1.0000i

EAP IH - UNC

MTODOS NUMRICOS APLICADOS

2012-1

2.1.

abs, angle

Para un nmero complejo dado, utilizamos los comandos abs y angle ngulo para encontrar u a la magnitud (abs) y el ngulo de fase (angle) del nmero complejo dado. Por ejemplo, si a u >> c=-1+i; entonces >> abs(c) ans = 1.4142 >> angle(c) ans = 2.3562

2.2.

Partes real e imaginaria de un n mero complejo. u

Los comandos real e imag se utilizan para tomar las partes real e imaginaria de un nmero u complejo. Por ejemplo, >> c=-10+9*i c = -10.0000 + 9.0000i >> [real(c),imag(c)] ans = -10 9

2.3.

Conjugada.

El comando conj es usado para generar el nmero complejo conjugado. Por ejemplo u >> conj(-1+5*i)

EAP IH - UNC

MTODOS NUMRICOS APLICADOS

2012-1

ans = -1.0000 - 5.0000i

3.

Ecuaciones algebraicas no lineales.

Las ecuaciones algebraicas no lineales son frecuentemente utilizadas en muchas reas difea rentes. Las ecuaciones no lineales son diferentes de las ecuaciones lineales, y no hay una unica herramienta de anlisis de las ecuaciones no lineales. MATLAB est equipado con algunas funa a ciones que pueden manejar ecuaciones no lineales. La lista se presenta en la Tabla 2 TABLA 2. Funciones para ecuaciones algebraicas no lineales. S mbolo fmin fzero Explicaciones encuentra el m nimo de una funcin de una variable o resuelve una ecuacin algebraica no lineal de una variable o

3.1.

El m nimo de una funcin. o

El comando de MATLAB fminbnd minimiza la funcin mediante la bsqueda del valor que o u minimiza a la funcin dada. La notacin es o o f minbnd f unc , x1 , x2 en donde f unc es el nombre de la funcin a minimizar y x1 (x2 ) representa el l o mite inferior (superior) del intervalo de valores del argumento de la funcin. Por ejemplo o >> fminbnd(x*cos(x),-2,2) produce ans = -0.8603

EAP IH - UNC

MTODOS NUMRICOS APLICADOS

2012-1

3.2.

Solucin de una ecuacin algebraica no lineal. o o

Cuando la ecuacin algebraica no lineal es escrita como o x3 + 3 sin (x) x5 = 0 La funcin de MATLAB fzero puede ser usado para encontrar la solucin de una ecuacin o o o algebraica no lineal. La sonopsis es >> sol=fzero(function,x0) en donde function es una subrutina de funcin de MATLAB y x0 es un vector de condicin o o inicial o de variables. Para el ejemplo elegido, escribimos una subrutina fctn.m como: function [f] =fctn(x) f = x^3 + x * cos(x) - 4x; luego utilizamos el comando fzero, >> sol=fzero(fctn,-5) sol = -2.1281 A n de comprobar la solucin, o >> fctn(-2.1281) ans = 1.9192e-004 El error se debe al error de formato numrico. El nmero se trunca para la pantalla, aunque se e u calcula utilizando el formato de doble precisin en el interior de MATLAB. o

4.

Herramientas de gracacin. o

MATLAB contiene ciertas herramientas de gracacin, con los cuales podemos mostrar los o datos en un formato adecuado. La gracacin en MATLAB es relativamente fcil, para lo cual o a cuenta con varias opciones posibles. Un grupo de comandos de gracacin se muestra en la Tabla o 3.

EAP IH - UNC

MTODOS NUMRICOS APLICADOS

2012-1

TABLA 3. Comandos de gracacin. o S mbolo plot xlabel(ylabel) axis text title ginput gtext grid pause subplot Explicaciones comando de gracacin bsico o a asigna etiqueta a los ejes x(y) asigna escala manualmente a los ejes x(y) coloca texto en la posicin espec o ca de pantalla grca a coloca t tulo en la parte superior del grco a recoge las coordenadas de un punto de la grca a coloca texto ingresado por el mouse agrega una red de trama a la ventana grca a mantiene pantalla grca hasta que se teclee a divide una ventana grca en mltiples ventanas a u

A continuacin mostramos algunos comandos de gracacin, o o t=0:0.1:10; >> y=sin(t); >> plot(y) >> title(plot(y)) El grco resultante se presenta en la siguiente gura, a
plot(y) 1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1

20

40

60

80

100

120

>> >> >> >>

t=0:0.1:10; y=sin(t); plot(t,y) title(plot(t,y))

con resultado en la siguiente gura,

EAP IH - UNC

MTODOS NUMRICOS APLICADOS

2012-1

plot(t,y) 1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1

10

En ambos ejemplos 0 : 0,1 : 10 representa al vector t con primera componente 0, ultima compo nente 10 e incrementos de 0,1. Podemos utilizar slo y o y y t juntos. En el primer caso, el eje o horizontal representa el nmero de datos, de 0 a 101. En el segundo caso, el eje horizontal es la u escala de tiempo real en el comando plot (y, t).

4.1.

Grcas m ltiples. a u

Trazamos mltiples grcas como se muestra a continuacin, u a o >> >> >> >> t=0:1:100; y1=sin(t).*t; y2=cos(t).*t; plot(t,y1,-,t,y2,-)

en donde representa el estilo de l nea. Si queremos una grca en l a nea azul y la otra en l nea roja, escribiremos lo siguiente, >> plot(t,y1,-b,t,y2,-r)

4.2.

xlabel, ylabel.

xlabel ( text ) y ylabel ( text ) son usados para etiquetar los ejes x e y.

4.3.

axis

El comando axis establece los l mites de los ejes. La sintaxis es, axis [xmin , xmax , ymin , ymax ]

EAP IH - UNC

MTODOS NUMRICOS APLICADOS

2012-1

4.4.

text.

El comando de text se utiliza para escribir un texto sobre la grca en un sitio determinado. a La sintaxis es, text x, y, contenido del texto donde x, y localiza la posicin x, y de contenido del texto . En caso de querer normalizar el o tamao de la ventana grca de 0 a 1, utilizamos, n a text x, y, contenido del texto , sc

4.5.

ginput.

Este comando nos permite recoger cualquier punto de una ventana grca. La sintaxis es, a [x, y] = ginput Podemos recoger tantos puntos como queremos en la pantalla grca. El vector [x, y] contiene a todos los puntos.

4.6.

gtext.

El comando gtext se utiliza para colocar un texto en la ventana grca con el mouse. La a sintaxis es, gtext texto Una vez que el comando anterior se escribe o se lee en una subrutina de funcin, el cursor se o activa en la ventana grca y espera la entrada del ratn, de modo que el ((texto)) es situado en a o el punto seleccionado por el ratn. o

4.7.

grid.

El comando grid aade una red de trama a la ventana grca. Es util cuando se quiere n a aclarar las escalas de los ejes. Los siguientes comandos se utilizan para la salida de la trama. >> >> >> >> >> t=0:0.1:20; plot(t, sin(t)) xlabel(Time(sec)) ylabel(datos) title(Esta es una grfica de ejemplo) a
MTODOS NUMRICOS APLICADOS 2012-1

EAP IH - UNC

10

>> grid >> gtext(sin(t)) >> axis([0 20 -1.5 1.5])


Esta es una grfica de ejemplo 1.5

0.5

sin(t)

datos

-0.5

-1

-1.5

10 12 Time(sec)

14

16

18

20

4.8.

pause.

Este comando es util cuando mostramos varias ventanas grcas secuencialmente. Nos per a mite visualizar de una en una con la interrupcin del teclado. o

4.9.

subplot.

subplot se utiliza para poner las mltiples subventanas en la misma ventana de MATLAB. u El comando es, >> subplot(pqr) El nmero de subventanas se ajusta por una matriz p q sobre el tamao total de la ventana u n grca. Un ejemplo de aplicacin de subplot se muestra con los siguientes comandos, a o >> >> >> >> >> >> >> >> >> >> x=0:0.1:3*pi; y=sin(x); z=cos(x); subplot(222) plot(x,y) title(x e y) subplot(223) plot(x,z) title(x y z) subplot(224) plot(x,y,-,x,z,--) title(x [y z])

EAP IH - UNC

MTODOS NUMRICOS APLICADOS

2012-1

11

xey 1 0.5 0 -0.5 -1 xyz 1 0.5 0 -0.5 -1 1 0.5 0 -0.5 -1

5 x [y z]

10

10

10

EAP IH - UNC

MTODOS NUMRICOS APLICADOS

2012-1

12

Indice
1. Herramientas para polinomios. 1.1. Ra ces de una ecuacin polinomial. . . o 1.2. Generacin de una ecuacin polinomial o o 1.3. Valor polinomial. . . . . . . . . . . . . 1.4. Multiplicacin de dos polinomios. . . . o 1.5. Descomposicin de un polinomio. . . . o 1.6. Ajuste polinmico. . . . . . . . . . . . o . . . . . a partir . . . . . . . . . . . . . . . . . . . . . . . . . . . . de las ra ces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 2 2 3 3 4 4 5 5 5 6 6 7 7 9 9 9 10 10 10 10 11 11

2. Creando n meros complejos. u 2.1. abs, angle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2. Partes real e imaginaria de un nmero complejo. . . . . . . . . . . . . . . . . . . u 2.3. Conjugada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3. Ecuaciones algebraicas no lineales. 3.1. El m nimo de una funcin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . o 3.2. Solucin de una ecuacin algebraica no lineal. . . . . . . . . . . . . . . . . . . . . o o 4. Herramientas de gracacin. o 4.1. Grcas mltiples. . . . . . a u 4.2. xlabel, ylabel. . . . . . . . . 4.3. axis . . . . . . . . . . . . . 4.4. text. . . . . . . . . . . . . . 4.5. ginput. . . . . . . . . . . . . 4.6. gtext. . . . . . . . . . . . . 4.7. grid. . . . . . . . . . . . . . 4.8. pause. . . . . . . . . . . . . 4.9. subplot. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

EAP IH - UNC

MTODOS NUMRICOS APLICADOS

2012-1

13

También podría gustarte