Está en la página 1de 47

Tema 3: Resolucion Numerica de Ecuaciones Diferenciales:

Problemas de Ecuaciones en Derivadas Parciales (EDP)


Curso 2015-16

R. Marta Garca
marta.garcia@unileon.es

12 de Mayo de 2016

marta.garcia@unileon.es (Dpto. Matematicas)

Metodos Numericos I. Mecanica

12 de Mayo de 2016

1 / 47

Introduccion

Secciones

Introduccion
Problema 1
Problema 2
Problema 3

Ecuaciones elpticas

Ecuaciones parabolicas

Ecuaciones hiperbolicas

marta.garcia@unileon.es (Dpto. Matematicas)

Metodos Numericos I. Mecanica

12 de Mayo de 2016

2 / 47

Introduccion

Problema 1

Problema 1 Ecuacion de Laplace en un rectangulo

Temperatura de una placa


Consideremos una placa rectangular de 5cm 5cm.
Conservamos dos fronteras adyacentes a 0o C, mientras que el calor en las otras dos
fronteras aumenta linealmente de 0o C a 100o C.
La distribucion de la temperatura u(x, y) en el interior de la placa viene dada por la
expresion
2u
2u
(x, y) + 2 (x, y) = 0
2
x
y
Se quiere calcular la temperatura en un punto interior de la placa.

marta.garcia@unileon.es (Dpto. Matematicas)

Metodos Numericos I. Mecanica

12 de Mayo de 2016

3 / 47

Introduccion

Problema 2

Problema 2: Ecuacion del calor

Temperatura de una barra


Consideremos una barra larga y delgada de longitud l situada en el eje OX.
Supongamos que la temperatura en los extremos se mantiene constante con valores T1 y T2 .
Si u(x, t) es la temperatura en el punto x de la barra en el instante t, se verifica la ecuacion
ut (x, t) = c2 uxx (x, t) para

0 < x < l,

t>0

(1)

con la condicion inicial


u(x, 0) = f (x)

(2)

y las condiciones de contorno


u(0, t) = T1

marta.garcia@unileon.es (Dpto. Matematicas)

u(l, t) = T2

Metodos Numericos I. Mecanica

t>0

(3)

12 de Mayo de 2016

4 / 47

Introduccion

Problema 3

Problema 3: Ecuacion de ondas

La cuerda vibrante
Consideramos un cuerda cuyos extremos estan fijos en dos puntos x = a y x = b del eje
OX que soporta una tension F.
Si se desplaza la cuerda de la posicion de equilibrio y se suelta comienza a vibrar en un
plano vertical. El desplazamiento vertical u(x, t) de un punto x en el tiempo t satisface la
ecuacion diferencial:
c2

2u
2u
(x, t) = 2 (x, t) a < x < b
2
x
t

t>0

Supondremos unas condiciones iniciales:


u(x, 0) = f (x),

u
(x, 0) = g(x) a x b
t

y unas condiciones de contorno:


u(a, t) = l(t) u(b, t) = s(t)

marta.garcia@unileon.es (Dpto. Matematicas)

Metodos Numericos I. Mecanica

t>0

12 de Mayo de 2016

5 / 47

Introduccion

Problema 3

Metodo de las diferencias finitas

En este tema vamos a describir metodos numericos, para la resolucion de ecuaciones en


derivadas parciales de una funcion u(x, y) con dos variables, basados en la aproximacion por
diferencias finitas.
1

La funcion u(x, y) estara definida en un rectangulo


R = {(x, y)/ a x b

c y d}
ba
n

Dividiremos el intervalo [a, b] en n subintervalos iguales de amplitud h =


intervalo [c, d] en m subintervalos iguales de amplitud k = dc
m

lo anterior da como resultado una cuadrcula en el rectangulo R cuyos puntos de red son de
la forma (xi , yj ) con xi = a + ih e yj = c + jk.

marta.garcia@unileon.es (Dpto. Matematicas)

Metodos Numericos I. Mecanica

y el

12 de Mayo de 2016

6 / 47

Introduccion

Problema 3

Aproximaciones mediante diferencias finitas

u(x + h, y) u(x, y)
u
(x, y) '
x
h
u(x, y + k) u(x, y)
u
(x, y) '
y
k
u(x, y) u(x, y k)
u
(x, y) '
y
k

d. progresiva

(4)

d. progresiva

(5)

d. regresiva

(6)

u(x + h, y) 2u(x, y) + u(x h, y)


2u
(x, y) '
x2
h2

d. centrada

(7)

