diferenciasfinitasondas

Texto completo

(1)

Diferencias finitas para la ecuaci´on de ondas Vamos a resolver por diferencias finitas el problema

  

utt−uxx = 4e

−t

1+x2, x∈(0,1), t >0, ux(0, t) = 2te−t

2

, u(1, t) = 1+tt2, t >0, u(x,0) =x2(1−x), ut(x,0) = x, x∈(0,1).

(1)

Vamos a resolver en (a, b)×(c, d) = (0,1)×(0,3). Tomamos N = 5, de tal manera que dx = b−Na = 51. Consideramos los puntos xi = a+idx, i =

0,1,2,3,4,5.

Empezamos discretizando en el espacio.

utt(xi, t)−uxx(xi, t) =

4e−t

1 +x2

i

, i= 1,2,3,4.

Reemplazamos −uxx(xi, t) por

−u(xi−1, t) + 2u(xi, t)−u(xi+1t)

dx2 ,

aproximando onteniendo entonces una aproximaci´on de la ecuaci´on en derivadas patciales de (1)

utt(xi, t) +

−u(xi−1,t+ 2u(xi, t)−u(xi+1t)

dx2 =

4e−t

1 +x2

i

, i= 1,2,3,4. (2)

Si llamamos ui(t) = u(xi, t), i = 0,1,2,3,4,5 el sistema (2) lo podemos

escribir en la forma

                

u001(t) + −u0(t)+2u1(t)−u2(t)

dx2 = 1+4x2 1

e−t

u002(t) + −u1(t)+2u2(t)−u3(t)

dx2 =

4 1+x2

2e −t

u003(t) + −u2(t)+2u3(t)−u4(t)

dx2 =

4 1+x2

3 e−t

u004(t) + −u3(t)+2u4(t)−u5(t)

dx2 =

4 1+x2

1 e−t

(3)

No conocemos el valor de u(0, t), solo el valor de la dericvada con respecto a x.

ux(0, t) = lim

∆x→0

u(0 + ∆x, t)−u(0, t)

∆x = 2te

(2)

Tomamos ∆x = dx y aproximamos lim∆x→0 u(0+∆x,tx)−u(0,t) por u(dx,tdx)−u(0,t), por lo que

2te−t2 = u(dx, t)−u(0, t)

dx =

u(x1, t)−u(0, t)

dx =

u1(t)−u0(t) dx

⇒u0(t) = U u1(t)−2te−t 2

dx,

y el sistema (3) podemos escribirlo en la forma

                  

u001(t) + −u1(t)+2te−t 2

dx+2u1(t)−u2(t)

dx2 =

4 1+x21e

−t

u002(t) + −u1(t)+2u2(t)−u3(t)

dx2 =

4 1+x2

2 e−t

u003(t) + −u2(t)+2u3(t)−u4(t)

dx2 =

4 1+x2

3e −t

u004(t) + −u3(t)+2u4(t)−

t

1+t2

dx2 =

4 1+x2

1e −t

(4)

o en forma equivalente

                

u001(t) + −u1(t)+2u1(t)−u2(t)

dx2 =

4 1+x2

1

e−t 2te−t2 dx

u002(t) + −u1(t)+2u2(t)−u3(t)

dx2 =

4 1+x2

2 e−t

u003(t) + −u2(t)+2u3(t)−u4(t)

dx2 =

4 1+x2

3e −t

u004(t) + −u3(t)+2u4(t)

dx2 =

4 1+x2

1e

−t+ t

1+t2 1

dx2

(5)

Si llamamos

U(t) =    

u1(t) u2(t) u3(t) u4(t)

   

, K =

   

1 -1 0 0

-1 2 -1 0

0 -1 2 -1

0 0 -1 2

   

, F(t) =       4 1+x2

1

e−t 2te−t2 dx

4 1+x2

2e −t

4 1+x2

3 e−t

4 1+x2

4e

−t+ t

1+t2 1 dx2       ,

el sistema (5), junto con la condici´on inicial, puede escribirse en la forma

            

U00(t) =−KU(t) +F(t)

U(0) =    

x21(1−x1) x2

2(1−x2) x2

3(1−x3) x24(1−x4)

   

(3)

El siguente paso es resolver estew sistema de 4 ecuaciones diferenciales de segundo orden.

Empezamos primeramente utilizando el m´etodo de Euler. Esto implica pasar de este sistema de 4 ecuaciones diferenciales de segundo orden a un sistema de 8 ecuaciones diferenciales de primer orden . Introduvcimos las funcionesu01(t) = v1(t), u02(t) =v2(t), u03(t) =v3(t), u04(t) =v(t),, las nuevas icognitas son 8 funciones que las designamos por u1(t), u2(t), u3(t), u4(t), v1(t),v2(t),v3(t),v4(t) que satisfacen el sistema de 8 ecuaciones diferenciales de primer orden

                                

u01(t) = v1(t) u02(t) = v2(t) u03(t) = v3(t) u04(t) = v4(t)

v01(t) =−−u1(t)+2u1(t)−u2(t)

dx2 +1+4x2 1

e−t 2te−t2 dx

v02(t) =−−u1(t)+2u2(t)−u3(t)

dx2 +

4 1+x2

2e −t

v03(t) =−−u2(t)+2u3(t)−u4(t)

dx2 +

4 1+x2

3 e−t

v04(t) = −u3(t)+2u4(t)

dx2 + 1+4x2 1

e−t+ t

1+t2dx12

(7)

LLamando V(t) =    

v1(t) v2(t) v3(t) v4(t)

   

, (6) es equivalente a

                

U0(t) = V(t)

V0(t) =−KU(t) +F(t)

U(0) =    

x21(1−x1) x22(1−x2) x2

3(1−x3) x24(1−x4)

   

, V(0) =    

x1 x2 x3 x4

   

(8)

Si tomamos un paso temporal dt, definimos tj = 0 +jdt,Un y Vn designa la

soluci´on aproximada de U(tn) y V(tn) respectivamente, el m´etodo de Euler

aplicado a (8) queda en la forma

Un+1 Vn+1

=

Un

Vn

+dt

Un0(tn)

Vn0(tn)

=

Un

Vn

+dt

Vn

−KUn+F(t)

(4)

o escrito en otra forma

                

Un+1 =Un+dtVn

Vn+1 =Vn+dt(−KUn+F(tn))

U0 =    

x2

1(1−x1) x22(1−x2) x23(1−x3) x2

4(1−x4)    

, V0 =    

x1 x2 x3 x4

   

(9)

Incluimos el programa matlab

% D i f e r e n c i a s f i n i t a s p a r a r e s o l v e r l a e c u a c i o n de ondas c l e a r a l l

L1=0; L2=1; % e x t r e m o s d e l i n t e r v a l o

% D i s c r e t i z a c i o n e s p a c i a l

(5)

dx=(L2−L1 ) /N; x=L1+dx : dx : L2−dx ;

U=(x . ˆ 2 .∗( 1−x ) ) ’ ; % p o s i c i o n i n i c i a l

V=x ’ ; % v e l o c i d a d i n i c i a l

TF=3; % t i e m p o f i n a l

% d i s c r e t i z a c i n en t i e m p o

dt=dx / 1 0 ; t =0: dt : TF ;

% m a t r i z que aproxima −u x x

K=(1/( dx ˆ 2 ) )∗( 2∗diag( o n e s ( 1 ,N−1) ) −diag( o n e s ( 1 ,N−2) , 1 )−diag

( o n e s ( 1 ,N−2) ,−1) ) ;

k ( 1 , 1 ) =1/dx ˆ 2 ;

g =4./(1+ x . ˆ 2 ) ’ ; % s e g u n d o miembro

s o l ( 1 , : ) =[U( 1 ) ,U ’ , 0 ] ; % m a t r i z que c o n t i e n e l a s o l u c i o n p a r a d i b u j a r l a

f=zeros(N−1 ,1) ; % v e c t o r con l a a p o r t a c i o n de l a f r o n t e r a

f o r k =1:length( t )−1

f ( 1 ) =−(2∗t ( k )∗exp(−t ( k ) ˆ 2 ) / dx ) ; % c o n d i c i o n neumann en

x=L1

f (N−1)=( t ( k ) /((1+ t ( k ) ˆ 2 )∗dx ˆ 2 ) ) ; % c o n d i c i o n d i r i c h l e t en x=L2

U=U+dt∗V; % metodo e x p l i c i t o

V=V+dt∗(−K∗U+g∗exp(−t ( k ) )+f ) ;

s o l ( k + 1 , : ) =[U( 1 )−2∗t ( k )∗exp(−t ( k ) )∗dx , U’ , t ( k ) /(1+ t ( k ) ˆ 2 ) ] ;

end

%D i b u j o de l a s o l u c i o n

x1=L1 : dx : L2 ;

[ X, T]=meshgrid( x1 , t )

Figure

Actualización...

Referencias

Actualización...