Newton y Lagrange

January 17, 2018 | Author: José Gualavisí | Category: Complex Analysis, Numerical Analysis, Mathematics, Physics & Mathematics, Mathematical Relations
Share Embed Donate


Short Description

Download Newton y Lagrange...

Description

´ ´ ESCUELA POLITECNICA DEL EJERCITO

INGENIER´IA CIVIL

´ ´ ”METODOS NUMERICOS”

Jos´ e Israel Gualavis´ı D´ıaz

Nivel IV - competencias

Noviembre-2010

1

´Indice 1. Interpolaci´ on de Lagrange 1.1. Determine en los siguientes casos el polinomio interpolador de Lagrange para aproximar la funcion f (x) = x3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2. Modificar el codigo dado para que realice el gr`afico de los nodos (puntos) y el polinomio interpolador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3. Cree su propio codigo para el m`etodo de Lagrange . . . . . . . . . . . . . . . . . 1.4. En el cuadro, se muestran temperaturas que fueron medidas cada hora, durante un lapso total de 5 horas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3

2. Interpolaci´ on de Newton 2.1. En base a las funciones y datos que se muestran en el cuadro, realizar. . . . . . . 2.2. Considere M + 1 puntos (xo , yo ),.....,(xM , yM ) . . . . . . . . . . . . . . . . . . . . 2.3. En el c´ odigo dado en la secci´ on anterior, la matriz D se emplea para alamacenar la tabla de diferencias divididas: . . . . . . . . . . . . . . . . . . . . . . . . . . .

7 7 10

2

3 5 5 5

11

´ INTERPOLACION 1.

Interpolaci´ on de Lagrange

1.1.

Determine en los siguientes casos el polinomio interpolador de Lagrange para aproximar la funcion f (x) = x3 .

Figura 1: f (x) = x3 La resoluci´ on de este problema se lo realiz´o mediante un pr´ograma creado en Matlab.

function [C,L] = Lagrange(x,y) w=length(x); n=w-1; L=zeros(w,w); for k=1:n+1 V=1; for j=1:n+1; if k~=j 3

V=conv(V,poly(x(j)))/(x(k)-x(j)); end end L(k,:)=V; end C=y; C=C.*L;

1. El polinomio Cuadr´ atico P2 (x) Para los nodos x0 = −1, x1 = 0 y x2 = 1. Los resultados obtenidos con el programa son:

Punto 1 2 3

xk −1 0 1

f (xk ) −1 0 1

 0,5000 −0,5000 0 0 1,0000 L = −1,0000 0,5000 0,5000 0 

 C= 0 1 0

2. El polinomio C´ ubico P3 (x) Para los nodos x0 = −1, x1 = 0, x2 = 1 y x3 = 2 Los resultados obtenidos con el programa son:

Punto 1 2 3 4

xk −1 0 1 2

f (xk ) −1 0 1 8



 −0,1667 0,5000 −0,3333 0  0,5000 −1,0000 −0,5000 1,0000  L= −0,5000 0,5000 1,0000 0  0,16670 −0,1667 0  C= 1 0 0 0

4

1.2.

Modificar el codigo dado para que realice el gr` afico de los nodos (puntos) y el polinomio interpolador

Para que el programa anterior grafique los nodos y el Polinomio intepolador es necesisario a˜ nadir este c´ odigo luego de todo el c´ odigo anterior:

x1=min(x):0.001:max(x); y1=polyval(C,x1); clf grid on hold on plot(x,y,’o’) plot(x1,y1,’red’) title(’Polinomio Interpolador’)

1.3.

Cree su propio codigo para el m` etodo de Lagrange

function poli = lagmio(x,y) poli=0; syms w; n=length(x); for i=1:n L=1; for j=1:n if(i~=j) L=L*(w-x(j))/(x(i)-x(j)); end end poli=poli+L*y(i); poli=simplify(poli); end ezplot(poli); hold on; plot (x,y,’*’); hold on; grid;

1.4.

En el cuadro, se muestran temperaturas que fueron medidas cada hora, durante un lapso total de 5 horas

Cuadro de temperaturas:

5

H 13 14 15 16 17 18

T 18 18 17 16 15 14

1. Construir el polinomio interpolador de Lagrange correspondiente a los datos del cuadro. Empleando el programa anterior tenemos como resultado: (x − 11) ∗

x4 − 69 ∗ x3 + 1796 ∗ x2 − 2094 ∗ x + 93120 120

2. Estimar la temperatura media durante el periodo de 5 horas dado. La temperatura media cuando el tiempo es de 5 horas, se obtiene evaluando el polinomio en x=5 El resultado de evaluar el polinomio en x=5 es -1260 3. Dibuje los datos del cuadro y el polinomio interpolador encontrado, en el mismo grafico. Discuta el erro que puede aparecer al usar dicho polinomio para estimar la temperatura media.