u(x, y + k) 2u(x, y) + u(x, y k)


2u
(x, y) '
y2
k2

d. centrada

(8)

marta.garcia@unileon.es (Dpto. Matematicas)

Metodos Numericos I. Mecanica

12 de Mayo de 2016

7 / 47

Introduccion

Problema 3

Estudiaremos ecuaciones en derivadas parciales de la forma:


Auxx (x, y) + Buxy (x, y) + Cuyy (x, y) = f (x, y, u, ux , uy )

(9)

donde A, B y C son constantes.


Estas ecuaciones se clasifican en tres tipos segun los valores de B2 4AC.
Si B2 4AC < 0
Si

la ecuacion se llama elptica.

(10)

la ecuacion se llama parabolica.

(11)

la ecuacion se llama hiperbolica.

(12)

B 4AC = 0

Si B 4AC > 0

marta.garcia@unileon.es (Dpto. Matematicas)

Metodos Numericos I. Mecanica

12 de Mayo de 2016

8 / 47

Ecuaciones elpticas

Secciones

Introduccion

Ecuaciones elpticas

Ecuaciones parabolicas

Ecuaciones hiperbolicas

marta.garcia@unileon.es (Dpto. Matematicas)

Metodos Numericos I. Mecanica

12 de Mayo de 2016

9 / 47

Ecuaciones elpticas

Problema 1

En el Problema 1 se presenta una ecuacion en derivadas parciales de tipo elptico pues


A = C = 1 y B = 0.
Un problema algo mas general que e ste se enunciara en la siguiente forma:
Sean u, f : R = [a, b] [c, d] R siendo las derivadas parciales segundas de u continuas en
R. Calcular de forma aproximada la solucion de

2
2u
(x, y) + y2u (x, y) = f (x, y)

x2

u(a, y)
= g1 (y)
(13)
u(b, y)
= g2 (y)

u(x, c)
= h1 (x)

u(x, d)
= h2 (x)

marta.garcia@unileon.es (Dpto. Matematicas)

Metodos Numericos I. Mecanica

12 de Mayo de 2016

10 / 47

Ecuaciones elpticas

Construccion de la ecuacion en diferencias (I)

Las formulas (7) y (8) en cada punto (xi , yj ) de la cuadrcula en que se ha dividido el rectangulo
R son:
u(xi + h, y) 2u(xi , yj ) + u(xi h, yj )
2u
(xi , yj ) '
=
x2
h2
u(xi+1 , y) 2u(xi , yj ) + u(xi1 , yj )
=
h2
u(xi , yj + k) 2u(xi , yj ) + u(xi , yj k)
2u
(xi , yj ) '
=
y2
k2
=

marta.garcia@unileon.es (Dpto. Matematicas)

u(xi , yj+1 ) 2u(xi , yj ) + u(xi , yj1 )


k2

Metodos Numericos I. Mecanica

12 de Mayo de 2016

11 / 47

Ecuaciones elpticas

Construccion de la ecuacion en diferencias (II)


Sustituyendo en la ecuacion en derivadas parciales para i = 1, 2, ..., n 1 y j = 1, 2, ..., m 1
obtenemos:
u(xi+1 , yj ) 2u(xi , yj ) + u(xi1 , yj )
u(xi , yj+1 ) 2u(xi , yj ) + u(xi , yj1 )
+
= f (xi , yj )
h2
k2
u(x0 , yj ) = g1 (yj )

u(xn , yj ) = g2 (yj ) para

j = 0, 1, ..., m

u(xi , y0 ) = h1 (xi )

u(xi , ym ) = h2 (xi ) para

i = 0, 1, ..., n

Escribiendo ui,j = u(xi , yj ) y agrupando terminos tenemos el sistema de (n 1) (m 1)


ecuaciones con las (n 1) (m 1) incognitas ui,j i = 1, 2, ..., n 1; j = 1, 2, ..., m 1:
1
1
1
1
(ui+1,j + ui1,j ) 2(( 2 + 2 ))ui,j + 2 (ui,j+1 + ui,j1 ) = fi,j
(14)
h2
h
k
k
en el que observamos aparece relacionada en cada ecuacion el valor de la solucion en los nodos:
(xi , yj ), (xi1 , yj ), (xi+1 , yj ), (xi , yj1 ), (xi , yj+1 )
.
marta.garcia@unileon.es (Dpto. Matematicas)

Metodos Numericos I. Mecanica

12 de Mayo de 2016

12 / 47

Ecuaciones elpticas

Solucion de la ecuacion en diferencias

