Sie sind auf Seite 1von 17

Asignacin 1 Mtodos Numricos Para Ecuaciones o e e Diferenciales

Isnardo Arenas Navarro Num. Est. 502085002

1.

Elementos nitos para el caso (au) + bu = f

Se realizar elementos nitos clsico para la solucin de la ecuacin diferencial (au ) + bu = f a a o o en donde a, b pueden ser funciones de x no negativas. Consideremos v una funcin derivable por partes y continua entonces el sistema a resolver lo o multiplicamos por v y tenemos la siguiente expresin o (au ) v + buv = f v ahora integramos sobre el dominio y lo que se va a tener es: (au ) v + buv =

fv fv

(au ) v

(au ) v +

buv =

si se considera las funciones v que sean nulas en la frontera () entonces se tiene (au ) v +

buv =

fv

1.1.

Discretizacin o

Iniciamos partiendo el dominio en m celdas Ii = [xi , xi+1 ], sobre cada una de las celdas tomamos n + 1 puntos sobre la cual se construir una base, que para nuestro caso estar dada por los a a polinomios de Lagrange de orden n fuera de la celda se consideran nulos, esto cumple los requerimientos de v y adems aproximaremos u como conbinacin lineal de estos polinomios, todo esto a o nos permite expresar las integrales anteriores en trminos de los polinomios. e
n+1 n+1

uh ((k, i))
k=1 Ii

ak,ij,i+
k=1

uh ((k, i))
Ii

bk,i j,i =
Ii

f j,i, Para i = 1, . . . , m j = 1, . . . , n+1

donde Ii es la celda y soporte para la base, (k, i) = n (i 1) + k es el mapeo de ndices para las variables, uh es el vector con las aproximaciones de la funcin u en cada celda y en cada punto o que se interpolo los polinomios de Lagrange, y k,i son los polinomios de Lagrange en la celda i. Esto genera un sistema lineal Auh = b, para construir esto se requiere evaluar las integrales y ubicarlas en las respectivas entradas. 1

1.2.

Celda de Referencia I0 = [0,1]

Sobre esta celda construiremos la base y luego con una transformacin af tendremos las bases para o n las distintas celdas, para esto primero consideraremos la transformacin a n : [0, 1] [xi , xi +1] o la cual podemos denir como (x) = hi x + xi donde hi = xi+1 xi , con esta funcin podemos reescribir las integrarles en el intervalo de refeo rencia Ii f (x) = I0 f ((x))hi , ahora construimos sobre el intervalo de referencia los polinomios de Lagrange i de orden n con i = 1 . . . , n + 1, con esto podemos reescribir los polinomios de Lagrange sobre cualquier celda de la siguiente forma i (x) = i ( 1 (x)), y se tiene la derivada i ( 1 (x))/hi , esto facilitara el trabajo de computar los valores a la hora de hacer como i (x) = la integracin numrica. o e

1.3.

Cuadraturas

Para realizar la integracin numrica utilizaremos la cuadratura de Gauss la cual con n + 1 puntos o e de cuadratura consigue la integral exacta hasta polinomios de grado 2n + 1.
n+1

f
I0 k=1

wk f (xk )

1.4.

Condiciones de Frontera

Para este caso se consideraron unicamente condiciones de Dirichlet entonces con estas modicamos el sistema a resolver en la primera y ultima la dejando solo un 1, y en el vector b ponemos en el primer y ultimo los valores que toma en la frontera, luego de esto se puede reducir la primera y la ultima columna de la matriz.

2.

Algoritmo en Matlab

Se considero el caso en donde los coecientes pueden depender de valores de x. En la funcin listada(1) a continuacin de muestra la funcin principal para aproximar la solucin, o o o o esta ensambla la matriz y la parte aumentada, y el sistema se resuelve con rutinas propias de Matlab. Listado 1: soled.m
1 2

3 4 5 6 7 8 9 10 11 12