Figura 2: f (x) = x3

6

2.

Interpolaci´ on de Newton

2.1.

En base a las funciones y datos que se muestran en el cuadro, realizar.

1. Calcular la tabla de diferencias divididas para las funciones y datos. 2. Escribir los polinomios interpoladoresde Newton P1 , P2 , P3 y P4 . 3. Calcular los valores de los polinomios hallados, en el apartado anterior, para los valores de x dados. 4. Compare los valores obtenidos con los valores exactos.

1

Para f (x) = x 2

x=4,5;7,5

Para f (x) = 3 ∗ sin( π∗x 6 )

k 0 1 2 3 4

xk 4 5 6 7 8

f (xk ) 0 0,75 2,25 3,00 2,25

k 0 1 2 3 4

xk 0 1 2 3 4

f (xk ) 2 2,23 2,44 2,64 2,82

2

x=1,5;3,5

Para la resoluci´ on de este ejercicio hemos desarrollado el siguiente c´odigo en Matlab: ´ ´ —–¿CODIGO DEL METODO DE INTERPOLACION DE NEWTON ¡——-

7

function [C,D]=newtonpoly(x,y) n=length(x); D=zeros(n,n); D(:,1)=y’; for(j=2:n) for(k=j:n) D(k,j)=(D(k,j-1)-D(k-1,j-1))/(x(k)-x(k-j+1)); end end C=D(n,n); for(k=n-1:-1:1) C=conv(C,poly(x(k))); m=length(C); C(m)=C(m)+D(k,k); end

Tabla de diferencias divididas obtenida a partir del programa: 1