Si despejamos ui,j para aplicar el metodo de Jacobi para resolver este sistema y llamamos
= 2( h12 + k12 )tenemos:
ui,j =

ui+1,j + ui1,j
ui,j+1 + ui,j1
fi,j
+

h2
k2

(15)

(0)

Si asignamos un valor inicial ui,j a las variables, la formula de iteracion por el metodo de
Jacobi es:
(k)
(k)
(k)
(k)
ui,j+1 + ui,j1
ui+1,j + ui1,j
fi,j
(k+1)
+

(16)
ui,j
=
h2
k2

marta.garcia@unileon.es (Dpto. Matematicas)

Metodos Numericos I. Mecanica

12 de Mayo de 2016

13 / 47

Ecuaciones elpticas

Figura: Malla y ecuacion en diferencias para la ecuacion de Laplace

marta.garcia@unileon.es (Dpto. Matematicas)

Metodos Numericos I. Mecanica

12 de Mayo de 2016

14 / 47

Ecuaciones elpticas

Ejemplo
Consideremos una placa cuadrada de 5 dm 5 dm. Conservamos dos fronteras adyacentes a 0o
C, mientras que el calor en las otras dos fronteras aumenta linealmente de 0o C a 100o C. La
distribucion de la temperatura u(x, y) en el interior de la placa viene dada por la expresion
2u
2u
(x, y) + 2 (x, y) = 0
2
x
y
Se quiere aproximar la temperatura en un punto interior de la placa.
Tomaremos
R = {(x, y)/ 0 x 0.5
h = k = 0.125

marta.garcia@unileon.es (Dpto. Matematicas)

0 y 0.5}

Metodos Numericos I. Mecanica

12 de Mayo de 2016

15 / 47

Ecuaciones elpticas

La placa se divide en 16 cuadrados de lado 0.125 cm. Las condiciones de frontera en este caso
son:
u(0, y) = 0, u(x, 0) = 0, u(x, 0.5) = 200x, u(0.5, y) = 200y
h = k = 0.125 = 1/8 y = 256 nos queda
4ui,j ui+1,j ui1,j ui,j+1 ui,j1 = 0
ui,j =

ui+1,j + ui1,j
ui,j+1 + ui,j1
+
4
4

Figura: Malla
marta.garcia@unileon.es (Dpto. Matematicas)

Metodos Numericos I. Mecanica

12 de Mayo de 2016

16 / 47

Ecuaciones elpticas

Tenemos las siguientes ecuaciones:


P1
P2
P3
P4
P5
P6
P7
P8
P9

:
:
:
:
:
:
:
:
:

4u5

4u2

4u4
u6
4u6

4u8

4u1
u3
4u3
u5
u4
u5
4u7
u9
4u9

u2
u1
u2
u1
u2
u3
u8
u7
u8

u4
u5
u6
u7
u8
u9
u4
u5
u6

=
=
=
=
=
=
=
=
=

u03
u24
u43
u02
0
u42
u01
u20
u30

u14

u34

u10

u41

Sustituyendo los valores de la funcion en la frontera tenemos el siguiente sistema de ecuaciones


lineales:

marta.garcia@unileon.es (Dpto. Matematicas)

Metodos Numericos I. Mecanica

12 de Mayo de 2016

17 / 47

Ecuaciones elpticas

4
1

0
0

1
4
1
0
1
0
0
0
0

0
1
4
0
0
1
0
0
0

1
0
0
4
1
0
1
0
0

0
1
0
1
4
1
0
1
0

0
0
1
0
1
4
0
0
1

0
0
0
1
0
0
4
1
0

0
0
0
0
1
0
1
4
1


u1
25
0
u2 50
0


0
u3 150

0
u4 0

0
u5 = 0


1
u6 50
u7 0
0

1 u8 0
25
4
u9

Aplicando el metodo de Jacobi obtenemos:


i
ui

1
18.7500

2
37.4999

3
56.2500

4
12.4999

5
24.9999

6
37.4999

7
6.2500

8
12.4999

9
18.7500

Las respuestas anteriores son exactas pues la verdadera solucion es u(x, y) = 400xy.

marta.garcia@unileon.es (Dpto. Matematicas)

Metodos Numericos I. Mecanica

12 de Mayo de 2016

18 / 47

Ecuaciones parabolicas

Secciones

Introduccion

Ecuaciones elpticas

Ecuaciones parabolicas
Metodo explcito
Metodo implcito
Metodo de Crank-Nicholson

Ecuaciones hiperbolicas

marta.garcia@unileon.es (Dpto. Matematicas)