function [ uh , xh , A, phi , x ,w]= s o l e d ( Px , n , g0 , g1 ) % E s t e programa r e s u e l v e e c u a c i o n d i f e r e n c i a l (au ) + bu=f por e l e m e n t o s f i n i t o s de orden % n s o b r e l a p a r t i c i o n Px , e s n e c e s a r i o que e d i t e l o s a r c h i v o s a .m b .m y % f .m. % La c u a d r a t u r a que s e usa e s e x a c t a de orden 2 ( npq ) 1, e s d e c i r que con % e s t a c u a d r a t u r a f u n c i o n a p e r f e c t o h a s t a orden n=3 para l a m a t r i z . x = [ 9 . 5 3 0 8 9 9 2 2 9 6 9 3 3 1 9e 01 7 . 6 9 2 3 4 6 5 5 0 5 2 8 4 1 5e 01 5 . 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0e 01 2 . 3 0 7 6 5 3 4 4 9 4 7 1 5 8 4e 01 4 . 6 9 1 0 0 7 7 0 3 0 6 6 8 0 2e 0 2 ] ; w= [ 1 . 1 8 4 6 3 4 4 2 5 2 8 0 9 4 6e 01

13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59

60 61 62 63 64 65 66 67

2 . 3 9 3 1 4 3 3 5 2 4 9 6 8 3 1e 01 2 . 8 4 4 4 4 4 4 4 4 4 4 4 4 4 4e 01 2 . 3 9 3 1 4 3 3 5 2 4 9 6 8 3 1e 01 1 . 1 8 4 6 3 4 4 2 5 2 8 0 9 4 6e 0 1 ] ; npq =5; Cn=s i z e ( Px , 2 ) 1; Pxr =0:1/n : 1 ; p h i=o nes ( n+1 ,npq ) ; dphi=zeros ( n+1 ,npq ) ; for i =1:n+1 % C a l c u l o p r e v i o de t o d o l o que n e c e s i t o en l a b a s e para l a s i n t e g r a l e s . for j =1:npq tp=o nes ( n +1 ,1) ; tp ( i ) =0; for k=1:n+1 % c a l c u l o l a imagen en l a b a s e i f ( k= i ) p h i ( i , j )=p h i ( i , j ) ( x ( j )Pxr ( k ) ) / ( Pxr ( i )Pxr ( k ) ) ; for l =1:n+1 % C a l c u l o de l a s p r o d u c t o r i a s p a r c i a l e s en l a d e r i v a d a . i f ( l =k ) tp ( l )=tp ( l ) ( x ( j )Pxr ( k ) ) / ( Pxr ( i )Pxr ( k ) ) ; else tp ( l )=tp ( l ) / ( Pxr ( i )Pxr ( k ) ) ; end end end end for k=1:n+1 % c a l c u l o de l a d e r i v a d a en l a b a s e suma p r o d u c t o s p a r c i a l e s i f ( k= i ) dphi ( i , j )=dphi ( i , j )+tp ( k ) ; end end end end npt=nCn+1; r h s=zeros ( npt , 1 ) ; A=sparse ( npt , npt ) ; xh=zeros ( npt , 1 ) ; for i =1:Cn % i n i c i a m o s l a i n t e g r a c i o n y ensamblado de l a s m a t r i z A y e l b ( r h s ) . h i=Px( i +1)Px( i ) ; for j =1:n+1 p o s i=n ( i 1)+j ; xh ( p o s i )=h i Pxr ( j )+Px( i ) ; for k=1:npq xt=h i x ( k )+Px( i ) ; r h s ( p o s i )=r h s ( p o s i )+h i w( k ) f ( xt ) p h i ( j , k ) ; for l =1:n+1 p o s j=n ( i 1)+l ; A( p o s i , p o s j )=A( p o s i , p o s j )+h i w( k ) b ( xt ) p h i ( j , k ) p h i ( l , k )+a ( xt ) w( k ) dphi ( j , k ) dphi ( l , k ) / h i ; end end end end pos0=find (A( 1 , : ) ) ; pos1=find (A( npt , : ) ) ; for i =1: s i z e ( pos0 , 2 ) r h s ( pos0 ( i ) )=r h s ( pos0 ( i ) )A( pos0 ( i ) , 1 ) g0 ;

68 69 70 71 72 73 74 75 76 77 78 79 80 81

A( pos0 ( i ) , 1 ) =0; end for i =1: s i z e ( pos1 , 2 ) r h s ( pos1 ( i ) )=r h s ( pos1 ( i ) )A( pos1 ( i ) , npt ) g1 ; A( pos1 ( i ) , npt ) =0; end A( 1 , : ) =0; A( npt , : ) =0; A( 1 , 1 ) =1; A( npt , npt ) =1; r h s ( 1 )=g0 ; r h s ( npt )=g1 ; uh=A\ r h s ; end

En la funcin listada(2) a continuacin se ingresa los valores que toma el coeciente a, estos pueden o o depender de x. Listado 2: a.m
1 2 3

function [ y]= a ( x ) y=1; end

