Documentos de Académico
Documentos de Profesional
Documentos de Cultura
R. Marta Garca
marta.garcia@unileon.es
12 de Mayo de 2016
12 de Mayo de 2016
1 / 47
Introduccion
Secciones
Introduccion
Problema 1
Problema 2
Problema 3
Ecuaciones elpticas
Ecuaciones parabolicas
Ecuaciones hiperbolicas
12 de Mayo de 2016
2 / 47
Introduccion
Problema 1
12 de Mayo de 2016
3 / 47
Introduccion
Problema 2
0 < x < l,
t>0
(1)
(2)
u(l, t) = T2
t>0
(3)
12 de Mayo de 2016
4 / 47
Introduccion
Problema 3
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
u
(x, 0) = g(x) a x b
t
t>0
12 de Mayo de 2016
5 / 47
Introduccion
Problema 3
c y d}
ba
n
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.
y el
12 de Mayo de 2016
6 / 47
Introduccion
Problema 3
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)
d. centrada
(7)
d. centrada
(8)
12 de Mayo de 2016
7 / 47
Introduccion
Problema 3
(9)
(10)
(11)
(12)
B 4AC = 0
Si B 4AC > 0
12 de Mayo de 2016
8 / 47
Ecuaciones elpticas
Secciones
Introduccion
Ecuaciones elpticas
Ecuaciones parabolicas
Ecuaciones hiperbolicas
12 de Mayo de 2016
9 / 47
Ecuaciones elpticas
Problema 1
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)
12 de Mayo de 2016
10 / 47
Ecuaciones elpticas
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
=
12 de Mayo de 2016
11 / 47
Ecuaciones elpticas
j = 0, 1, ..., m
u(xi , y0 ) = h1 (xi )
i = 0, 1, ..., n
12 de Mayo de 2016
12 / 47
Ecuaciones elpticas
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
12 de Mayo de 2016
13 / 47
Ecuaciones elpticas
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
0 y 0.5}
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)
12 de Mayo de 2016
16 / 47
Ecuaciones elpticas
:
:
:
:
:
:
:
:
:
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
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
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.
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
12 de Mayo de 2016
19 / 47
Ecuaciones parabolicas
Metodo explcito
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
12 de Mayo de 2016
20 / 47
Ecuaciones parabolicas
Metodo explcito
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
12 de Mayo de 2016
21 / 47
Ecuaciones parabolicas
Metodo explcito
12 de Mayo de 2016
22 / 47
Ecuaciones parabolicas
u1,j+1
1 2r
r
u2,j+1 r
1
2r
= .
..
.
..
..
.
un1,j+1
0
0
0
r
..
.
0
Metodo explcito
..
.
0
0
..
.
r
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
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.
12 de Mayo de 2016
24 / 47
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
i = 1, 2, ..., n 1
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
(k+1)
(k)
12 de Mayo de 2016
26 / 47
Ecuaciones parabolicas
Metodo implcito
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)
12 de Mayo de 2016
27 / 47
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
+
=0
k
2
h2
h2
para i = 1, 2, ..., n 1 y j = 1, 2, ....
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
..
.
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
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)
Metodo de Gauss-Seidel:
(k+1)
(k+1)
ui,j+1 =
2(1 r)ui,j
(k+1)
(k+1)
(k+1)
(k)
i = 1, 2, ..., n 1 j = 1, 2, ...
12 de Mayo de 2016
30 / 47
Ecuaciones parabolicas
Metodo de Crank-Nicholson
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
para
t=0
0x1
ui1,j + ui+1,j
2
c2 k
1
= .
h2
2
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
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
12 de Mayo de 2016
34 / 47
Ecuaciones hiperbolicas
Metodo explcito
2u
2u
(x
,
t
)
=
(xi , tj )
i
j
x2
t2
12 de Mayo de 2016
35 / 47
Ecuaciones hiperbolicas
Metodo explcito
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 .
12 de Mayo de 2016
36 / 47
Ecuaciones hiperbolicas
Metodo explcito
12 de Mayo de 2016
37 / 47
Ecuaciones hiperbolicas
Metodo explcito
u(xi , tj + k) u(xi , tj k)
2k
12 de Mayo de 2016
38 / 47
Ecuaciones hiperbolicas
Metodo explcito
2
(ui+1,0 + ui1,0 ) + (1 2 )fi + kgi
2
12 de Mayo de 2016
39 / 47
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:
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
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
12 de Mayo de 2016
41 / 47
Ecuaciones hiperbolicas
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
12 de Mayo de 2016
42 / 47
Ecuaciones hiperbolicas
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
0 x 20
20 x 80
ut (x, 0) = 0
12 de Mayo de 2016
43 / 47
Ecuaciones hiperbolicas
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
12 de Mayo de 2016
44 / 47
Ecuaciones hiperbolicas
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) =
t>0
1
sen(x)cos(t)
8
12 de Mayo de 2016
45 / 47
Ecuaciones hiperbolicas
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
12 de Mayo de 2016
46 / 47
Ecuaciones hiperbolicas
Ecuacion de ondas
12 de Mayo de 2016
47 / 47