Metodos Numericos I. Mecanica

12 de Mayo de 2016

19 / 47

Ecuaciones parabolicas

Metodo explcito

Ecuaciones parabolicas: Metodo explcito

En el Problema 2 se presenta una ecuacion en derivadas parciales de tipo parabolico pues


A = c2 y B = C = 0. Seleccionamos un paso del tiempo k > 0 y un paso de la longitud
l
h = > 0 con lo que el rectangulo
n
R = {(x, t) / 0 x l

0 t b}

queda dividido mediante los nodos (xi , tj ) con xi = ih e tj = jk. En cada nodo interior se ha de
verificar la ecuacion diferencial
ut (xi , tj ) = c2 uxx (xi , tj )
Sustituyendo las derivadas parciales por (5) y (7)
u(xi , tj+1 ) u(xi , tj ) 2 u
u(xi+1 , tj ) 2u(xi , tj ) + u(xi1 , tj )
u
(xi , tj ) =
;
(xi , tj ) =
t
k
x2
h2

marta.garcia@unileon.es (Dpto. Matematicas)

Metodos Numericos I. Mecanica

12 de Mayo de 2016

20 / 47

Ecuaciones parabolicas

Metodo explcito

u(xi , tj+1 ) u(xi , tj )


u(xi+1 , tj ) 2u(xi , tj ) + u(xi1 , tj )
= c2
k
h2
Y utilizando la notacion ui,j = u(xi , tj )
ui+1,j 2ui,j + ui1,j
ui,j+1 ui,j
= c2
k
h2
Despejamos ui,j+1 y tenemos:
ui,j+1 = (1 2k

c2
c2
)ui,j + k 2 (ui+1,j + ui1,j ) i = 1, 2, ..., n 1; j = 1, 2, ...
2
h
h
u(0, tj ) = T1

u(l, tj ) = T2

u(xi , 0) = f (xi )

(17)

j = 0, 1, ...

i = 0, 1, ..., n

La expresion anterior nos proporciona la solucion en el instante tj+1 a partir de la solucion en el


kc2
1
instante anterior tj . Este esquema converge siempre que r = 2 .
h
2

marta.garcia@unileon.es (Dpto. Matematicas)

Metodos Numericos I. Mecanica

12 de Mayo de 2016

21 / 47

Ecuaciones parabolicas

Metodo explcito

Figura: Esquema de la ecuacion en diferencias para la ecuacion del calor

marta.garcia@unileon.es (Dpto. Matematicas)

Metodos Numericos I. Mecanica

12 de Mayo de 2016

22 / 47

Ecuaciones parabolicas

En forma matricial podemos escribir:


u1,j+1
1 2r
r
u2,j+1 r
1

2r

= .
..
.
..

..
.
un1,j+1
0
0

marta.garcia@unileon.es (Dpto. Matematicas)

0
r
..
.
0

Metodo explcito

..
.

0
0
..
.
r

Metodos Numericos I. Mecanica

0
u1,j
ru0,j

0
u2,j 0
.. .. + ..
. . .
1 2r
un1,j
run,j

12 de Mayo de 2016

23 / 47

Ecuaciones parabolicas

Metodo explcito

Si u0,j = un,j = T1 = T2 = 0 y
u(0) = (f (x1 ), f (x2 ), ..., f (xn1 ))0
y
u(j) = (u1,j , u2,j , ..., un1,j )0

para toda j = 1, 2, ...

entonces la solucion aproximada viene dada por


u(j+1) = Au(j)

para toda j = 0, 1, ...

se
A este metodo se le conoce con el nombre de metodo de diferencias progresivas porque u
y
ha sustituido por la expresion (5) llamada diferencia progresiva y es de orden O(k + h2 ).
Tambien se le conoce con el nombre de metodo explcito porque calcula directamente la
solucion en el tiempo tj+1 a partir de la solucion en el instante tj . Tiene el inconveniente de que
para ser estable se ha de verificar que r 0.5.

marta.garcia@unileon.es (Dpto. Matematicas)

Metodos Numericos I. Mecanica

12 de Mayo de 2016

24 / 47

Ecuaciones parabolicas

Metodo implcito

Ecuaciones parabolicas: Metodo Implcito

Para obtener un metodo estable se utiliza la formula (6) llamada de diferencia regresiva y si se
sustituye en la ecuacion en derivadas parciales junto con (7) tenemos:
u(xi , tj ) u(xi , tj1 )
u(xi+1 , tj ) 2u(xi , tj ) + u(xi1 , tj )
= c2
k
h2
y utilizando la notacion ui,j = u(xi , tj )
ui+1,j 2ui,j + ui1,j
ui,j ui,j1
= c2
k
h2
Multiplicando por k, llamando r =

