Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Briz Red
on
Problema 7
En este problema tenemos la ecuacion ut + cux = 0 (para c = 1). Si partimos de u(x, t) =
e , k, w R, e imponemos que cumpla la ecuacion:
iwt ikx
ik(xct)
= u0 (x ct).
k=1 bk e
De esta forma, como c = 1, la solucion para u0 (x) = cos(x) es cos((x + t)). Para t = 2
tenemos cos((x + 2)) = cos(x) y para t = 3 cos((x + 3)) = cos(x + ). Estas seran sus
graficas:
Figure 1: Solucion en t = 2
Figure 2: Solucion en t = 3
Figure 3: Solucion en t = 2
Figure 4: Solucion en t = 3
function [x , u ]= problema7laxfriedrichs (N , f )
h =2/ N ;
x = linspace ( -1 ,1 , N +1);
% Valor para t =0
for i =1: N +1
u (i ,1)= f ( x ( i ));
end
d = h /2; % Elegimos el incremento de t
for t =1:2*( N + N /2)
for i =1: N -1
u ( i +1 , t +1)=0.5*( u (i , t )+ u ( i +2 , t ))+( d /(2* h ))*( u ( i +2 , t ) - u (i , t ));
end
u (1 , t +1)= u (N , t +1);
u ( N +1 , t +1)= u (2 , t +1);
end
end
Upwind
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function [x , u ]= problema7upwind (N , f )
h =2/ N ;
x = linspace ( -1 ,1 , N +1);
% Valor para t =0
for i =1: N +1
u (i ,1)= f ( x ( i ));
end
d = h /2; % Elegimos el incremento de t
for t =1:2*( N + N /2)
for i =1: N -1
u ( i +1 , t +1)= u ( i +1 , t ) -( d / h )*( u ( i +2 , t ) - u ( i +1 , t ));
end
u (1 , t +1)= u (N , t +1);
u ( N +1 , t +1)= u (2 , t +1);
end
end
Lax-Wendroff
1 f u n c t i o n [ x , u]= p r o b l e m a 7 l a x w e n d r o f f (N, f )
2 h=2/N;
3 x=l i n s p a c e ( 1 ,1 ,N+1);
4 % Valor para t =0
5 f o r i =1:N+1
6 u ( i ,1)= f ( x ( i ) ) ;
7 end
8 d=h / 2 ; % E l e g i m o s e l i n c r e m e n t o de t
9 f o r t =1 :2(N+N/ 2 )
10
f o r i =1:N1
11
u ( i +1 , t +1)=u ( i +1 , t )+(d / ( 2 h ) ) ( u ( i +2 , t )u ( i , t ) )
12
u ( i +1 , t +1)=u ( i +1 , t +1)+(0.5( d/h ) 2 ) ( u ( i +2 , t )2u ( i +1 , t )+u ( i , t ) ) ;
13
end
14
u ( 1 , t +1)=u (N, t +1);
15
u (N+1 , t +1)=u ( 2 , t +1);
16 end
17 end
Aproximaciones en t = 3:
Para la condicion inicial u0 (x) = cos(x) vemos que el metodo de Lax-Wendroff es el que
menos error comete, siendo el error realmente peque
no para N = 200. Por su parte, LaxFriedrichs resulta ser el peor metodo en este caso. Ademas, observamos que los tres metodos
mejoran al aumentar la N .
Para la segunda condicion inicial la situacion es distinta. Los metodos de Lax-Friedrichs y
upwind aproximan la solucion de manera uniforme (Lax-Friedrichs presenta ligeras oscilaciones),
siendo mejor el metodo de upwind.
Por su parte, la aproximacion del metodo de Lax-Wendroff sufre oscilaciones importantes
en las zonas donde la solucion tiene discontinuidades (-0.5 y 0.5). Realmente la oscilacion se
produce por la derecha del punto de discontinuidad.
En resumen, Lax-Wendroff realiza la mejor aproximacion salvo en un entorno a la derecha
de los puntos donde la solucion es discontinua. En estos entornos el metodo upwind es el mejor.
Por u
ltimo, destacar que en este caso al aumentar N la mejora es menor que para la primera
condicion. Para Lax-Wendroff aumenta el n
umero de oscilaciones, pero al ser de menor amplitud
se reduce el error en las zonas problematicas.