Você está na página 1de 9

Captulo 4

El metodo de Diferencias Finitas


La idea del metodo de Diferencias Finitas consiste en aproximar las derivadas que
aparecen en el problema de ecuaciones diferenciales ordinarias (e.d.o.) de forma que se
reduzca a resolver un sistema lineal. Una vez denido el sistema lineal se estudiar a teniendo
en cuenta los resultados de los Temas 1 y 2.
Comenzamos viendo el metodo de Diferencias Finitas para un problema de contorno
de segundo orden lineal. En concreto, consideramos la ecuaci on lineal:
x

(t) = p(t) x

(t) + q(t)x(t) + r(t) t [a, b] (4.1)


con
x(a) = , x(b) = .
Recordamos que, seg un vimos en el tema anterior, suponemos que
q(t) > 0 y que p(t) est a acotada,
bajo estas condiciones el problema de contorno tiene soluci on.
Hagamos una partici on de [a, b], donde:
a = t
0
< t
1
< . . . < t
N
= b,
h =
b a
N
t
j
= a + j h j = 0, 1, . . . , N
Usando las f ormulas de diferencias centradas para aproximar las derivadas tenemos (En
el Apendice de este tema se explica como se deduce la siguiente igualdad):
x

(t
j
) =
x(t
j+1
) x(t
j1
)
2 h
+O(h
2
) (4.2)
65
66
x

(t
j
) =
x(t
j+1
) 2x(t
j
) + x(t
j1
)
h
2
+O(h
2
) (4.3)
Reemplazando (4.2) y (4.3) en (4.1), aproximando x
j
x(t
j
) j, obtenemos:
x
j+1
2 x
j
+ x
j1
h
2
+O(h
2
) = p(t
j
)
_
x
j+1
x
j1
2 h
+O(h
2
)
_
+ q(t
j
)x
j
+ r(t
j
) (4.4)
Eliminando los terminos de orden O(h
2
) en (4.4) e introduciendo la notaci on p
j
= p(t
j
),
q
j
= q(t
j
), r
j
= r(t
j
), obtenemos la ecuaci on en diferencias:
x
j1
2 x
j
+ x
j1
h
2
= p
j
x
j+1
x
j1
2 h
+ q
j
x
j
+ r
j
(4.5)
que se usa para calcular aproximaciones numericas a la soluci on de la ecuaci on diferencial
(4.1).
Reagrupando, teniendo en cuenta que las inc ognitas son x
j
j = 1, . . . , N, tenemos el
sistemas lineal de ecuaciones:
_