kc2
y ordenando podemos escribir
h2

(1 + 2r)ui,j r(ui+1,j + ui1,j ) = ui,j1

marta.garcia@unileon.es (Dpto. Matematicas)

i = 1, 2, ..., n 1

Metodos Numericos I. Mecanica

j = 1, 2, ...

12 de Mayo de 2016

25 / 47

Ecuaciones parabolicas

Metodo implcito

En este caso tenemos para cada j un sistema de ecuaciones lineales en las n 1 incognitas ui,j
escrito en forma matricial:

1 + 2r
r

.
..
0

r
1 + 2r
..
.
0

0
r
..
.
0

..
.

0
0
..
.
r



0
u1,j
u1,j1
rT1



0
u2,j u2,j1 0
+ .
.. .. =
..
..
. .
.
1 + 2r
un1,j
un1,j1
rT2

Este sistema siempre tiene solucion mediante el metodo de Jacobi o el de Gauss-Seidel porque
la matriz es de diagonal estrictamente dominante. Aplicando el metodo de Jacobi podemos
escribir:
(k)
(k)
(k)
ui,j1 + r(ui1,j + ui+1,j )
(k+1)
ui,j
=
1 + 2r
Por el metodo de Gauss-Seidel tenemos que:
(k+1)

(k+1)

ui,j

marta.garcia@unileon.es (Dpto. Matematicas)

(k+1)

(k)

ui,j1 + r(ui1,j + ui+1,j )


1 + 2r

Metodos Numericos I. Mecanica

12 de Mayo de 2016

26 / 47

Ecuaciones parabolicas

Metodo implcito

Figura: Esquema de Jacobi utilizando diferencias regresivas

Este metodo tiene el inconveniente de que el error local de truncamiento tiene una parte con
orden O(k) lo cual requiere hacer mucho mas pequenos los subintervalos de tiempo que los de
espacio.
marta.garcia@unileon.es (Dpto. Matematicas)

Metodos Numericos I. Mecanica

12 de Mayo de 2016

27 / 47

Ecuaciones parabolicas

Metodo de Crank-Nicholson

Ecuaciones parabolicas: Metodo de Crank-Nicholson

Para evitar este inconveniente surge el metodo de Crank-Nicholson que discretiza en dos
instantes y hace la media.
En el instante tj aproxima ut (xi , tj ) mediante una diferencia progresiva:

En el instante tj+1

ui,j+1 ui,j
ui+1,j 2ui,j + ui1,j
=0
c2
k
h2
aproxima ut (xi , tj+1 ) mediante una diferencia regresiva:
ui+1,j+1 2ui,j+1 + ui1,j+1
ui,j+1 ui,j
c2
=0
k
h2

y haciendo la media resulta:




c2 ui+1,j 2ui,j + ui1,j
ui+1,j+1 2ui,j+1 + ui1,j+1
ui,j+1 ui,j

+
=0
k
2
h2
h2
para i = 1, 2, ..., n 1 y j = 1, 2, ....

marta.garcia@unileon.es (Dpto. Matematicas)

Metodos Numericos I. Mecanica

12 de Mayo de 2016

28 / 47

Ecuaciones parabolicas

Metodo de Crank-Nicholson

Al despejar los terminos del instante j + 1 nos queda el sistema de ecuaciones lineales en las
n 1 incognitas ui,j+1 :
2(1 + r)ui,j+1 r(ui+1,j+1 + ui1,j+1 ) = 2(1 r)ui,j + r(ui+1,j + ui1,j )
o en forma matricial:
2(1 + r)
r
..
.
0

r
2(1 + r)
..
.
0

0
r
..
.
0

2(1 r)
r
..
.
0

r
2(1 r)
..
.
0

0
r
..
.
0

marta.garcia@unileon.es (Dpto. Matematicas)

..
.

0
u1,j+1
u2,j+1
0

..
..

.
.
un1,j+1
2(1 + r)


2rT1
u1,j
0
u2,j 0
0


. + .
..
.. ..
.
2rT2
2(1 r)
un1,j

0
0
..
.
r
0
0
..
.
r

Metodos Numericos I. Mecanica

12 de Mayo de 2016

29 / 47

Ecuaciones parabolicas

Metodo de Crank-Nicholson

La matriz de este sistema es de diagonal estrictamente dominante por lo que siempre se puede
resolver.