En la funcin listada(3) a continuacin se ingresa los valores que toma el coeciente b, estos pueden o o depender de x. Listado 3: b.m
1 2 3

function [ y]=b ( x ) y=1; end

En la funcin listada(4) a continuacin se ingresa la funcin f de la igualdad de la ecuacin o o o o diferencial. Listado 4: f.m
1 2 3

function [ y]= f ( x ) y=0; end

Funcin para aproximar el error con respecto a la solucin anal o o tica. Listado 5: errorl2.m
1 2 3 4 5 6 7 8 9 10 11 12 13

function [ y]= e r r o r l 2 ( uh , Px , phi , x ,w) % C a l c u l o d e l e r r o r (\ i n t ( uuh ) 2) ( 1 / 2 ) , usando l a i n t e r p o l a c i n c l a c u l a d a o % en s o l e d . Cn=length (Px) 1; y=0; n=s i z e ( phi , 1 ) ; npq=length ( x ) ; pos =0; for i =1:Cn h i=Px( i +1)Px( i ) ; for j =1:npq xt=h i x ( j )+Px( i ) ; Pu=0;

14 15 16 17 18 19 20 21 22 23 24 25 26 27

for k=1:n Pu=Pu+uh ( pos+k ) p h i ( k , j ) ; end y=y+h i w( j ) ( u ( xt )Pu) 2 ; end pos=pos+n1; end y=sqrt ( y ) ; end % function [ y]=u ( x ) y=exp(x ) ; end

3.
3.1.

Pruebas
Caso 1

Es este caso consideramos la ecuacin diferencial o (u ) + u = 1 u(0) = 0 u(1) = 0 A medida que tiende a cero la funcin se tiene que comportar como constante en 1, a o continucin se muestra lo obtenido para ciertos valores de = 102 , 103 , 104, para las o aproximaciones consideraremos las particiones de 8 celdas, la particin homogenea dada por o [0, 0,1250, 0,2500, 0,3750, 0,5000, 0,6250, 0,7500, 0,8750, 1,0000] y como particin no homogenea se o considero [0, 0,0625, 0,1250, 0,2500, 0,5000, 0,7500, 0,8750, 0,9375, 1,0000]. Para el primer caso que se considero = 102 y se observa en la graf 1 que no hay una gran ca diferencia para la particin homogenea de la no homogenea, esto se debe a que no es tan dramatico o el cambio cerca de los bordes. Las aproximaciones obtenidas para = 102 de orden 1, 2 y 3 se puede observar junto a la grca a de la solucin anal o tica en las gura 2 para la particin homogenea y en la gura 3 para la particin o o no homogenea. Ahora en el segundo caso se considera = 103 y se observa en la grca 4 que disminuye el error a con la particin no homogenea, esto se debe a que captura el mejor los cambios en los bordes. o Las aproximaciones obtenidas para = 103 de orden 1, 2 y 3 se puede observar junto a la grca a de la solucin anal o tica en las gura 5 para la particin homogenea y en la gura 6 para la particin o o no homogenea. Y para el ultimo caso se considero = 104 y en la grca 7 se muestra que se logran mejores a resultados con la particin no homogenea, esto se debe a que se agudiza aun ms los bordes y esta o a particin recoge mejor esa parte. o Las aproximaciones obtenidas para = 104 de orden 1, 2 y 3 se puede observar junto a la grca a de la solucin anal o tica en las gura 8 para la particin homogenea y en la gura 9 para la particin o o no homogenea.

Error (1e02u)+u=1 1.6 1.8 2 2.2 Error en log10 2.4 2.6 2.8 3 3.2 3.4 3.6 1 1.5 2 Orden de Presicin 2.5 3 Homogenea No Homogenea

Figura 1: Error aproximacin para = 102 o

Aproximaciones Vs. Analitica en Homogenea =1e02

0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 0.2 0.4 0.6 0.8 1 orden 1 orden 2 orden 3 analitica

Figura 2: Grca de Aproximaciones y Anal a tica Particin Homogenea = 102 o

Aproximaciones Vs. Analitica en No Homogenea =1e02 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 0.2 0.4 0.6 0.8 1 orden 1 orden 2 orden 3 analitica

Figura 3: Grca de Aproximaciones y Anal a tica Particin No Homogenea = 102 o

Error (1e03u)+u=1 1 1.2 1.4 1.6 Error en log10 1.8 2 2.2 2.4 2.6 2.8 3 1 1.5 2 Orden de Presicin 2.5 3 Homogenea No Homogenea