_
_
h
2
p
j
1
_
x
j1
+
_
2 + h
2
q
j
_
x
j
+
_
h
2
p
j
1
_
x
j+1
= h
2
r
j
j = 1, 2, . . . , N 1
x
0
=
x
N
=
(4.6)
El sistema (4.6) es un sistema tridiagonal de N 1 ecuaciones y N 1 inc ognitas,
x
1
, . . . , x
N1
(pues x
0
y x
N
son datos, las condiciones de contorno del problema). En
notaci on matricial podemos escribirlo como
Ax = b,
donde x =
_
_
_
_
x
1
.
.
.
x
N1
_
_
_
_
,
A =
_
_
_
_
_
_
_
_
_
_
_
_
2 + h
2
q
1
p
1
h/2 1 0 . . . . . . 0
p
2
h/2 1 2 + h
2
q
2
p
2
h/2 1 . . . . . . 0
.
.
.
p
j
h/2 1 2 + h
2
q
j
p
j
h/2 1
.
.
.
p
N1
h/2 1 2 + h
2
q
N1
_
_
_
_
_
_
_
_
_
_
_
_
67
Adem as, si denotamos e
0
= (p
1
h/2 + 1), e
N
= (p
N1
h/2 + 1), tenemos
b =
_
_
_
_
_
_
_
_
_
_
_
_
h
2
r
1
+ e
0
h
2
r
2
.
.
.
h
2
r
j
.
.
.
h
2
r
N1
+ e
N
_
_
_
_
_
_
_
_
_
_
_
_
Aplicamos ahora algunos de los resultados que hemos estudiado para resoluci on numeri-
ca de sistemas lineales. Por ejemplo, veamos si podemos utilizar los metodos iterativos de
Jacobi y Gaus-Seidel. Uno de los criterios para ver si ambos metodos son convergentes es
probar que la matriz es estrictamente diagonal dominante. Para ello, tenemos que ver que
|2 + h
2
q
j
| > |1 + p
j
h/2| +|1 p
j
h/2|, j = 1, . . . , N 1.
Por un lado tenemos que h es el tama no de paso en la discretizaci on, por lo que lo podemos
tomar sucientemente peque no, de forma que
1 p
j
h/2 0, 1 + p
j
h/2 0 j
Como adem as, tenemos que q > 0, por hip otesis (lo suponamos al principio del tema,
para poder asegurar que el problema de contorno tiene soluci on), llegamos a que
|1 + p
j
h/2| +|1 p
j
h/2| = 1 + p
j
h/2 + 1 p
j
h/2 = 2
y
|2 + h
2
q
j
| > 2 (pues q
j
> 0).
Por lo tanto, la matriz del sistema es estrictamente diagonal dominante. Entonces, pode-
mos aplicar los metodos iterativos de Jacobi y Gaus-Seidel para resolver el sistema lineal
(no os parece apasionante, como justo la hip otesis que se necesita para asegurar la exis-
tencia de soluci on en el problema de contorno (q > 0) es la que asegure que el sistema es
estrictamente diagonal dominante?, acabamos de relacionar dos problemas en apariencia
distintos).
En denitiva, de esta forma, resolviendo el problema lineal, con tama no de paso h,
conseguimos una aproximaci on numerica: un conjunto nito de puntos {(t
j
, x
j
)}
N1
j=1
.
Si se conoce la soluci on exacta x(t
j
), entonces podemos comparar x
j
con x(t
j
).
68
Ejemplo: Vamos a resolver el problema de contorno
_

_
x

(t) =
2t
1 + t
2
x

(t) +
2
1 + t
2
x(t) + 1 t [0, 4]
x(0) = 1,25 x(4) = 0,95
Soluci on: Aplicando el metodo de diferencias nitas y aproximando x
j
x(t
j
)
{x
j,1
}
N
j=0
, {x
j,2
}
N
j=0
, {x
j,3
}
N
j=0
, {x
j,4
}
N
j=0
representan las aproximaciones correspondientes a los tama nos de paso h al elegir
h
1
= 0,2 N = 20, h
2
= 0,1 N = 40,
h
3
= 0,05 N = 80, h
4
= 0,025 N = 160.
Veamos, seg un los distintos pasos considerados, la siguiente tabla de errores:
t
j
x(t
j
) x
j,1
h
1
= 0,2
x(t
j
) x
j,2
h
2
= 0,1
x(t
j
) x
j,3
h
3
= 0,05
x(t
j
) x
j,4
h = 0,025
0.0 0.0 0.0 0.0 0.0
0.2 0.002847 0.000704 0.000176 0.000044
0.4 0.005898 0.001460 0.000364 0.000091
0.6 0.009007 0.002229 0.000556 0.000139
0.8 0.012013 0.002974 0.000742 0.000185
1.0 0.014780 0.003660 0.000913 0.000228
1.2 0.017208 0.004263 0.001063 0.000265
1.4 0.019235 0.004766 0.001189 0.000297
1.6 0.020815 0.005160 0.001287 0.000322
1.8 0.021920 0.005435 0.001356 0.000338
2.0 0.022533 0.005588 0.001394 0.000348
2.2 0.022693 0.005615 0.001401 0.000350
2.4 0.022232 0.005516 0.001377 0.000344
2.6 0.021304 0.005285 0.001319 0.000329
2.8 0.019852 0.004926 0.001230 0.000308
3.0 0.017872 0.004435 0.001107 0.000277
3.2 0.015362 0.003812 0.000951 0.000237
3.4 0.012322 0.003059 0.000763 0.000191
3.6 0.008749 0.002171 0.000541 0.000135
3.8 0.004641 0.001152 0.000287 0.000072
4.0 0.0 0.0 0.0 0.0
69
Se puede probar que las soluciones numericas tienen un error de O(h
2
): Veamos que si
reducimos el tama no del paso a la mitad, el error disminuye una cuarta parte (Recordamos
que si un metodo es de orden p, entonces e(h/2) = e(h)/2
p
):
Vamos a jarnos en la tabla anterior, por ejemplo en t = 2, vemos que el error que
cometemos en este punto, para h
1
= 0,2 es 0,022533. Dividiendo esta cantidad por cuatro
y as sucesivamente tenemos
0,022533 0,00563325 0,0014083125 0,0035207
mientras que los valores de la tabla son
0,022533 0,005588 0,001394 0,000348
Es un peque no ejemplo, comprobando que el esquema es de orden dos.
Teorema 14 Si la soluci on del problema de contorno es sucientemente regular, x
C
4
([a, b]), entonces el error e para el metodo de diferencias nitas satisface:
e