Metodo de Jacobi:
(k)

(k+1)

ui,j+1 =

(k)

(k)

(k)

(k)

2(1 r)ui,j + r(ui1,j + ui+1,j ) + r(ui1,j+1 + ui+1,j+1 )


2(1 + r)

Metodo de Gauss-Seidel:
(k+1)

(k+1)

ui,j+1 =

2(1 r)ui,j

(k+1)

(k+1)

(k+1)

(k)

+ r(ui1,j + ui+1,j ) + r(ui1,j+1 + ui+1,j+1 )


2(1 + r)

i = 1, 2, ..., n 1 j = 1, 2, ...

marta.garcia@unileon.es (Dpto. Matematicas)

Metodos Numericos I. Mecanica

12 de Mayo de 2016

30 / 47

Ecuaciones parabolicas

Metodo de Crank-Nicholson

Figura: Metodo de Jacobi para el metodo de Crank-Nicholson

marta.garcia@unileon.es (Dpto. Matematicas)

Metodos Numericos I. Mecanica

12 de Mayo de 2016

31 / 47

Ecuaciones parabolicas

Metodo de Crank-Nicholson

Ejemplo
Resuelve la ecuacion del calor
ut (x, t) = uxx (x, t) para

0<x<1

0 < t < 0.20

con las condiciones iniciales


u(x, 0) = f (x) = 4x 4x2

para

t=0

0x1

y las condiciones de contorno


u(0, t) = 0 = u(1, t) para 0 t 0.20
Tomamos un paso h = 0.2 y k = 0.02.
La malla tendra 5 columnas de ancho y 10 de alto. Las formulas son:
ui,j+1 =
La formula es estable pues r =

marta.garcia@unileon.es (Dpto. Matematicas)

ui1,j + ui+1,j
2

c2 k
1
= .
h2
2

Metodos Numericos I. Mecanica

12 de Mayo de 2016

32 / 47

Ecuaciones parabolicas

t1 = 0.00
t2 = 0.02
t3 = 0.04
t4 = 0.06
t5 = 0.08
t6 = 0.10
t7 = 0.12
t8 = 0.14
t9 = 0.16
t10 = 0.18
t11 = 0.20

x1 = 0.00
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000

x2 = 0.20
0.640000
0.480000
0.400000
0.320000
0.260000
0.210000
0.170000
0.137500
0.111250
0.090000
0.072812

Metodo de Crank-Nicholson

x3 = 0.40
0.960000
0.800000
0.640000
0.520000
0.420000
0.340000
0.275000
0.222500
0.180000
0.145625
0.117813

x4 = 0.60
0.960000
0.800000
0.640000
0.520000
0.420000
0.340000
0.275000
0.222500
0.180000
0.145625
0.117813

x5 = 0.80
0.640000
0.480000
0.400000
0.320000
0.260000
0.210000
0.170000
0.137500
0.111250
0.090000
0.072812

x6 = 1.00
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000

Resultados obtenidos con el metodo de las diferencias progresivas en una ecuacion parabolica para r = 0.5.
1
Si se toma k =
el metodo no es estable.
30

Con Matlab

marta.garcia@unileon.es (Dpto. Matematicas)

Metodos Numericos I. Mecanica

12 de Mayo de 2016

33 / 47

Ecuaciones hiperbolicas

Secciones

Introduccion

Ecuaciones elpticas

Ecuaciones parabolicas

Ecuaciones hiperbolicas
Metodo explcito
Metodo implcito
Ejemplos con el metodo explcito

marta.garcia@unileon.es (Dpto. Matematicas)

Metodos Numericos I. Mecanica

12 de Mayo de 2016

34 / 47

Ecuaciones hiperbolicas

Metodo explcito

Ecuaciones hiperbolicas: Metodo explcito

El Problema 3 presenta una ecuacion diferencial en derivadas parciales de tipo hiperbolico.


ba
T
Senalamos un paso h =
para x y un paso k =
para t. Mediante los nodos (xi , tj ) donde
n
m
xi = a + ih y tj = jk tenemos una cuadrcula o malla en el dominio donde queremos resolver la
ecuacion. En cualquier punto interior de la malla la ecuacion de la onda se transforma en:
c2

marta.garcia@unileon.es (Dpto. Matematicas)

2u
2u
(x
,
t
)
=
(xi , tj )
i
j
x2
t2

Metodos Numericos I. Mecanica

12 de Mayo de 2016

35 / 47

Ecuaciones hiperbolicas

Metodo explcito

Si usamos las formulas (7) (8) y la notacion u(xi , tj ) = ui,j tenemos:


c2

ui,j+1 2ui,j + ui,j1


ui+1,j 2ui,j + ui1,j
=
h2
k2

ck
y despejando ui,j+1 podemos escribir para i = 1, 2, ..., n 1;
Llamando =
h
j = 1, 2, ..., m 1
ui,j+1 = 2 (ui+1,j + ui1,j ) + 2(1 2 )ui,j ui,j1

(18)

La expresion (18) nos permite obtener la solucion en el instante tj+1 a partir de la solucion en
los instantes tj y tj1 .

marta.garcia@unileon.es (Dpto. Matematicas)

Metodos Numericos I. Mecanica

12 de Mayo de 2016

36 / 47

Ecuaciones hiperbolicas

Metodo explcito

Figura: Esquema de la ecuacion en diferencias

Por lo tanto, para iniciar el proceso necesitamos la solucion en los instantes t0 y t1 . De la


primera condicion inicial u(x, 0) = f (x), obtenemos la solucion en el instante t0 , ui,0 = fi para
i = 1, 2, ..., n 1.

marta.garcia@unileon.es (Dpto. Matematicas)

Metodos Numericos I. Mecanica

12 de Mayo de 2016

37 / 47

Ecuaciones hiperbolicas

Metodo explcito

Para ello, aproximamos la derivada ut mediante la diferencia centrada y utilizando la segunda


condicion inicial u
(x, 0) = g(x)
t
ut (xi , tj ) '

u(xi , tj + k) u(xi , tj k)
2k

Para j = 0 podemos escribir el valor en los nodos fantasma:


ui,1 = ui,1 2kgi
que al sustituirla en (18) para j = 0 tenemos:
ui,1 = 2 (ui+1,0 + ui1,0 ) + 2(1 2 )ui,0 ui,1 =
= 2 (ui+1,0 + ui1,0 ) + 2(1 2 )ui,0 ui,1 + 2kgi

marta.garcia@unileon.es (Dpto. Matematicas)

Metodos Numericos I. Mecanica

12 de Mayo de 2016

38 / 47

Ecuaciones hiperbolicas

Metodo explcito

ui,1 = 2 (ui+1,0 + ui1,0 ) + 2(1 2 )fi ui,1 + 2kgi


de donde
ui,1 =

2
(ui+1,0 + ui1,0 ) + (1 2 )fi + kgi
2

Obtenemos as los valores de la funcion u en el instante t1 . El metodo converge para 1.

marta.garcia@unileon.es (Dpto. Matematicas)

Metodos Numericos I. Mecanica

12 de Mayo de 2016

39 / 47

Ecuaciones hiperbolicas

Metodo implcito

Ecuaciones hiperbolicas: Metodo implcito

Para obtener un esquema en diferencias implcito, sustituimos la parcial segunda con respecto al
tiempo por la diferencia centrada (8) mientras que la derivada segunda respecto a x la
aproximamos por la media de las diferencias centradas en tj1 y tj+1 . Obtenemos as la
expresion:

ui,j+1 2ui,j + ui,j1 =

2
[(ui+1,j+1 2ui,j+1 + ui1,j+1 ) + (ui+1,j1 2ui,j1 + ui1,j1 )]
2

Agrupando en el primer miembro los valores del paso j + 1 y en el segundo los valores de pasos
anteriores queda:
(1 + 2 )ui,j+1

2
2
(ui+1,j+1 + ui1,j+1 ) = 2ui,j +
(ui+1,j1 + ui1,j1 ) (1 + 2 )ui,j1
2
2

marta.garcia@unileon.es (Dpto. Matematicas)

Metodos Numericos I. Mecanica

12 de Mayo de 2016

40 / 47

Ecuaciones hiperbolicas

Metodo implcito

Para cada paso temporal fijo, resolveremos un sistema de n 1 ecuaciones lineales del que se
obtienen los valores de ui,j+1 para i = 1, 2, ..., n 1. La matriz del sistema es tridiagonal y
estrictamente dominante y por lo tanto el sistema se puede resolver para cualquier valor de .
Podemos simplificar su resolucion agrupando las incognitas en funcion de sus coeficientes de
manera que el termino independiente se reduzca a un u nico elemento y obtenemos:
1 + 2
2
2
(ui,j+1 + ui,j1 )
(ui+1,j+1 + ui+1,j1 )
(ui1,j+1 + ui1,j1 ) = ui,j
2
4
4
Al resolver el sistema en cada paso temporal fijo, obtenemos el valor de wi = ui,j+1 + ui,j1
para i = 1, 2, ..., n 1 y como en cada paso j se tiene resuelto el sistema para el paso j 1
podemos obtener ui,j+1 = wi ui,j1