Figura 4: Error aproximacin para = 103 o

Aproximaciones Vs. Analitica en Homogenea =1e03

0.8

0.6

orden 1 orden 2 orden 3 analitica

0.4

0.2

0.2

0.4

0.6

0.8

Figura 5: Grca de Aproximaciones y Anal a tica Particin Homogenea = 103 o

10

Aproximaciones Vs. Analitica en No Homogenea =1e03 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 0.2 0.4 0.6 0.8 1 orden 1 orden 2 orden 3 analitica

Figura 6: Grca de Aproximaciones y Anal a tica Particin No Homogenea = 103 o

11

Error (1e04u)+u=1 Homogenea No Homogenea

0.8

1 Error en log10

1.2

1.4

1.6

1.8

1.5

2 Orden de Presicin

2.5

Figura 7: Error aproximacin para = 104 o

12

Aproximaciones Vs. Analitica en Homogenea =1e04 1.2

0.8

0.6

orden 1 orden 2 orden 3 analitica

0.4

0.2

0.2

0.4

0.6

0.8

Figura 8: Grca de Aproximaciones y Anal a tica Particin Homogenea = 104 o

13

Aproximaciones Vs. Analitica en No Homogenea =1e04 1.2

0.8

0.6

orden 1 orden 2 orden 3 analitica

0.4

0.2

0.2

0.4

0.6

0.8

Figura 9: Grca de Aproximaciones y Anal a tica Particin No Homogenea = 104 o

14

3.2.

Caso 2
15 1 x2 4

Es este caso consideramos la ecuacin diferencial o (1u ) = u(0) = 0 u(1) = 1 Para este caso la particiones a usar son homogeneas y el numero de celdas que se consideran son de [10, 20, 40, 80, 160]. Los errores obtenidos en cada orden para las particiones se muestra en la grca 10, las pendientes a de la recta que se ajusta a las grcas fueron 1,9998 para orden 1, 2,9149 para orden 2 y 2,9763 a para oden 3. En este ejercicio hay varias cosas interesantes que destacar, una de esas es que la funcin f (x) = o 15 1 x 2 , no nos permite garantizar la integral exacta para ensamblar el sistema en el lado derecho y 4 otra cosa importante a resaltar es que la tanto la solucin analitica como la funcin f sus derivadas o o de orden superior presentan problemas para x = 0.
Error (1u)=15/4x1/2 3 Orden 1 Orden 2 Orden 3

5 Error en log10

9 2.2 2 1.8 1.6 1.4 Tamao particin en log10 1.2 1

Figura 10: Error aproximacin o

15

3.3.

Caso 3
(1u ) + u = x3 6x u(0) = 0 u(1) = 1

Es este caso consideramos la ecuacin diferencial o

En este caso se usaron las mismas particiones usadas en el caso anterior y los errores en la aproximacin se muestran en la gura 11, una de las cosas que se destaca en la grca es la gran precisin o a o que se tiene para orden 3 estos estan cerca de los errores de maquina(1 + 1e 16 = 1), de usar aritmetica exacta en lugar de aritmetica nita se tendr un error de cero. a La pendiente para el orden 1 fue de 1,9998, en orden 2 fue de 3.
Error (1u)+u=x36x

6 Error en log10 Orden 1 Orden 2 Orden 3

10

12

14 2.2 2 1.8 1.6 1.4 Tamao particin en log


10

1.2

Figura 11: Error aproximacin o

3.4.

Caso 4

Es este caso consideramos la ecuacin diferencial o (1u ) + u = 0 u(0) = 1 u(1) = e1 16

Se consideran las mismas particiones usadas en los dos ultimos casos, los errores en la aproximacin o se muestran en la gura 12, en esta se muestra como disminuyes signicativamente el error a medida que se rena ms la particin homogenea, las pendientes para las rectas que mejor se ajustan a a o las grcas es de 2 para orden 1, de 2,9998 para orden 2 y de 3,6289 para orden 3, en la graca se a observa adems que para orden 3 sin considerar la ultima partic es de 4 la pentiente y lo que a on sucede para la ultima particin es que esta cerca del error de maquina y oscila. o
Error (1u)+u=0 4 5 6 Error en log10 7 8 9 10 11 Orden 1 Orden 2 Orden 3

2.2

1.8 1.6 1.4 Tamao particin en log10

1.2

Figura 12: Error aproximacin o

17

Das könnte Ihnen auch gefallen