C h
2
,
es decir, es un metodo de segundo orden.
Realmente habr a ocasiones en las que nos interesa conseguir metodos de mayor orden.
Con esta nalidad estudiamos el esquema de mejora de Richardson.
4.1. Esquema de mejora de Richardson
Vamos a mejorar la precisi on de las aproximaciones numericas anteriormente obtenidas
usando el esquema de mejora de Richardson para extrapolar los valores {x
j,1
}
N
j=0
, {x
j,2
}
N
j=0
,
{x
j,3
}
N
j=0
{x
j,4
}
N
j=0
, correspondiente a los pasos h
1
, h
2
, h
3
y h
4
, donde
h
2
=
h
1
2
, h
3
=
h
2
2
, h
4
=
h
3
2
,
con la nalidad de obtener 6 cifras de precisi on.
Para ello, primero eliminamos los terminos de orden O(h
2
) de {x
j,1
}
N
j=0
y O((
h
2
)
2
) de
{x
j,2
}
N
j=0
, generando los valores
{z
j,1
} =
_
4x
j,2
x
j,1
3
_
70
Despues, se eliminan los terminos de orden O((
h
2
)
2
) y O((
h
4
)
2
) de {x
j,2
}
N
j=0
y {x
j,3
}
N
j=0
,
generando
{z
j,2
} =
_
4x
j,3
x
j,2
3
_
Se puede aplicar un segundo nivel de mejora a las sucesiones {z
j,1
} y {z
j,2
}, generando
una tercera mejora:
{z
j,3
} =
_
16z
j,2
z
j,1
15
_
Los valores correspondientes a {z
j,3
} ya tienen 6 cifras de precisi on. Como ejemplo, vease
la siguiente tabla
t
j
(4x
j,2
x
j,1
)/3
= z
j,1
(4x
j,3
x
j,2
)/3
= z
j,2
(16z
j,2
z
j,1
)/3
x(t
j
)
Sol. exacta
0.0 1.250000 1.250000 1.250000 1.250000
0.2 1.317360 1.317351 1.317350 1.317350
0.4 1.326524 1.326506 1.326504 1.326505
0.6 1.281792 1.281764 1.281762 1.281762
0.8 1.189451 1.189414 1.189412 1.189412
1.0 1.056932 1.056889 1.056886 1.056886
1.2 0.892138 0.892090 0.892086 0.892086
1.4 0.703003 0.702951 0.702947 0.702948
1.6 0.497246 0.497191 0.497187 0.497187
1.8 0.282244 0.282188 0.282184 0.282184
2.0 0.064991 0.064935 0.064931 0.064931
2.2 -0.147918 -0.147973 -0.147977 -0.147977
2.4 -0.350268 -0.350322 -0.350325 -0.350325
2.6 -0.536207 -0.536258 -0.536261 -0.536261
2.8 -0.700213 -0.700259 -0.700263 -0.700262
3.0 -0.837072 -0.837119 -0.837116 -0.837116
3.2 -0.941850 -0.941885 -0.941888 -0.941888
3.4 -1.009870 -1.009898 -1.009899 -1.009899
3.6 -1.036688 -1.096707 -1.036708 -1.036708
3.8 -1.018075 -1.018085 -1.018086 -1.018086
4.0 -0.950000 -0.950000 -0.950000 -0.950000
71
4.2. Otras condiciones de frontera.
Las condiciones de frontera pueden ser distintas. Concretamente, en lugar de tomar
x(a) = , podemos tener x

(a) y x

(b) en lugar de x(b).


Supongamos por ejemplo que:
_
x

(a) =
x

(b) =
o
_
x

(a) =
x(b) =
o
_
x(a) =
x

(b) =
Ahora x
0
y x
N
son tambien inc ognitas, luego debemos tener 2 ecuaciones m as en el sistema
resultante.
Supongamos que tenemos la condici on x

(a) = , podemos aproximar esta condici on


mediante:
x
1
x
1
2h
= (4.7)
donde x
1
es un punto cticio de la b usqueda de x
0
. Entonces, escribiendo la ecuaci on
aproximada por diferencias nitas para el nodo x
0
:
x
1
2x
0
+ x
1
h
2
= r
0
+ q
0
x
0
+ p
0
x
1
x
1
2h
que reordenamos como:
(1
1
2
hq
0
)x
1
+ (2 + h
2
p
0
)x
0
+ (1 +
1
2
hq
0
)x
1
= h
2
r
0
,
de donde, teniendo en cuenta que por (4.7)
x
1
= x
1
2h
La ecuaci on queda
(2 + h
2
p
0
)x
0
2x
1
= (2 + h q
0
)h h
2
r
0
. (4.8)
Razonando asimismo en el extremo b, tenemos que si imponemos x

(b) = la ecuaci on
resultante es
2x
N1
+ (2 + h
2
q
N
)x
N
= h
2
r
N
+ (2 h p
N
)h . (4.9)
De esta forma, las ecuaciones (4.8) y (4.9) se a nadirian al sistema (4.6), obteniendo un
problema de (N + 1) inc ognitas con (N + 1) ecuaciones.
72
Apendice: Aproximaci on de la derivada de una funci on
a partir del desarrollo de Taylor
En esta secci on vamos a introducir aproximaciones de y

(x) e y

(x), a partir del desa-


rrollo de Taylor. Estas aproximaciones es la base de los metodos de diferencias nitas.
Consideramos en primer lugar el desarrollo de Taylor de tercer orden, para una funci on
y(x). Entonces,
y(t) = y(t
0
) + y

(t
0
)(t t
0
) + y

(t
0
)
(t t
0
)
2
2
+ y

(c)
(t t
0
)
3
6
de donde tomando t
0
= x y t = x + h, tenemos
y(x + h) = y(x) + y

(x)h + y

(x)
h
2
2
+ y

(c
1
)
h
3
6
Tomando ahora, t
0
= x, t = x h, obtenemos:
y(x h) = y(x) hy

(x) + y

(x)
h
2
2
y

(c
2
)
h
3
6
.
Restando ambas expresiones tenemos:
y(x + h) y(x h) = 2 h y

(x) +
h
3
6
(y

(c
1
) + y

(c
2
))
De esta ultima aproximaci on deducimos
y

(x) =
y(x + h) y(x h)
2 h
+
h
2
12
(y

(c
1
) + y

(c
2
))
Por lo tanto, tenemos una aproximaci on de segundo orden a la derivada a la funci on en
un punto:
y

(x)
y(x + h) y(x h)
2 h
Aproximaci on de y

(x)
Usando el desarrollo de Taylor de cuarto orden, llegamos a que
y(t) = y(t
0
) + y

(t
0
)(t t
0
) + y

(t
0
)
(t t
0
)
2
2
+ y

(t
0
)
(t t
0
)
3
6
+ y
iv
(c)
(t t
0
)
4
4!
Si t = x + h, t
0
= x
y(x + h) = y(x) + y

(x)h + y

(x)
h
2
2
+ y

(x)
h
3
6
+ y
iv
(c
1
)
h
4
4!
73
Si t = x h, t
0
= x
y(x + h) = y(x) y

(x)h + y

(x)
h
2
2
y

(x)
h
3
6
+ y
iv
(c
2
)
h
4
4!
Sumando ambas expresiones y despejando el valor de y

(x) tenemos:
y

(x) =
y(x + h) 2y(x) + y(x h)
h
2
+
h
2
4!
(y
iv
(c
1
) + y
iv
(c
2
))
Luego usamos la aproximaci on de segundo orden de y

(x):
y

(x)
y(x + h) 2y(x) + y(x h)
h
2
.

Você também pode gostar