marta.garcia@unileon.es (Dpto. Matematicas)

Metodos Numericos I. Mecanica

12 de Mayo de 2016

41 / 47

Ecuaciones hiperbolicas

Ejemplos con el metodo explcito

Ejemplo
Una cuerda de un determinado instrumento musical mide 80 cm de longitud y pesa 1 g. Se
estira con una tension de 40000 g. En un punto a 20cm de un extremo, se tira de la cuerda 0.6
cm con respecto a la posicion de equilibrio y luego se suelta.
1

Tomando un paso espacial de 10 cm, determina la posicion de la cuerda en el instante t=1,


utilizando el metodo explcito con el paso temporal mas grande posible que garantice la
convergencia del metodo.

Representa la posicion de la cuerda en diferentes instantes de tiempo. Es posible


determinar en cuanto tiempo se completa un ciclo de movimiento?

marta.garcia@unileon.es (Dpto. Matematicas)

Metodos Numericos I. Mecanica

12 de Mayo de 2016

42 / 47

Ecuaciones hiperbolicas

Ejemplos con el metodo explcito

La ecuacion que rige las vibraciones de la cuerda tensa estirada entre dos puntos fijos es:
utt =

Fg
uxx
w

donde F es la tension 40000 g, g es la gravedad 980 cm/s2 y w es el peso por unidad de longitud
1/80 g/cm, por lo tanto la ecuacion que rige el movimiento es:
utt =

40000g 980cm/s2
uxx = 3136 106 uxx
1g/80cm

La condicion inicial del problema es:



0.03x
u(x, 0) =
0.8 0.01x

0 x 20
20 x 80

ut (x, 0) = 0

marta.garcia@unileon.es (Dpto. Matematicas)

Metodos Numericos I. Mecanica

12 de Mayo de 2016

43 / 47

Ecuaciones hiperbolicas

Ejemplos con el metodo explcito

Como la cuerda esta sujeta en los extremos las condiciones de contorno son:
u(0, t) = u(80, t) = 0
Puesto que el metodo explcito converge cuando 1 y tenemos

1
1
= (ck/h) = ( 3136 106 k/10), por tanto, k
luego el mayor valor de k es
.
5600
5600
Fichero.m

marta.garcia@unileon.es (Dpto. Matematicas)

Metodos Numericos I. Mecanica

12 de Mayo de 2016

44 / 47

Ecuaciones hiperbolicas

Ejemplos con el metodo explcito

Ejemplo
Consideremos la ecuacion de ondas:
utt (x, t) = uxx (x, t)
con la condicion inicial

0 < x < 1,

t>0

1
sen(x), 0 x 1
8
ut (x, 0) = 0, 0 x 1

u(x, 0) =

y las condiciones de contorno


u(0, t) = u(1, t) = 0,

t>0

Aproxima la solucion del problema en el instante t = 3, utilizando el metodo explcito,


tomando como paso espacial h = 0.1 y como paso temporal k = 0.025 y k = 0.15.

Aproxima la solucion del problema en el instante t = 3, utilizando el metodo implcito,


tomando los pasos como en el apartado anterior.

Compara los resultados obtenidos en los apartados 1) y 2) con la solucion exacta


u(x, t) =

marta.garcia@unileon.es (Dpto. Matematicas)

1
sen(x)cos(t)
8

Metodos Numericos I. Mecanica

12 de Mayo de 2016

45 / 47

Ecuaciones hiperbolicas

Ejemplos con el metodo explcito

Con Matlab
Creamos el fichero forma.m conteniendo la funcion f(x)
> function fx=forma(x)
> fx=(1/8)*sin(pi*x);
Creamos el fichero velocidad.m
> function vx= velocidad(x)
> vx = 0;
Contamos con el fichero finedif.m
En la Command Window tecleamos
> U = finedif (@forma,@velocidad,1,1,1,9,39);
> surf(U);
Fichero.m

marta.garcia@unileon.es (Dpto. Matematicas)

Metodos Numericos I. Mecanica

12 de Mayo de 2016

46 / 47

Ecuaciones hiperbolicas

Ejemplos con el metodo explcito

Ecuacion de ondas

Figura: Aproximacion con Matlab


marta.garcia@unileon.es (Dpto. Matematicas)

Metodos Numericos I. Mecanica

12 de Mayo de 2016

47 / 47