P araf (x) = x 2 

 2 0 0 0 0 2,23 0,23  0 0 0     0 0 D = 2,44 0,21 −0,01  2,64 0,2 0,005 0,0017  0 2,82 0,18 −0,01 −0,0018 −0,0008  π ∗ x 2 ) P araf (x) = 3 ∗ sin( 6 

 0 0 0 0 0 0,75 0,75 0 0 0     1,5 0,375 0 0  D = 2,25  3,00 0,75 −0,375 −0,25 0  2,25 −0,75 −0,75 −0,125 0,0312

Polinomios Interpoladores 1

Para f (x) = x 2

8

P1 (x) = 0,23x + 1,77 P2 (x) = −0,1x2 + 0,26x + 1,75 P3 (x) = 0,017x3 − 0,112x2 + 0,447x + 1,648 P4 (x) = −0,008x4 + 0,025x3 − 0,14x2 + 0,487x + 1,6288 2 Para f (x) = 3 ∗ sin( π∗x 6 )

P1 (x) = 0,75x − 0, 75 P2 (x) = 0,375x2 − 0,375x P3 (x) = −0,25x3 + 1,875x2 − 3,125x + 1,5 P4 (x) = 0,0312x4 − 0,562x3 + 2,967x2 − 4,68x + 2,2 Valores de P(x) para los valores de x dados

1

Para f (x) = x 2

P (x) 1 2 3 4

4,5 2,9357 2,625 2,7175 2,805

7,5 3,495 3,1375 3,495 5,42

f (4, 5) = x1 /2 2,12132 2,12132 2,12132 2,12132

f (7, 5) = x1 /2 2,7386 2,7386 2,7386 2,7386

2 Para f (x) = 3 ∗ sin( π∗x 6 )

P (x) 1 2 3 4

1,5 0,375 0,2815 0,1875 0,1528

3,5 1,5775 3,28125 2,8125 2,78325

f (1, 5) = 3 ∗ sin( π∗x 6 ) −4 5,636 ∗ 10 5,636 ∗ 10−4 5,636 ∗ 10−4 5,636 ∗ 10−4

2

2 f (3, 5) = 3 ∗ sin( π∗x 6 ) 3,068 ∗ 10−3 3,068 ∗ 10−3 3,068 ∗ 10−3 3,068 ∗ 10−3

1

Para f (x) = x 2

P (x) 4 3 2 1

Error en 4.5 0,383 0,237 0,280 0,322

9

Error en 7.5 0,356 0,1456 1,144 0,979

2 Para f (x) = 3 ∗ sin( π∗x 6 )

P (x) 1 2 3 4

2.2.

Error en 1.5 0,8945 0,8123 0,875 0,898

Error en 3.5 0,4379 0,1722 0,0048 0,0056

Considere M + 1 puntos (xo , yo ),.....,(xM , yM )

1. Pruebe que si las (N + 1)-´ esimas diferencias son divididas son cero, entonces las siguientes hasta la M -´ esimas tambi´ en son cero. Resloviendo el siguiente ejemplo se tiene:

x −2 −1 0 2 3 6

f (x) −18 −5 −2 −2 −7 142

 −18 0 0 0 0 0  −5 13 0 0 0 0    −2 3 −5 0 0 0  D=  −2 0 −1 1 0 0    7 9 3 1 0 0 142 45 9 1 0 0 

con este ejemplo queda demostrado que si las (N + 1)-´ esimas diferencias son divididas son cero, entonces las siguientes hasta la M -´ esimas tambi´ en son cero. 2. Pruebe que si las (N + 1)-´ esimas diferencias son divididas son cero, entonces existe un polinomio PN (x) de grado N tal que: PN (x) = yk P arak = 0, 1, 2, ......., M

Evaluando en los polinomios resultantes se tiene: —-¿P3 (x) = x3 − 11x2 + 39x − 47

Para K = 1 =¿PN (x) = -18 =¿yk Para K = 2 =¿PN (x) = -5 =¿yk 10

Para K = 3 =¿PN (x) = -2 =¿yk —-¿P2 (x) = −5x2 + 28x + 41

Para K = 1 =¿PN (x) = -18 =¿yk Para K = 2 =¿PN (x) = -5 =¿yk

—-¿P1 (x) = −13x − 5

Para K = 1 =¿PN (x) = -18 =¿yk

con esto se puede concluir que existe un polinomio PN (x) de grado N tal que: PN (x) = yk P arak = 0, 1, 2, ......., M

2.3.

En el c´ odigo dado en la secci´ on anterior, la matriz D se emplea para alamacenar la tabla de diferencias divididas:

1. Compruebe que la siguiente modificacion del c´ odigo dado, es una forma equivalente de calcular el polinomio interpolador de Newton. for k=0:N A(k) = y(k); end fori=1:N for k=N:-1:j A(k) = (A(k)-A(k-1))/(x(k)-x(k-j)); end end

El c´ odigo proporcionado posee errores en el programa, ya que las dimensiones de la matriz que se dan en este c´ odigo son incompatibles para realizar las operaciones necesarias para la resoluci´ on del m´ etodo. as´ı como tambi´ en hace referencia a columnas inexistentes como es el caso de la columna 0 (cero)

11

El c´ odigo corregido de la interpolaci´ on de Newton es el siguiente

for k=1:N A(k,1) = y(k); end for i = 1:N-1 for j=N:-1:i+1 y(j) = (y(j) - y(j-1)) / (x(j) - x(j-i)); end

2. Repita el primer ejericio e indique las diferencias.

Polinomios Interpoladores 1

Para f (x) = x 2

P1 (x) = 0,23x + 1,77 P2 (x) = −0,1x2 + 0,26x + 1,75 P3 (x) = 0,017x3 − 0,112x2 + 0,447x + 1,648 P4 (x) = −0,008x4 + 0,025x3 − 0,14x2 + 0,487x + 1,6288 2 Para f (x) = 3 ∗ sin( π∗x 6 )

P1 (x) = 0,75x − 0, 75 P2 (x) = 0,375x2 − 0,375x P3 (x) = −0,25x3 + 1,875x2 − 3,125x + 1,5 P4 (x) = 0,0312x4 − 0,562x3 + 2,967x2 − 4,68x + 2,2 Valores de P(x) para los valores de x dados 1

Para f (x) = x 2

P (x) 1 2 3 4

4,5 2,9357 2,625 2,7175 2,805

7,5 3,495 3,1375 3,495 5,42

f (4, 5) = x1 /2 2,12132 2,12132 2,12132 2,12132 12

f (7, 5) = x1 /2 2,7386 2,7386 2,7386 2,7386

2 Para f (x) = 3 ∗ sin( π∗x 6 )

P (x) 1 2 3 4

1,5 0,375 0,2815 0,1875 0,1528

3,5 1,5775 3,28125 2,8125 2,78325

f (1, 5) = 3 ∗ sin( π∗x 6 ) −4 5,636 ∗ 10 5,636 ∗ 10−4 5,636 ∗ 10−4 5,636 ∗ 10−4

2

2 f (3, 5) = 3 ∗ sin( π∗x 6 ) 3,068 ∗ 10−3 3,068 ∗ 10−3 3,068 ∗ 10−3 3,068 ∗ 10−3

1

Para f (x) = x 2

P (x) 4 3 2 1

Error en 4.5 0,383 0,237 0,280 0,322

Error en 7.5 0,356 0,1456 1,144 0,979

Error en 1.5 0,8945 0,8123 0,875 0,898

Error en 3.5 0,4379 0,1722 0,0048 0,0056

2 Para f (x) = 3 ∗ sin( π∗x 6 )

P (x) 1 2 3 4

La diferencia con el anterior programa es que no crea el polinomio de diferencias divididas de forma expl´ıcita, sino que opera directamente creando un vector equivalente a toda la matriz de diferencias divididas.

13

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF