You are on page 1of 70

ndice general

1. Mtodos numricos para ecuaciones diferenciales ordinarias 3


1.1. Mtodo en diferencias nitas . . . . . . . . . . . . . . . . . . . . . . 5
1.2. Mtodo de Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2.1. Anlisis del error . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2.2. Ejemplos de sistemas . . . . . . . . . . . . . . . . . . . . . . 18
1.3. El mtodo de Heun y el mtodo del punto medio . . . . . . . . . . 24
1.4. Mtodos explcitos de Runge-Kutta . . . . . . . . . . . . . . . . . . . 40
2. Mtodos numricos para ecuaciones en derivadas parciales (EDPs) 49
2.1. Clasicacin de EDPs de segundo orden . . . . . . . . . . . . . . . . 49
2.2. Mtodos numricos para problemas parablicos . . . . . . . . . . . 50
2.2.1. Mtodo explcito . . . . . . . . . . . . . . . . . . . . . . . . . 51
2.2.2. Mtodo implcito . . . . . . . . . . . . . . . . . . . . . . . . . 55
2.2.3. Mtodo de Crank-Nicholson . . . . . . . . . . . . . . . . . . 59
2.3. Estabilidad, consistencia y convergencia . . . . . . . . . . . . . . . . 61
A. Analisis numrico matricial 65
A.1. Normas vectoriales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
A.2. Normas matriciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
1
2
Captulo 1
Mtodos numricos para
ecuaciones diferenciales
ordinarias
La inmensa mayora de las ecuaciones diferenciales no se pueden resolver
de forma analtica explcita, por lo que resulta esencial disear algoritmos
numricos que permitan hallar una aproximacin numrica precisa. Los
esfuerzos de investigacin en este sentido han proporcionado un vasto
abanico de esquemas numricos que permiten hallar soluciones aproximadas
para una gran variedad de ecuaciones diferenciales. Adems, hoy en da
uno puede elegir entre una amplia despensa de software que proporcionan
resultados precisos y ables en periodos de tiempo moderadamente cortos.
No obstante, todos esos paquetes y los mtodos que subyacen tienen sus
limitaciones, y quienes los utilizan deben ser capaces de reconocer cuando
el software trabaja correctamente y cuando genera resultados espurios.
En este captulo nos ocuparemos de presentar los mtodos numricos
bsicos para resolver problemas de valores iniciales (PVI). Lo cierto es que
los mtodos esenciales que vamos a considerar raramente se utilizan en
la prctica, incluso para ecuaciones diferenciales relativamente sencillas,
puesto que existen mtodos ms sosticados, especializados y verstiles.
Pero cualquier desarrollo avanzado se construye sobre esquemas bsicos y
las ideas que subyacen de stos.
Los problemas representativos con los que se enfrenta un analista numrico
de ecuaciones diferenciales ordinarias aparecen ya en las ecuaciones de
primer orden ms simples. Nuestro objetivo es calcular una aproximacin a
3
4
la solucin para el problema de Cauchy:
y

(t) = f(t, y(t)), y(t


0
) = y
0
, (1.1)
donde y(t) es una funcin real denida en un intervalo I, y f(t, y) es una
funcin denida en I R.
Por el bien de la simplicidad, centraremos nuestra atencin en el caso
escalar; sin embargo, todas las frmulas y resultados se pueden adaptar a
sistemas de primer orden solo con reemplazar las funciones escalares y(t) y
f(t, y) por funciones vectoriales. Por otra parte, sabemos que las ecuaciones
diferenciales de orden superior se reducen a sistemas equivalentes de primer
orden.
Por no ser objeto de este tema, no entraremos a estudiar en profundidad
los diferentes resultados tericos que aseguran, bajo ciertas hiptesis, la
existencia, unicidad o regularidad de las soluciones de los problemas de
Cauchy. No obstante recordamos a continuacin uno de los teoremas clsicos
de existencia y unicidad.
Teorema 1.1 (de Cauchy-Lipschitz) Sea f(t, x) una funcin
continua sobre I R y lipschitciana respecto a la segunda de sus
variables, esto es,
L > 0 / [f(t, x) f(t, y)[ L[x y[, t I, x, y R,
entonces el problema de Cauchy (1.1) admite una nica solucin.
Observacin 1.2 La condicin de Lipschitz es relativamente suave sobre
la funcin. Obsrvese que si la derivada parcial de f(t, x) respecto de la
segunda variable es una funcin continua, la condicin de Lipschitz se
traduce en que dicha derivada permanezca acotada.
En numerosos problemas fsicos la variable t representa el tiempo y el
intervalo I se suele considerar desde [t
0
, t
0
+ ]. Por ello el instante t
0
se
denomina instante inicial y la condicin impuesta en ese instante y(t
0
) = y
0
se denomina condicin inicial.
5
1.1. Mtodo en diferencias nitas
Uno de los mtodos ms verstiles para resolver ecuaciones diferenciales
ordinarias es el mtodo de diferencias nitas, que consiste, bsicamente,
en aproximar las derivadas de una funcin en un punto mediante una
combinacin de las imgenes de la funcin en puntos del entorno (los
puntos de la malla). La herramienta que nos proporciona tales frmulas,
denominadas de diferencias nitas", es el desarrollo de Taylor de una
funcin en un punto. En primer lugar hallemos la frmula de aproximacin
de la primera derivada:
y(t + h) = y(t) + y

(t)h +
1
2
y

()h
2
, [t, t + h],
donde hemos utilizado la frmula del resto de Cauchy. Despejando y

(t) de
la ecuacin anterior podemos hallar su valor
y

(t) =
y(t + h) y(t)
h

1
2
y

()h,
de donde obtenemos la aproximacin
y

(t)
y(t + h) y(t)
h
.
La frmula anterior se denomina diferencia progresiva de la primera
derivada. Obsrvese que el error de la aproximacin es proporcional a h,
que lo expresaremos diciendo que es una aproximacin de primer orden.
Cuando interese poner de maniesto el orden de aproximacin omitiremos
el resto de Cauchy escribiendo simplemente
y

(t) =
y(t + h) y(t)
h
+ O(h),
donde el trmino O(h) se reere a que el trmino proporcional a h est
acotado por un mltiplo constante de h cuando h tiende a cero. Realizando
el desarrollo de Taylor de y(t h) y procediendo de forma similar se obtiene
una nueva frmula de aproximacin para y

(t), pero esta vez en funcin de


los valores de u en el nodo t y t h,
y

(t) =
y(t) y(t h)
h
+ O(h).
En este caso, la frmula aproximacin obtenida se denomina diferencia
regresiva de la primera derivada. Las diferencias progresivas y regresivas
son aproximaciones de primer orden a la primera derivada en t. Pero no son
6
stas las nicas posibilidades para aproximar la primera derivada. Consideremos
los siguientes desarrollos de Taylor:
y(t + h) = y(t) + y

(t)h +
1
2
y

(t)h
2
+ O
_
h
3
_
,
y(t h) = y(t) y

(t)h +
1
2
y

(t)h
2
+ O
_
h
3
_
,
donde el resto de Taylor es proporcional a h
3
. Si restamos las formulas
anteriores obtenemos
y(t + h) y(t h) = 2y

(t)h + O
_
h
3
_
,
de donde se obtiene fcilmente
y

(t) =
y(t + h) y(t h)
2h
+ O(h
2
).
Luego he aqu otra frmula de aproximacin a la primera derivada en t,
pero en este caso de segundo orden, denominada diferencia central de
la primera derivada.
Tratemos de hallar ahora una aproximacin a la segunda derivada en un
punto t. Tengamos en cuenta los siguientes desarrollos de Taylor:
y(t + h) = y(t) + y

(t)h +
1
2
y

(t)h
2
+
1
6
y
(3)
(t)h
3
+ O
_
h
4
_
,
y(t h) = u(t) y

(t)h +
1
2
y

(t)h
2

1
6
y
(3)
(t)h
3
+ O
_
h
4
_
.
(1.2)
Si en lugar de restar, los sumamos deducimos la identidad
y(t + h) + y(t h) = 2y(t) + y

(t)h
2
+ O
_
h
4
_
,
de donde podemos despejar sin dicultad y

(t),
y

(t) =
y(t + h) 2y(t) + y(t h)
h
2
+ O(h
2
).
Despreciando el trmino O(h
2
) hemos obtenido una aproximacin de orden
2 para la segunda derivada de la funcin y en el punto t. Tal aproximacin
se denomina diferencia central de la segunda derivada. Para obtener
aproximaciones de derivadas de orden superior tendramos que proceder
de forma anloga, y necesitaramos evaluar la funcin en ms puntos
del entorno. Observemos que para aproximar la primera derivada hemos
necesitado evaluar la funcin en dos puntos; para aproximar la segunda
derivada hemos evaluado la funcin en tres puntos. En general, aproximar
la derivada n-sima necesitaramos evaluar la funcin en al menos n + 1
puntos distintos.
7
1.2. Mtodo de Euler
Nuestra meta consiste en calcular una aproximacin a la nica solucin
para el problema de valor inicial (1.1). En primer lugar, introducimos una
malla de puntos (puntos nodales) comenzando en el instante inicial t
0
y
acabando en el tiempo nal t
N
= t
0
+ de la forma
t
0
< t
1
< t
2
< < t
k
< < t
N
donde la distancia entre un nodo y otro h
k
= t
k+1
t
k
est sucientemente
cerca. Por comodidad, utilizaremos una separacin uniforme entre los puntos
del mallado, esto es, h
k
= h jo para todo k. Este requisito simplica el
anlisis sin afectar signicativamente al estudio general para pasos no
uniformes. En este caso, el punto k-simo de la malla est dado por
t
k
= t
0
+kh. El propsito es construir un algoritmo recursivo que proporcione
aproximaciones u
k
y(t
k
) de la solucin real en los puntos nodales k =
0, 1, 2, . . . elegidos. Los valores de y(t) en los puntos internodales se pueden
calcular mediante cualquier procedimiento de interpolacin, por ejemplo, los
splines cbicos. El polinomio de Taylor de primer orden permite aproximar
el valor de la funcin y(t) alrededor de cualquier nodo t
k
:
y(t) y(t
k
) + (t t
k
)y

(t
k
) = y(t
k
) + (t t
k
)f(t
k
, y(t
k
)),
donde hemos reemplazado la derivada y

(t) por el trmino que aparece en


la ecuacin (1.1) objeto de estudio. En particular, si tomamos t = t
k+1
,
podemos aproximar el valor del siguiente punto nodal de la malla
y(t
k+1
) y(t
k
) + (t
k+1
t
k
)f(t
k
, y(t
k
)). (1.3)
En la prctica solamente sabemos la aproximacin u
k
al valor y(t
k
), luego
estamos obligados a reemplazar u
k
por y(t
k
) en la frmula (1.3), por lo tanto
obtenemos el esquema iterativo:
u
k+1
= u
k
+ hf(t
k
, u
k
). (1.4)
Esta simple idea es el punto de partida del mtodo de Euler. Este mtodo
es el esquema numrico unipaso ms simple para integrar una ecuacin
diferencial ordinaria. Con el n de comprender mejor el mtodo de Euler
en la prctica, es conveniente testearlo con algn problema sencillo que
sepamos resolver, lo que permite estudiar el error de nuestra aproximacin
con la solucin real.
8
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
0.6
0.8
1
1.2
1.4
1.6
1.8
2
Mtodo de Euler
sol aprox
sol exacta
Figura 1.1: y

+ u = 2 cos t, u(0) = 2
1.2.1. Anlisis del error
Antes de continuar, examinaremos algunos aspectos relacionados con el
error en un esquema numrico. Un mtodo numrico unipaso general se
puede escribir como
u
k+1
= u
k
+ hg(h, t
k
, u
k
), (1.5)
donde g es una funcin conocida que, mediante iteraciones, proporciona
la solucin aproximada u
k
y(t
k
) en el instante t
k
, siendo el tamao del
paso h = t
k+1
t
k
(que por propsitos didcticos lo consideramos jo). En
cualquier esquema de integracin numrica hay distintos de errores que
clasicaremos en tres tipos:
Error local: Es aquel cometido en el paso actual del algoritmo. Incluso
cuando somos capaces de hallar el valor exacto de la solucin u
k
=
y(t
k
) en el instante t
k
, la aproximacin numrica en el instante t
k+1
es
ciertamente no exacta, y se introduce un error en el valor calculado
u
k+1
y(t
k+1
). Esencialmente, hay dos subtipos de errores locales: el
error de truncamiento (o error de consistencia) y el error de
redondeo. El error de redondeo es consecuencia de la falta de precisin
de la aritmtica computacional y, en ocasiones, puede ocasionar graves
alteraciones en la aproximacin. El error de truncamiento se debe a
la aproximacin que realizamos en el instante t
k+1
a partir de su valor,
9
an cuando sea exacto, en el instante t
k
. Debido a su relevancia, el
error de truncamiento ser analizado cuidadosamente ms adelante.
Error inicial: Se maniesta cuando la condicin inicial u
0
y(t
0
) no se
puede calcular con exactitud debido, fundamentalmente, a las limitaciones
en la aritmtica computacional. Por ejemplo, si y(t
0
) = , necesariamente
tenemos que tomar una aproximacin de y, en consecuencia, introducimos
algn error inicial que depender del nmero de decimales exactos que
tomemos en .
Error global: Es la diferencia entre el valor aproximado u
k
y el valor exacto
y(t
k
) en el nodo t
k
. Los errores locales tienden a acumularlo, puesto que,
en general, no partimos del valor exacto en el instante t
k1
. De hecho,
ni siquiera podemos garantizar el valor exacto en la condicin inicial
u
0
y(t
0
) el el caso de que haya error inicial.
Resumiendo, conforme iteramos nuestro esquema numrico el error se
propaga en cada paso. Por simplicidad, pongmosnos en una situacin
favorable y supongamos que la condicin inicial es exacta u
0
= y(t
0
), y que
los errores de redondeo no juegan un papel signicativo (aunque uno debe
siempre tenerlos en cuenta en la computacin). En ese caso el error local
juega un papel fundamental hasta tal punto que, bajo ciertas hiptesis, si
tenemos dominado el error local, podemos dominar tambin la propagacin
del error global. As pues, analizaremos el error local en detalle. Para medir
el error local que va de t
k
a t
k+1
basta con comparar la solucin exacta
y(t
k+1
) con su aproximacin numrica bajo la hiptesis de que u
k
= y(t
k
).
Naturalmente, en la prctica, este caso nunca se da, por lo que el error
local es una cantidad articial que, por s sola, no ilustra correctamente el
funcionamiento del mtodo.
Denicin 1.3 Se denomina error local de discretizacin de un
mtodo numrico de la forma (1.5) al valor:
E
k+1
= (y
k+1
y
k
) hg(h, t
k
, y
k
), k = 0, 1, 2, . . .
El valor
k+1
=
1
h
E
k+1
se denomina error de truncacin o error de
consistencia
10
Obsrvese que el error de discretizacin en el instante t
k+1
nos proporciona
la diferencia entre el valor exacto de la solucin en dicho punto y
k+1
= y(t
k+1
)
y el valor que se obtendra al aproximar este valor mediante el esquema
numrico (1.5) si se partiese de la solucin exacta en el instante t
k
.
Es fcil deducir la ecuacin
y
k+1
y
k
h
g(h, t
k
, y
k
) =
1
h
E
k+1
=
k+1
,
as pues, el error de truncacin (consistencia) es la cantidad por la cual
el mtodo de discretizacin aplicado sobre el valor exacto en los puntos
nodales no satisface la ecuacin diferencial (1.1).
Denicin 1.4 Se dice que un esquema numrico de la forma (1.5)
es consistente con la ecuacin diferencial ordinaria (1.1) si se
verica que
lm
h0
N

k=1
[E
k
[ = 0.
Adems, diremos que el mtodo es consistente de orden p si para
cualquier valor de h positivo e inferior a un cierto paso mximo h

,
se cumple que
N

k=1
[E
k
[ C h
p
,
donde C es una constante.
Observacin 1.5 Observemos que si [E
k
[ M h
p+1
para todo k, entonces
el mtodo es consistente de orden p. En efecto,
N

k=1
[E
k
[ NMh
p+1
=

h
Mh
p+1
= Mh
p
.
En la prctica, y siempre y cuando tengamos un orden de derivacin
conveniente, podemos calcular el orden de consistencia de un esquema
numrico desarrollando en Taylor (respecto de h) la solucin exacta, esto
es,
y(t
k+1
) = y(t
k
) + hy

(t
k
) +
h
2
2
y

(t
k
) +
h
3
6
y

(t
k
) +
= y
k
+ hf(t
k
, y
k
) +
h
2
2
f
(1)
(t
k
, y
k
) +
h
3
6
f
(2)
(t
k
, y
k
) +
(1.6)
11
donde hemos denotado
f
(k)
(t, y) =
d
dt
[f
(k1)
(t, y)], f
(0)
(t, y) = f(t, y).
Por ejemplo, los primeros trminos son
f
(1)
(t, y) =
d
dt
[f(t, y)] =
f
t
(t, y) + f(t, y)
f
y
(t, y),
f
(2)
(t, y) =
d
dt
[f
(1)
(t, y)] =

2
f
t
2
(t, y) +
f
t
(t, y)
f
y
(t, y)
+ f(t, y)
_
_
f
y
(t, y)
_
2
+ 2

2
f
t y
(t, y)
_
+ f(t, y)
2

2
f
y
2
(t, y),
f
(3)
(t, y) =

3
f
t
3
(t, y) + 3
f
t
(t, y)

2
f
t y
(t, y) +
f
y
(t, y)

2
f
t
2
(t, y) +
f
t
(t, y)
_
f
y
(t, y)
_
2
f(t, y)
_
_
f
y
(t, y)
_
3
+ 5

2
f
t y
(t, y)
f
y
(t, y) + 3
_
f
t
(t, y)

2
f
y
2
(t, y) +

3
f
t
2
y
(t, y)
_
_
f(t, y)
2
_
4
f
y
(t, y)

2
f
y
2
(t, y) + 3

3
f
t y
2
(t, y)
_
+ f(t, y)
3

3
f
y
3
(t, y)
Por otra parte, desarrollamos en Taylor la funcin g(h, t, y) respecto de
la variable h alrededor del punto 0
g(h, t, y) = g(0, t, y) + h
g
h
(0, t, y) +
h
2
2

2
g
h
2
(0, t, y) + (1.7)
Finalmente, utilizando (1.6) y (1.7) obtenemos:
E
k+1
= (y
k+1
y
k
) hg(h, t
k
, y
k
)
= h(f(t
k
, y
k
) g(0, t
k
, y
k
)) +
h
2
2
_
f
(1)
(t
k
, y
k
) 2
g
h
(0, t
k
, y
k
)
_
h
3
6
_
f
(2)
(t
k
, y
k
) 3

2
g
h
2
(0, t
k
, y
k
)
_
+
h
4
24
_
f
(3)
(t
k
, y
k
) 4

3
g
h
3
(0, t
k
, y
k
)
_
+ . . .
(1.8)
As pues, bajo condiciones de regularidad convenientes sobre las derivadas,
el orden de consistencia del esquema numrico ser de orden p siempre y
cuando
f
(m)
(t
k
, y
k
) = (m + 1)

(m)
g
h
(m)
(0, t
k
, y
k
), m < p, f
p
(t
k
, y
k
) ,= (p + 1)

p
g
h
p
(0, t
k
, y
k
),
ya que, en ese caso, el error de discretizacin tiene orden p + 1.
Ejemplo 1.1 En el mtodo de Euler u
k+1
= u
k
+ hf(t
k
, u
k
) se verica que g(h, t
k
, y
k
) =
f(t
k
, y
k
), de donde g(0, t
k
, y
k
) = f(t
k
, y
k
) y
g
h
(0, t
k
, y
k
) = 0. Entonces el mtodo de Euler
es de orden de consistencia 1 (a menos que f
(1)
(t, y) = 0).
12
Denicin 1.6 Dado un mtodo numrico de la forma (1.5), se
denomina error del mtodo la diferencia e
k
= y
k
u
k
(k=0,1,. . . ,N).
Se dice que el mtodo es convergente cuando
lm
h0
_
sup
0kN
[e
k
[
_
= 0.
Diremos que el mtodo es convergente de orden p si se verica:
sup
0kN
[e
k
[ K h
p
.
En principio, el error de consistencia y el error del mtodo son conceptos
independientes. De hecho la propiedad de consistencia, por lo general, suele
ser ms fcil de constatar que la convergencia. Mostraremos que, bajo
hiptesis adecuadas, la consistencia de orden p implica la convergencia de
orden p. Consideremos un mtodo genrico unipaso u
k+1
= u
k
+ hg(h, t
k
, u
k
)
que trata de aproximar la solucin de la ecuacin (1.1). Si conocemos el
valor exacto y
k
en el instante t
k
, entonces el valor exacto en el intante t
k+1
es
y
k+1
= y
k
+ hg(h, t
k
, y
k
) + E
k+1
,
siendo E
k+1
el error de discretizacin. Restando esta ltima expresin al
esquema numrico que aproxima a la ecuacin obtenemos:
y
k+1
u
k+1
. .
e
k+1
= y
k
u
k
. .
e
k
+h(g(h, t
k
, y
k
) g(h, t
k
, u
k
)) + E
k+1
.
Ahora tomamos valor absoluto
[e
k+1
[ [e
k
[ + h [g(h, t
k
, y
k
) g(h, t
k
, u
k
)[ +[E
k+1
[.
Asumamos que g(h, t, y) es continua en t y h, y lipschitziana en la variable
y con constante de Lipschitz L, que generalmente se relaciona con la
constante de Lipschitz para f. Entonces
[e
k+1
[ [e
k
[ + hL[y
k
u
k
[ +[E
k+1
[ = (1 + Lh)[e
k
[ +[E
k+1
[. (1.9)
Necesitamos el siguiente lema tcnico para continuar acotando el error.
13
Lema 1.7 Sea L > 0 una constante y sean a
k

N
k=0
y b
k

N
k=1
sucesiones no-negativas satisfaciendo
a
k+1
(1 + Lh)a
k
+ b
k+1
, k = 0, 1, . . . , N 1, h > 0.
Entonces se verica la desigualdad:
a
k+1
e
L(t
k+1
t
0
)
a
0
+
k

i=0
e
L(t
k+1
t
i+1
)
b
i+1
,
donde t
k
= t
0
+ kh, k = 0, 1, . . . , N.
Aplicamos el Lema 1.7 a nuestro caso particular; A = L, a
k
= [e
k
[ y
b
k
= [E
k
[, entonces:
[e
k+1
[ e
L(t
k+1
t
0
)
[e
0
[ +
k

i=0
L(t
k+1
t
0
)
..
e
L(t
k+1
t
i+1
)
[E
i+1
[
e
L(t
k+1
t
0
)
_
[e
0
[ +
N

k=1
[E
k
[
_
.
Si asumimos que el error inicial e
0
= 0 y que el mtodo es consistente de
orden p, concluimos que
[e
k+1
[ e
L(t
k+1
t
0
)
Ch
p
= K h
p
.
As pues, bajo hiptesis convenientes, hemos probado que si el esquema
numrico tiene orden p como medida de error local, entonces el error global
est acotado por un mltiplo de h
p
. En otras palabras, si suponemos que
no hay errores de redondeo ni error inicial, el valor calculado u
k
y la solucin
real y(t
k
) en el instante t
k
se puede acotar por:
[y(t
k
) u
k
[ K h
p
,
donde la constante K > 0 puede depender del tiempo t
k
y la solucin
particular y(t). En resumen, cuanto ms alto es el orden, ms preciso ser
nuestro esquema numrico, y el paso se puede elegir ms grande para
conseguir la precisin deseada a la solucin real. Sin embargo, a mayor
14
orden, se requieren mayores esfuerzos computacionales en cada paso. Luego
se debe tratar de equilibrar el orden del mtodo con la eleccin del paso de
forma que el balance total sea ptimo.
Como consecuencia, el siguiente resultado nos proporciona una cota
para el error en el mtodo de Euler en el caso de que no hayan errores
de redondeo, esto es, si suponemos que podemos realizar los clculos con
precisin innita.
Teorema 1.8 Sea F una funcin continua lipschitziana respecto
de la segunda variable, esto es, f(t, x)f(t, y) L[xy[ , con t [t
0
, t
0
+
], x, y R y donde L es una constante real positiva. Supongamos
adems que la solucin y es de clase (
2
en [t
0
, t
0
+] y que existe una
constante M > 0 tal que [y

(t)[ < M. Entonces


[y(t
k
) u
k
[
hM
2L
_
e
L(t
k
t
0
)
1
_
.
No obstante, sabedores de que la inuencia del error de redondeo puede
llegar a ser notable bajo ciertas circunstancias, sera interesante saber como
afectan los errores de redondeo al error global. En la prctica el anlisis
de la repercusin del error de redondeo es bastante complicado, pero en el
caso del mtodo de Euler y simulando la misma tcnica que se utiliza en
la demostracin del Teorema 1.8 se demuestra la siguinte acotacin.
15
Teorema 1.9 Sea f una funcin continua lipschitziana respecto
de la segunda variable, esto es, f(t, x)f(t, y) L[xy[ , con t [t
0
, t
0
+
], x, y R y donde L es una constante real positiva. Supongamos
adems que existe una constante M > 0 tal que [y

(t)[ < M, y que en


cada paso el error de redondeo al evaluar el mtodo de Euler es
k
.
Entonces
[y(t
k
) u
k
[
_
hM
2L
+

hL
_
_
e
L(t
k
t
0
)
1
_
+
0
e
L(t
k
t
0
)
,
donde es una cota superior de
k
y
0
es el error de redondeo del
dato inicial.
La lectura esencial de este resultado es que el error no est acotado
cuando h tiende a cero debido al factor

hL
. Por tanto los resultados obtenidos
son poco ables para pasos cuya longitud es menor que un cierto umbral.
El umbral viene dado por el valor de h que minimiza la expresin
hM
2L
+

hL
,
que tomando la primera derivada e igualando a cero obtenemos el valor
ptimo h

2
M
. En cualquier caso debe tenerse en cuenta que los errores
de redondeo afectan solamente cuando los pasos son muy pequeos.
Sistemas de ecuaciones
Consideremos ahora el sistema de ecuaciones bidimensional
dx
dt
= f (t, x, y) ,
dy
dt
= g (t, x, y) ,
x(t
0
) = x
0
, y (t
0
) = y
0
. (1.10)
Tanto la denicin de solucin como los resultados de existencia y
unicidad de soluciones son similares al caso de una ecuacin, por lo que
pasaremos directamente al estudio de los mtodos numricos.
16
Usando, al igual que antes
dx
dt
(t)
x (t + h) x(t)
h
,
dy
dt
(t)
y (t + h) y (t)
h
obtenemos el mtodo de Euler:
u
k+1
= u
k
+ hf (t
k
, u
k
, v
k
) ,
v
k+1
= v
k
+ hg (t
k
, u
k
, v
k
) ,
k = 0, 1, 2, ..., N 1,
donde u
k
x(t
k
) , v
k
y (t
k
) .
En el caso general de un sistema de n ecuaciones
dy
1
dt
= f
1
(t, y
1
, y
2
, ..., y
n
) ,
.
.
.
dy
n
dt
= f
n
(t, y
1
, y
2
, ..., y
n
) ,
y
1
(t
0
) = y
0
, y
2
(t
0
) = y
2
, ..., y
n
(t
0
) = y
n
,
. (1.11)
el esquema resultante sera el siguiente:
u
1,k+1
= u
1,k
+ hf
1
(t
k
, u
1,k
, ..., u
n,k
) ,
.
.
.
u
n,k+1
= u
n,k
+ hf
n
(t
k
, u
1,k
, ..., u
n,k
) ,
k = 0, 1, 2, ..., N 1.
Ejemplo 1.2 Resolvamos el sistema
x

= x + 2y,
y

= 3x + 2y
x (0) = 6, y (0) = 4,
en el intervalo [0, 0,04] con h = 0,02.
Solucin.-
u
1
= 6 + 0,02 (6 + 2 4) = 6. 28,
v
1
= 4 + 0,02 (3 6 + 2 4) = 4. 52,
17
u
2
= 6,28 + 0,02 (6,28 + 2 4,52) = 6. 586 4,
v
2
= 4,52 + 0,02 (3 6,28 + 2 4,52) = 5. 077 6.
Como la solucin exacta de este problema es x (t) = 2e
t
+ 4e
4t
, y (t) =
2e
t
+ 6e
4t
obtenemos que
x(0,04) = 2e
0,04
+ 4e
40,04
= 6. 615 622 362 ,
y (0,04) = 2e
0,04
+ 6e
40,04
= 5. 119 486 348.
Por tanto, el error cometido es:
Error =

(6. 586 4 6. 615 622 )


2
+ (5. 077 6 5. 119 486)
2
= 5. 107 10
2
.
En lo que respecta a las ecuaciones de orden dos
x

= f (t, x, x

)
estas se convierten en un sistema bidimensional mediante el cambio de
variable y = x

:
y

= f (t, x, y) ,
x

= y.
A partir de aqu empleamos los mtodos vistos para sistemas. En general,
podemos tranformar una ecuacin de orden n
y
(n)
= f
_
t, y, y

, ..., y
(n1)
_
en un sistema mediante los cambios de variable y
1
= y, y
2
= y

, y
3
= y

, ..., y
n
=
y
(n1)
:
y

1
= y
2
,
y

2
= y
3
,
.
.
.
y

n
= f (t, y
1
, y
2
, ..., y
n
) .
18
Ejemplo 1.3 Dado el problema
x

+ 4x

+ 5x = 0, x (0) = 3, x

(0) = 5
lo transformamos en
x

= y,
y

= 4y + 5x,
x (0) = 3, y (0) = 5.
1.2.2. Ejemplos de sistemas
El pndulo
Consideramos una bola de masa m atada de una varilla rgida de longitud
l y masa despreciable que pende del techo. Las varilla puede oscilar con
libertad sobre el plano vertical, pero sometida a la fuerza de la gravedad (ver
la gura 1.2). Consideraremos primero por simplicidad que la resistencia
del aire se puede despreciar.
La variable x es el ngulo entre la varilla y el eje vertical. La ecuacin
diferencial se puede obtener a partir del principio de la cantidad de movimiento
angular: la razn de cambio de la cantidad de movimiento angular es igual
al momento de la fuerza. Como
Cantidad de movimiento angular=ml
2
dx
dt
,
Momento de la fuerza=lF = lmg sin (x) ,
tenemos la ecuacin
ml
2
d
2
x
dt
2
= lmg sin (x) ,
d
2
x
dt
2
=
g
l
sin (x) .
Si lo transformamos en un sistema poniendo y = x

tendremos
dx
dt
= y,
dy
dt
=
g
l
sin (x) .
Los puntos jos son
y = 0, sin (x) = 0
(0, 0) , (, 0) , (2, 0) , ..., (n, 0) , ...
19
El punto (0, 0) es estable (se producen pequeas oscilaciones alrededor del
punto), mientras que (, 0) es inestable. Todos los dems son rplicas de
estos dos: (2n, 0) son estables y ((2n + 1) , 0) son inestables.
El diagrama de fases de este sistema, calculado usando el mtodo de
Euler (con g = 10, l = 50), se puede ver en la gura 1.3. Vemos que
alrededor de los puntos jos (2n, 0) existen soluciones peridicas. stas
corresponden al movimiento oscilatorio del pndulo, que aparecen cuando
la velociad inicial no es demasiado grande. En cambio, si la velocidad inicial
es grande, entonces el pndulo da vueltas completas, y el valor de la variable
x ya no est acotado.
Si tenemos en cuenta el rozamiento, entonces la ecuacin es la siguiente:
d
2
x
dt
2
=
g
l
sin (x) c
dx
dt
.
Transformada en sistema quedara
dx
dt
= y,
dy
dt
=
g
l
sin (x) cy.
Ahora las soluciones se comportan de manera bastante diferente. Al
haber disipacin de la energa (casi) todas las soluciones convergen en
espiral a uno de los puntos jos (2n, 0). Dependiendo de la velocidad
inicial (es decir, de la fuerza a la que hemos impulsado el pndulo) puede
dar varias vueltas antes de estabilizarse y comenzar a oscilar en torno a la
posicin de equilibrio.
Usando los parmetros g = 10, l = 50, c = 1 hemos calculado varias
soluciones por el mtodo de Euler.
En la gura 1.4 podemos ver la solucin correspondiente a las condiciones
iniciales x
0
= 2, y
0
= 2. En este caso vemos que el pndulo oscila perdiendo
energa alrededor del punto (0, 0).
En la gura 1.5 tenemos la solucin con condiciones iniciales x
0
= 0,
y
0
= 15. Al ser la velocidad inicial grande el pndulo da dos vueltas enteras
y despus comienza a oscilar perdiendo energa alrededor del punto de
equilibrio (4, 0) .
Finalmente, en la gura 1.6 las condiciones iniciales son x
0
= 0, y
0
= 40.
La velocidad inicial es tan grande que el pndulo da seis vueltas completas
20
antes de perder suciente energa y estabilizarse oscilando alrededor del
punto de equilibrio (12, 0) .
El sistema de Lorenz
El sistema de Lorenz es un modelo, bastante simplicado, del tiempo
atmosfrico, que fue desarrollado por el meteorlogo Edwar N. Lorenz.
El sistema es el siguiente:
_

_
dx
dt
= (y x) ,
dy
dt
= x y xz,
dz
dt
= z + xy,
donde , , son parmetros.
Se puede calcular sin dicultad que este sistema tiene tres puntos jos
dados por:
(0, 0, 0) ,
_

( 1),

( 1), 1
_
,
_

( 1),

( 1), 1
_
.
Este sistema tan simplicado no nos sirve para una prediccin real de
la temperatura atmosfrica. Sin embargo, se ha hecho famoso por otra
razn: dio pie a un nuevo campo de las matemticas llamada caos. Para
determinados parmetros del sistema, las soluciones de no parecen seguir
ningn patrn jo, formando curvas que giran alrededor de los puntos jos
del sistema. stas permanecen en una zona acotada alrededor de los puntos
jos, pero no permanecen mucho tiempo cerca de ninguno de ellos. Por
tanto, existe una regin del espacio que atrae todas las soluciones, pero la
dinmica dentro de esta regin no sigue una pauta ja, ni ningn patrn
reconocible. A sta se le ha llamado Atractor Extrao.
La caracterstica fundamental de los sistemas caticos es la sensibilidad
a las condiciones iniciales. Dicho sin mucha precisin, esto signica que,
dada cualquier condicin inicial, siempre existir otra condicin inicial, tan
cerca de ella como queramos, cuya solucin diverge de la primera.
Ejemplos de tales sistemas incluyen la atmsfera terrestre, las placas
tectnicas, los uidos en rgimen turbulento y los crecimientos de poblacin.
Usando el mtodo de Euler vamos a obtener algunas soluciones de este
sistema para estudiar su comportamiento.
21
Vamos a ver primero algunas soluciones correspondientes a los siguientes
parmetros:
= 10, = 10, =
8
3
.
Para estos parmetros no hay caos. Las soluciones numricas muestran
que las soluciones convergen a uno de los puntos jos a medida que el
tiempo avanza. En este caso los puntos jos son
(0, 0, 0) ,
_

24,

24, 9
_
,
_

24,

24, 9
_
.
Por, ejemplo, si las condiciones iniciales son x
0
= 1, y
0
= 0, z
0
= 2
obtenemos las soluciones que se ven en las grcas ?? y ??. Vemos que la
solucin converge al punto jo
_
24,

24, 9
_
.
Si probamos con una condicin inicial ms alejada, por ejemplo x
0
=
1, y
0
= 0, z
0
= 50 la solucin converge al mismo punto, como se ve en la
grca 1.7.
Si elegimos las condiciones iniciales x
0
= 10, y
0
= 1, z
0
= 3 la solucin
converge al punto jo
_

24,

24, 9
_
, como se ve en la gura 1.8.
El comportamiento que hemos visto en este ejemplo se mantiene mientras
el parmetro se eencuentra entre los siguientes valores
1 < < 24,74...
Si < 1, entonces todas las soluciones convergen al punto jo (0, 0, 0). En
cambio, si > 24,74..., entonces aparecen las trayectorias caticas.
Veamos las soluciones correspondientes a los siguientes parmetros:
= 10, = 28, =
8
3
.
Las proyecciones de la solucin correspondiente a las condiciones iniciales
x
0
= 1, y
0
= 0, z
0
= 1 se puede ver en las grcas 1.9, 1.10, 1.11.
En tres dimensiones la grca se puede ver en la gura 1.12.
Las soluciones presentan el mismo comportamiento aunque las condiciones
iniciales sean muy diferentes. Por ejemplo, si x
0
= 1, y
0
= 8, z
0
= 90 la
solucin en el plano XZ se ve en la gura 1.13. Se ve que la solucin nal
forma una gura parecida, que se encuentra en la misma zona.
22
Finalmente veremos algn ejemplo de la dependencia sensible a las
condiciones iniciales.
Vamos a coger la condicin inicial x
0
= 1, y
0
= 0,0001, z
0
= 1, que se
diferencia muy poco de la condicin x
0
= 1, y
0
= 0, z
0
= 1. En la guras 1.14,
1.15 podemos observar que las soluciones en ambos casos son distintas,
aunque se comportan de forma parecida en lo que respecta a la forma del
dibujo. Esto se ve mucho ms claro si comparamos una de las variables
en distintos momentos del tiempo. En la gura 1.16 podemos ver cmo
al principio las dos soluciones son muy parecidas, pero a partir de un
determinado momento las soluciones divergen y se comportan de forma
muy distinta. Podemos comparar los valores de las dos soluciones en la
siguiente tabla:
t x
0
(t) x
1
(t) Diferencia: x
0
(t) x
1
(t)
0,1 1,1475 1,1475 0
1 3,7134 3,7135 0,0001
5 8,2256 8,2239 0,0017
10 7,8278 7,8793 0,0514
12 3,2356 3,8000 0,5644
12,05 2,9522 3,7479 0,7957
12,2 4,9132 6,5235 1,6103
14 5,3422 8,4479 13,7901
20 2,9567 11,0626 14,0193
30 4,1114 3,0029 1,1085
35 1,3976 4,5331 5,9307
23
Figuras
Figura 1.2: Pndulo
24
2 0 2 4 6 8 10
2
1.5
1
0.5
0
0.5
1
1.5
2
x
d
x
/
d
t
Figura 1.3: Diagrama de fases del pndulo
1.3. El mtodo de Heun y el mtodo del punto medio
El mtodo de Euler funciona, pero tiene varios inconvenientes: es un
mtodo de baja precisin que necesita de pasos temporales muy pequeos
para alcanzar resultados aceptables, adems converge lentamente hacia la
solucin. Conocidas las limitaciones del mtodo de Euler vamos a presentar
una batera de esquemas numricos, comenzando por el mtodo de Heun,
que mejorarn gradualmente su eciencia. Una de las claves para disear
algoritmos ms sosticados es replantear el principio terico sobre el que
25
2 1.5 1 0.5 0 0.5 1 1.5
3
2
1
0
1
2
3
4
5
x
d
x
/
d
t
Figura 1.4: Pndulo con rozamiento, x
0
= 2, y
0
= 2
se sustenta el mtodo de Euler (que consista en la aproximacin de las
derivadas por diferencias nitas) por otro (equivalente) que intercambie la
derivacin por integracin. La prueba de la existencia y unicidad para una
ecuacin diferencial de primer orden se basa en su reformulacin como una
ecuacin integral, concretamente obtenemos el siguiente resultado.
26
0 2 4 6 8 10 12 14
4
2
0
2
4
6
8
10
12
14
16
x
d
x
/
d
t
Figura 1.5: Pndulo con rozamiento, x
0
= 0, y
0
= 15
Proposicin 1.10 La solucin y(t) del problema de valor inicial
y

(t) = f(t, y(t)), y(t


0
) = y
0
coincide con la solucin de la ecuacin integral
y(t) = y(t
0
) +

t
t
0
f(s, y(s))ds. (1.12)
27
0 5 10 15 20 25 30 35 40
5
0
5
10
15
20
25
30
35
40
x
d
x
/
d
t
Figura 1.6: Pndulo con rozamiento, x
0
= 0, y
0
= 40
La prueba de este resultado es una aplicacin inmediata del Teorema
Fundamental del Clculo, que se obtiene integrando ambos trminos de la
ecuacin diferencial:
y(t) y(t
0
) =

t
t
0
y

(s)ds =

t
t
0
f(s, y(s))ds.
Este resultado sugiere reconsiderar mtodos numricos que se centren
en la resolucin de la ecuacin integral. Hay numerosas razones por las que
se preere considerar la ecuacin integral (1.12) en lugar de la ecuacin
diferencial. En general, la derivacin tiene un comportamiento peor que
la integracin; en muchas ocasiones, la derivada de funciones con buenas
propiedades pueden tener un mal carcter, en cambio, las integrales de
28
1 0 1 2 3 4 5 6 7 8 9
0
5
10
15
20
25
30
35
40
45
50
x
z
Figura 1.7: Sistema de Lorenz, Proyeccin XZ, x
0
= 1, y
0
= 0, z
0
= 50, = 10, =
10, =
8
3
funciones que poseen un mal comportamiento se suavizan. Por otra parte,
observemos que la ecuacin integral no requiere de ninguna condicin inicial
adicional.
Partiremos de la ecuacin integral (1.12) en cada subintervalo [t
k
, t
k+1
]
y(t
k+1
) = y(t
k
) +

t
k+1
t
k
f(s, y(s))ds,
de tal forma que podemos calcular el valor de la solucin en el punto t
k+1
a
partir del valor en t
k
, ms la integral a lor largo del subintervalo. Obsrvese
que, en particular, si aproximamos la integral en cada subintervalo por la
regla del punto inicial

t
k+1
t
k
f(s, u(s))ds (t
k+1
t
k
)f(t
k
, y(t
k
)) = hf(t
k
, y(t
k
)),
29
10 9 8 7 6 5 4 3 2
3
4
5
6
7
8
9
10
11
12
13
x
z
Figura 1.8: Proyeccin XZ, x
0
= 10, y
0
= 1, z
0
= 3, = 10, = 10, =
8
3
obtenemos de nuevo la aproximacin numrica del mtodo de Euler
y(t
k+1
) y(t
k
) + hf(t
k
, y(t
k
)),
lo que arroja una reinterpretacin equivalente. Este punto de vista pone
en evidencia la tosquedad del mtodo de Euler, puesto que se utiliza una
aproximacin de la integral que geomtricamente representa el rea del
rectngulo de anchura h y altura f(t
k
, y(t
k
)), lejos sta de ser una estimacin
precisa de la integral. Es sabido por el lector que existen mtodos mucho
ms sosticados de integracin numrica que aplicados a este enfoque sin
duda proporcionarn algoritmos por lo menos ms precisos, estara por ver
si adems seran ms ecientes computacionalmente. Por el momento
comenzaremos por la aproximacin numrica que proporciona el mtodo
del trapecio, que aproxima la integral mediante el rea del trapecio que
se obtiene al unir los puntos f(t
k
, y(t
k
)) y f(t
k+1
, y(t
k+1
)),

t
k+1
t
k
f(s, y(s))ds
1
2
h(f(t
k
, y(t
k
)) + f(t
k+1
, y(t
k+1
))) .
30
20 15 10 5 0 5 10 15 20 25
30
20
10
0
10
20
30
x
y
Figura 1.9: Sistema de Lorenz, Proyeccin XY, x
0
= 1, y
0
= 0, z
0
= 1, = 10, =
28, =
8
3
La aproximacin del valor actualizado que obtenemos en este caso es:
y(t
k+1
) y(t
k
) +
1
2
h(f(t
k
, y(t
k
)) + f(t
k+1
, y(t
k+1
))) , (1.13)
lo que da lugar a un esquema implcito, puesto que el valor actualizado
y(t
k+1
) aparece en los dos trminos de la ecuacin. El principal problema
que encontramos con este algoritmo es que si la funcin f es complicada
puede quedar una ecuacin implcita compleja no lineal donde no sea
posible despejar explcitamente el valor y(t
k+1
). En ese caso debemos recurrir
a metodos numricos de resolucin de ecuaciones no lineales como el
mtodo de Newton, etc. Otra alternativa (que se conoce como mtodos
predictor-corrector) consiste en sustituir, en el lado derecho de la ecuacin (1.13),
el valor y(t
k+1
) por una aproximacin obtenida por otro mtodo explcito,
por ejemplo el de Euler,
y(t
k+1
) p
k+1
= y(t
k
) + hf(t
k
, y(t
k
)),
31
30 20 10 0 10 20 30
0
10
20
30
40
50
60
y
z
Figura 1.10: Sistema de Lorenz, Proyeccin YZ, x
0
= 1, y
0
= 0, z
0
= 1, = 10, =
28, =
8
3
y obtenemos nalmente la aproximacin
y(t
k+1
) u
k+1
= y
k
+
1
2
h[f(t
k
, y
k
) + f(t
k
+ h, p
k+1
)]
= y
k
+
1
2
h[f(t
k
, y
k
) + f(t
k
+ h, y
k
+ hf(t
k
, y
k
))]
El esquema numrico resultante es
u
k+1
= u
k
+
1
2
h[f(t
k
, u
k
) + f(t
k
+ h, u
k
+ hf(t
k
, u
k
))],
que lo podemos desglosar es dos etapas:
p
k+1
= u
k
+ hf(t
k
, u
k
),
u
k+1
= u
k
+
h
2
(f(t
k
, u
k
) + f(t
k+1
, p
k+1
)) .
Este esquema se conoce como el mtodo de Heun o mtodo de Euler
mejorado. Mediante este planteamiento hemos ganado que el mtodo sea
32
20 15 10 5 0 5 10 15 20 25
0
10
20
30
40
50
60
x
z
Figura 1.11: Proyeccin XZ, x
0
= 1, y
0
= 0, z
0
= 1, = 10, = 28, =
8
3
explcito, pero realmente mejoramos el orden de consistencia respecto al
mtodo de Euler?
Ejercicio 1.1 Probar que el mtodo de Heun es de segundo orden.
Notemos que si analizamos el error global nos aparecer, al igual que en
el mtodo de Euler, el sumando adicional

h
, donde es el error mximo de
redondeo en cada paso, por lo que para mantener el orden de convergencia
necesitamos que ch
3
. El valor de h ptimo ser de la forma h = Cte
1
3
.
Mediante la tcnica utilizada para obtener el mtodo de Heun es posible
elaborar innumerables esquemas numricos de acuerdo a dos formas de
actuacin:
Cambiando el mtodo numrico de aproximacin de la integral.
Empleando mtodos explcitos diferentes para la estimacin intermedia
de p
k+1
.
33
20
15
10
5
0
5
10
15
20
25
40
20
0
20
40
0
10
20
30
40
50
60
Figura 1.12: Sistema de Lorenz, x
0
= 1, y
0
= 0, z
0
= 1, = 10, = 28, =
8
3
Por ejemplo, consideremos ahora la regla del punto medio, que aproxima
la integral mediante el rea del rectngulo cuya altura es la imagen en el
punto medio t
k
+
h
2
del intervalo [t
k
, t
k+1
]

t
k+1
t
k
f(s, y(s))ds hf(t
k
+
h
2
, y(t
k
+
h
2
)).
De nuevo, estimamos el valor de y(t
k
+
h
2
) mediante el mtodo de Euler
y(t
k
+
h
2
) p
k+
1
2
= y(t
k
) +
1
2
hf(t
k
, y(t
k
)).
El esquema numrico resultante adopta la expresin
u
k+1
= u
k
+ hf(t
k
+
h
2
, u
k
+
1
2
hf(t
k
, u
k
)),
que se conoce como mtodo del punto medio y es un esquema de
segundo orden (comprubese).
34
20 15 10 5 0 5 10 15 20
0
10
20
30
40
50
60
70
80
90
x
z
Figura 1.13: Sistema de Lorenz, Proyeccin XZ, x
0
= 1, y
0
= 0, z
0
= 1, = 10, =
28, =
8
3
Ejemplo 1.4 Resolvamos
y

=
t y
2
y (0) = 1
en el intervalo [0, 2] con h = 1 y h =
1
2
.
Solucin.- La solucin exacta de este problema es y (t) = t 2 + 3e

t
2
.
Vamos a compararla con la aproximacin por el mtodo de Heun.
Solucin aproximada
1) h = 1 :
35
30 20 10 0 10 20 30
0
10
20
30
40
50
60
y
z
30 20 10 0 10 20 30
0
10
20
30
40
50
60
y
z
Figura 1.14: Sistema de Lorenz, Proyeccin YZ, = 10, = 28, =
8
3
,
x
0
= 1, y
0
= 0, z
0
= 1 versus x
1
= 1, y
1
= 0,0001, z
1
= 1
p
1
= 1 +
01
2
=
1
2
,
u
1
= 1 +
1
2
_
01
2
+
1
1
2
2
_
=
7
8
= 0,875,
p
2
= 0,875 +
10,875
2
= 0,937 5,
u
2
= 0,875 +
1
2
_
10,875
2
+
20,937 5
2
_
= 1. 171 875.
y (2) = 3e
1
= 1. 103 638,
Error = [1. 103 638 1. 171 875[ = 0,068 237.
2)h = 0,5 :
p
1
= 1 + 0,5
01
2
= 0,75,
36
20 15 10 5 0 5 10 15 20 25
0
10
20
30
40
50
60
x
z
25 20 15 10 5 0 5 10 15 20 25
0
10
20
30
40
50
60
x
z
Figura 1.15: Sistema de Lorenz, Proyeccin XZ, = 10, = 28, =
8
3
,
x
0
= 1, y
0
= 0, z
0
= 1 versus x
1
= 1, y
1
= 0,0001, z
1
= 1
u
1
= 1 +
0,5
2

_
01
2
+
0,50,75
2
_
= 0,843 75,
p
2
= 0,843 75 + 0,5
0,50,843 75
2
= 0,757 812 5,
u
2
= 0,843 75 +
0,5
2

_
0,50,843 75
2
+
10,757 812 5
2
_
= 0,831 054 687 5,
p
3
= 0,831 054 687 5 + 0,5
10,831 054 687 5
2
= 0,873 291 015 6,
u
3
= 0,831 054 687 5 +
0,5
2

_
10,831 054 687 5
2
+
1,50,873 291 015 6
2
_
= 0,930 511 474 6,
p
4
= 0,930 511 474 6 + 0,5
1,50,930 511 474 6
2
= 1. 072 883 606,
u
4
= 0,930 511 474 6 +
0,5
2

_
1,50,930 511 474 6
2
+
21. 072 883 606
2
_
= 1. 117 587 09.
Error=[1. 117 587 1. 103 638 [ = 0,013 949.
37
0 5 10 15 20 25 30 35
25
20
15
10
5
0
5
10
15
20
25
t
x
Figura 1.16: Sistema de Lorenz, = 10, = 28, =
8
3
,
x
0
= 1, y
0
= 0, z
0
= 1 versus x
1
= 1, y
1
= 0,0001, z
1
= 1
Comparacin de los errores:
Error (h = 1)
Error (h = 0,5)
=
0,068 237
0,013 949
= 4. 9.
Consideremos ahora el sistema de ecuaciones bidimensional
x

(t) = f (t, x, y) ,
y

(t) = g (t, x, y) ,
x(t
0
) = x
0
, y (t
0
) = y
0
.
.
38
El mtodo de Heun para a este sistema quedara de la siguiente forma:
q
k+1
= x
k
+ hf (t
k
, x
k
, y
k
) ,
p
k+1
= y
k
+ hg (t
k
, x
k
, y
k
) ,
x
k+1
= x
k
+
h
2
(f (t
k
, x
k
, y
k
) + f (t
k+1
, q
k+1
, p
k+1
)) ,
y
k+1
= y
k
+
h
2
(g (t
k
, x
k
, y
k
) + g (t
k+1
, q
k+1
, p
k+1
)) ,
k = 0, 1, 2, ..., N 1,
donde x
k
x(t
k
) , y
k
y (t
k
) .
En el caso general de un sistema de n ecuaciones
y
1
(t) = f
1
(t, y
1
, y
2
, ..., y
n
) ,
.
.
.
y
n
(t) = f
n
(t, y
1
, y
2
, ..., y
n
) ,
y
1
(t
0
) = y
0
, y
2
(t
0
) = y
2
, ..., y
n
(t
0
) = y
n
,
.
el esquema resultante sera el siguiente:
p
1,k+1
= y
1,k
+ hf
1
(t
k
, y
1,k
, ..., y
n,k
) ,
.
.
.
p
n,k+1
= y
n,k
+ hf
n
(t
k
, y
1,k
, ..., y
n,k
) ,
y
1,k+1
= y
1,k
+
h
2
(f
1
(t
k
, y
1,k
, ..., y
n,k
) + f
1
(t
k+1
, p
1,k+1
, ..., p
n,k+1
)) ,
.
.
.
y
n,k+1
= y
n,k
+
h
2
(f
n
(t
k
, y
1,k
, ..., y
n,k
) + f
n
(t
k+1
, p
1,k+1
, ..., p
n,k+1
)) ,
k = 0, 1, 2, ..., N 1.
Ejemplo 1.5 Resolvamos el sistema
x

= x + 2y,
y

= 3x + 2y
x (0) = 6, y (0) = 4,
en el intervalo [0, 0,04] con h = 0,02.
Solucin.-
q
1
= 6 + 0,02 (6 + 2 4) = 6. 28,
p
1
= 4 + 0,02 (3 6 + 2 4) = 4. 52,
39
x
1
= 6 +
0,02
2
(6 + 2 4 + 6,28 + 2 4,52) = 6. 293 2,
y
1
= 4 +
0,02
2
(3 6 + 2 4 + 3 6,28 + 2 4,52) = 4. 538 8,
q
2
= 6. 293 2 + 0,02 (6. 293 2 + 2 4. 538 8) = 6. 600 616,
p
2
= 4. 538 8 + 0,02 (3 6. 293 2 + 2 4. 538 8) = 5. 097 944,
x
2
= 6. 293 2 +
0,02
2
(6,293 2 + 2 4,538 8 + 6,600 616 + 2 5. 097 944) = 6. 614 873 04,
y
2
= 4. 538 8 +
0,02
2
(3 6. 293 2 + 2 4. 538 8 + 3 6. 600 616 + 2 5. 097 944) = 5. 118 349 36.
Como la solucin exacta de este problema es x (t) = 2e
t
+ 4e
4t
, y (t) =
2e
t
+ 6e
4t
obtenemos que
x(0,04) = 2e
0,04
+ 4e
40,04
= 6. 615 622 362 ,
y (0,04) = 2e
0,04
+ 6e
40,04
= 5. 119 486 348.
El error sera:
Error =

(6. 614 873 04 6. 615 622 )


2
+ (5. 118 349 36 5. 119 486)
2
= 1. 361 10
3
.
Ejercicio 1.2 Resolver la siguiente ecuacin diferencial por el mtodo de
Heun:
y

= t
2
y, y(0) = 1,
Realizar los siguientes pasos:
1. Tomar h = 0,2 y realizar dos pasos. Luego tomar h = 0,1 y realizar
cuatro pasos.
2. Comparar la solucin exacta y(t) = e
t
+t
2
2t+2 con las dos aproximaciones
en t = 0,4.
3. Se comporta el error global de las aproximaciones como se espera
cuando h se divide entre dos?
(Sol: a) h = 0,2, y (0,4) 0,69488; h = 0,1, y (0,4) 0,69094; b) Error(h =
0,2)=0.0052; Error(h = 0,1)=0.00126; c) S)
40
Ejercicio 1.3 El modelo matemtico de cierto circuito (condensador e
inductancia) es
Q

+ Q = sen(t) ,
Q(0) = 0, Q

(0) = 0,
donde Q(t) representa la carga en el momento t.
1. Usar el mtodo de Heun con h = 0,1 para determinar el valor de Q(0,2).
2. Calcular el error cometido sabiendo que la solucin exacta es:
Q(t) = sin (t)
1
2
t cos (t) .
(Sol: Q(0,2) 0,000998335, Q(0,2) = 0,001328, Error = 0,000 329 665 )
1.4. Mtodos explcitos de Runge-Kutta
El mtodo de Heun y el mtodo del punto medio son casos particulares
de una familia general de mtodos conocidos con el nombre de Runge-Kutta,
en honor a sus creadores Carle Runge y Martin Kutta a nales del siglo
XIX. La idea es generalizar los mtodos que hemos presentado de acuerdo
al siguiente esquema numrico general:
u
k+1
= u
k
+ h
m

i=1
a
i
f(t
k,i
, u
k,i
), (1.14)
donde cada t
k,i
denota un punto en el k-simo subintervalo [t
k
, t
k+1
] y u
k,i

y(t
k,i
) se interpreta como una aproximacin en el punto t
k,i
que se suele
calcular por una frmula similar ms simple del mismo tipo. Los parmetros
a
i
as como los parmetros que intervienen para calcular cada aproximacin
intermedia u
k,i
se elige de modo que el mtodo alcance el orden de consistencia
deseado.
Desarrollemos los principios tericos que fundamentan el mtodo.
Supongamos que tenemos la particin t
0
< t
1
< < t
N
= t
0
+ , y
deseamos calcular el valor actualizado de y en el punto t
k+1
basndonos
en la ecuacin integral
y(t
k+1
) = y(t
k
) +

t
k+1
t
k
f(s, y(s))ds. (1.15)
41
Consideremos una sucesin de puntos nodales en el subintervalo [t
k
, t
k+1
]
t
k
t
k,1
t
k,2
t
k,r
t
k+1
,
donde cada t
k,i
= t
k
+ c
i
h con 0 c
i
1, que actuarn como soporte para
las frmulas de integracin que utilicemos a lo largo del procedimiento.
Estimaremos la integral mediante una frmula de integracin sobre la
particin anterior. De acuerdo con la ecuacin integral (1.15), obtenemos
una aproximacin de la forma
y
k+1
y
k
+ h
r

i=1
a
i
f(t
k,i
, y
k,i
),
donde
i
= ha
i
son los pesos de la frmula de cuadratura, y y
k,i
son los
valores de y en el punto t
k,i
. Para estimar el paso intermedio y
k,i
tendremos
en cuenta, de nuevo, alguna otra frmula de integracin sobre los puntos
nodales que quedan a la izquierda,
y
k,i
= y
k
+

t
k,i
t
k
f(s, y(s))ds u
k,i
= y
k
+ h
i1

j=1
b
ij
f(t
k,j
, y
k,j
).
donde hb
i,j
son los nuevos pesos ortorgados a los puntos t
k,j
con 2 j i1.
Una vez elegidas las constantes a
i
, b
ij
y c
i
, obtenemos el esquema explcito
recursivo:
_

_
u
k,1
= u
k
,
u
k,2
= u
k
+ hb
21
f(t
k,1
, u
k,1
),
u
k,3
= u
k
+ hb
31
f(t
k,1
, u
k,1
) + hb
32
f(t
k,2
, u
k,2
),
.
.
.
.
.
.
u
k,r
= u
k
+ h

r1
j=1
b
rj
f(t
k,j
, u
k,j
),
u
k+1
= u
k
+ h

r
i=1
a
i
f(t
k,i
, u
k,i
), t
k,i
= t
k
+ c
i
h, 0 c
i
1.
(1.16)
Cuando queremos implementarlo en la computadora, conviene reescribir el
esquema (1.16) del siguiente modo:
_

_
k
1
= f(t
k,1
, u
k,1
) = f(t
k
+ c
1
h, u
k
),
k
2
= f(t
k,2
, u
k,2
) = f(t
k
+ c
2
h, u
k
+ hb
21
k
1
),
k
3
= f(t
k,3
, u
k,3
) = f(t
k
+ c
3
h, u
k
+ h(b
31
k
1
+ b
32
k
2
)),
.
.
.
.
.
.
k
r
= f(t
k,r
, u
k,r
) = f(t
k
+ c
r
h, u
k
+ h

r1
j=1
b
rj
k
j
),
u
k+1
= u
k
+ h(a
1
k
1
+ a
2
k
2
+ + a
r
k
r
) .
(1.17)
42
Utilizaremos la siguiente representacin matricial para las constantes
_
_
_
_
_
_
_
_
c
1
0 0 0
c
2
b
21
0 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
c
r
b
r1
b
r2
0
a
1
a
2
a
r
_
_
_
_
_
_
_
_
Denicin 1.11 El nmero r se denomina nmero de etapas del
mtodo.
Observacin 1.12
Habitualmente la constante c
1
suele ser 0, y en ese caso k
1
= f(t
k
, u
k
).
La funcin g(h, t
k
, u
k
) del trmino general (1.5) para el esquema de
Runge-Kutta es:
g(h, t
k
, u
k
) = a
1
k
1
+ a
2
k
2
+ + a
r
k
r
.
Debido a la facilidad, exibilidad y diversidad en cuanto en el diseo de
los esquemas numricos de Runge-Kutta segn los parmetros jados, estos
tienen un vasto alcance en una gran variedad de ecuaciones diferenciales
ordinarias, y son los ms populares y extendidos en el software computacional.
El objetivo cuando se disea un mtodo de Runge-Kutta es elegir las
constantes a
i
, b
ij
y c
i
adecuadas con el mnimo nmero de etapas posibles
para conseguir el orden de consistencia deseado. Si queremos conseguir
orden de consistencia 2 se necesitan al menos dos etapas, mientras que
si deseamos orden 4 necesitamos elaborar un mtodo de cuatro etapas.
Se puede probar que no existen mtodos de Runge-Kutta para los que el
nmero de etapas sea igual al orden del mtodo cuando el mtodo tiene
orden de consistencia mayor que 4. As, para un mtodo de orden 5 se
necesitan al menos r = 6 estapas; y para orden 7 al menos 10 etapas.
Como curiosidad, el mtodo de orden 10 con menos etapas es para r = 17.
A continuacin estudiamos los ms conocidos segn el nmero de etapas
y el orden de consistencia.
43
Mtodos de una etapa
La matriz general del mtodo de una etapa es
_
c
1
0
a
1
_
. El esquema
numrico general es
k
1
= f(t
k
+ c
1
h, u
k
),
u
k+1
= u
k
+ ha
1
k
1
= u
k
+ ha
1
f(t
k
+ c
1
h, u
k
),
de donde g(h, t
k
, y
k
) = a
1
k
1
= a
1
f(t
k
+ c
1
h, y
k
). Calculamos la derivada de
g(h, t
k
, y
k
) respecto de h:
g
h
(h, t
k
, y
k
) = c
1
f
t
(t
k
, y
k
).
Entonces f
(0)
(t
k
, y
k
) = g(0, t
k
, y
k
) cuando a
1
= 1. Adems f
(1)
(t
k
, y
k
) = 2
g
h
(0, t
k
, y
k
)
cuando c
1
= 1/2. En denitiva, cuando a
1
= 1 y c
1
= 0 obtenemos el mtodo
de Euler. Adems, el esquema tiene orden de consistencia 2 si
f
y
= 0 (la
funcin f solo depende del tiempo) y c
1
= 1/2.
Mtodos de dos etapas
La matriz general del mtodo es
_
_
_
c
1
0 0
c
2
b
21
0
a
1
a
2
_
_
_
.
El esquema numrico general es
k
1
= f(t
k
+ c
1
h, u
k
),
k
2
= f(t
k
+ c
2
h, u
k
+ hb
21
k
1
)
= hf(t
k
+ c
2
h, u
k
+ hb
21
f(t
k
+ c
1
h, u
k
),
u
k+1
= u
k
+ h(a
1
k
1
+ a
2
k
2
) = u
k
+ a
1
hf(t
k
+ c
1
h, u
k
)
+ a
2
hf(t
k
+ c
2
h, u
k
+ hb
21
f(t
k
+ hc
1
, u
k
)).
Por tanto,
g(h, t
k
, y
k
) = a
1
k
1
+ a
2
k
2
= a
1
f(t
k
+ c
1
h, y
k
) + a
2
f(t
k
+ c
2
h, y
k
+ hb
2,1
f(t
k
+ hc
1
, y
k
)),
Para obtener mtodos de orden de consistencia 2 debemos igualar los
coecientes de los desarrollos de Taylor, obteniendo las identidades
a
1
+ a
2
= 1, a
1
c
1
+ a
2
c
2
=
1
2
, a
2
b
21
=
1
2
.
44
Este sistema tiene 5 incgnitas y tan solo 3 ecuaciones, por lo que admite
innitas soluciones. Las soluciones particulares ms conocidas son:
Mtodo de Heun:
_
_
_
0 0 0
1 1 0
1/2 1/2
_
_
_
de donde resulta
k
1
= f(t
k
, u
k
), k
2
= f(t
k
+ h, u
k
+ hk
1
),
u
k+1
= u
k
+ h(
1
2
k
1
+
1
2
k
2
) = u
k
+
h
2
(f(t
k
, u
k
) + f(t
k
+ h, u
k
+ hf(t
k
, u
k
))) .
Mtodo del punto medio:
_
_
_
0 0 0
1/2 1/2 0
0 1
_
_
_
, que sustituyendo en el esquema
general se obtiene
k
1
= f(t
k
, u
k
), k
2
= f(t
k
+
h
2
, u
k
+
h
2
k
1
),
u
k+1
= u
k
+ hk
2
= u
k
+ hf(t
k
+
h
2
, u
k
+
h
2
f(t
k
, u
k
)).
Se puede probar que no existen constantes tales que el orden del mtodo
sea mayor que 2.
Mtodos de ms etapas
Podemos proseguir elaborando mtodos y escogiendo constantes adecuadas
para obtener la consistencia de mayor orden para un mismo nmero de
etapas. En la prctica, los mtodos de orden demasiado alto son bastantes
costosos computacionalmente debido a que hay que evaluar la funcin
demasiadas veces. Los mtodos de Runge-Kutta de orden cuarto son unos
de los integradores de paso jo ms utilizados en Ingeniera para obtener
resultados precisos en problemas sin demasiada complejidad. Sin duda, el
mtodo ms popular cuando todava se computaban los mtodos numricos
a mano viene dado en forma matricial por la matriz
M =
_
_
_
_
_
_
_
0 0 0 0 0
1/2 1/2 0 0 0
1/2 0 1/2 0 0
1 0 0 1 0
1/6 2/6 2/6 1/6
_
_
_
_
_
_
_
.
45
El mtodo desarrollado queda,
k
1
= f(t
k
, u
k
),
k
2
= f(t
k
+
h
2
, u
k
+
h
2
k
1
),
k
3
= f(t
k
+
h
2
, u
k
+
h
2
k
2
),
k
4
= f(t
k
+ h, u
k
+ hk
3
)
u
k+1
= u
k
+
h
6
(k
1
+ 2k
2
+ 2k
3
+ k
4
).
Ejemplo 1.6 Estimar el valor de la solucin de la ecuacin diferencial
y

= t + y, y(0) = 1
en el punto t = 0,2 mediante el mtodo de Heun de orden 2 y el mtodo de Runge-Kutta
de orden 4 utilizando un paso igual a h = 0,2.
Finalmente, si tenemos un sistema de ecuaciones diferenciales de la
forma
x

= f(t, x, y), y

= g(t, x, y),
x(0) = x
0
, y(0) = y
0
,
no resulta complicado adaptar el mtodo de Runge-Kutta:
_

_
k
1
= f(t
k
+ c
1
h, u
k
, v
k
),
l
1
= g(t
k
+ c
1
h, u
k
, v
k
),
k
2
= f(t
k
+ c
2
h, u
k
+ hb
21
k
1
, v
k
+ hb
21
l
1
),
l
2
= g(t
k
+ c
2
h, u
k
+ hb
21
k
1
, v
k
+ hb
21
l
1
),
k
3
= f(t
k
+ c
3
h, u
k
+ h(b
31
k
1
+ b
32
k
2
), v
k
+ h(b
31
l
1
+ b
32
l
2
)),
l
3
= g(t
k
+ c
3
h, u
k
+ h(b
31
k
1
+ b
32
k
2
), v
k
+ h(b
31
l
1
+ b
32
l
2
)),
.
.
.
.
.
.
k
r
= f(t
k
+ c
r
h, u
k
+ h

r1
i=1
b
ri
k
i
, v
k
+ h

r1
i=1
b
ri
l
i
),
l
r
= g(t
k
+ c
r
h, u
k
+ h

r1
i=1
b
ri
k
i
, v
k
+ h

r1
i=1
b
ri
l
i
),
u
k+1
= u
k
+ h(a
1
k
1
+ a
2
k
2
+ + a
k
k
k
),
v
k+1
= v
k
+ h(a
1
l
1
+ a
2
l
2
+ + a
k
l
k
).
(1.18)
La generalizacin a un sistema de m ecuaciones diferenciales es tediosa,
pero inmediata.
46
Ejercicio 1.4 Calcular la solucin en t = 0,5 de la ecuacin diferencial
y

= 2(tan t)y, y(0) = 1


mediante el mtodo de Runge-Kutta de cuarto orden usando h = 0,5 y
h = 0,25. Comparar los resultados obtenidos entre s y con la solucin exacta
y(t) = cos
2
t.
Ejercicio 1.5 Encontrar una solucin de un mtodo de tres etapas que
d lugar a un mtodo explcito de orden 3, con c
1
= 0, c
2
= c
3
y a
2
= a
3
.
Ejercicio 1.6 Realizar en MatLab una rutina tal que dada una funcin
f(t, y), un paso h, una condicin inicial y
0
y un mtodo de Runge-Kutta en
la forma matricial que lo caracteriza, ejecute el algoritmo de Runge-Kutta
N pasos.
Ejercicio 1.7 (Circuito de Chua)
dx
dt
=
_
y x + bx +
1
2
(a b) ([x + 1[ [x 1[)
_
,
dy
dt
= x y + z,
dz
dt
= y.
Estudiar numricamente (mediante el mtodo de Runge-Kutta con h =
0,001) distintas soluciones, variando los parmetros y las condiciones iniciales.
Ver cundo se produce un comportamiento catico.
Por ejemplo, el caos aparece con los siguientes parmetros:
= 9, =
100
7
, a =
8
7
, b =
5
7
,
x
0
= 0, y
0
= 0, z
0
= 0,6.
En cambio, si
= 3, =
100
7
, a =
8
7
, b =
5
7
,
x
0
= 0, y
0
= 0, z
0
= 0,6,
entonces las soluciones convergen a un punto jo en espiral.
Si
= 11, =
100
7
, a =
8
7
, b =
5
7
,
x
0
= 0, y
0
= 0, z
0
= 0,6,
entonces las soluciones son espirales que se van alejando del origen cada
vez ms (el mdulo tiende a innito).
47
Ejercicio 1.8 (Ecuacin de Dung)
x

+ cx

x + x
3
= Acos (t) .
En forma de sistema nos queda:
_
x

= y,
y

= x x
3
cy + Acos (t) .
Estudiar numricamente (mediante el mtodo de Runge-Kutta con h =
0,001) distintas soluciones, variando los parmetros y las condiciones iniciales.
Ver cundo se produce un comportamiento catico.
Por ejemplo, ver los siguientes casos:
1. c = A = 0. Las rbitas son trayectorias peridicas.
2. c = 0,2, A = 0. Las rbitas convergen en espiral a los puntos jos.
3. c = 0,2, A > 0, = 1.
Probar con distintos valores de A : 0,2, 2, 20, 100, 300. Ver cmo el caos
aparece. Primero hay trayectorias peridicas simples, luego se hacen
ms complicadas y despus aparecen trayectorias caticas.
Ejercicio 1.9 (Oscilador de Ueda)
x

+ cx

+ x
3
= Asen(t) .
En forma de sistema nos queda:
_
x

= y,
y

= x
3
cy + Asen(t) .
Estudiar numricamente (mediante el mtodo de Runge-Kutta con h =
0,001) distintas soluciones, variando los parmetros y las condiciones iniciales.
Ver cundo se produce un comportamiento catico.
Por ejemplo, ver los siguientes casos:
1. c = A = 0. Las rbitas son trayectorias peridicas.
2. c = 1, A = 0. Las rbitas convergen en espiral al punto jo (0, 0).
48
3. c = 0,05, A > 0.
Probar con distintos valores de A : 0,05, 0,4, 7,5, 20. Ver cmo el caos
aparece. Primero hay trayectorias peridicas simples, luego se hacen
ms complicadas y despus aparecen trayectorias caticas.
Ejercicio 1.10 (Atractor de Rossler)
_

_
x

= (y + z) ,
y

= x + 0,2y,
z

= 0,2 + xz cz.
Estudiar numricamente (mediante el mtodo de Runge-Kutta con h =
0,001) distintas soluciones, variando los parmetros y las condiciones iniciales.
Ver cundo se produce un comportamiento catico.
Por ejemplo, ver los siguientes casos:
1. c = 2,5. Las rbitas convergen a una trayectoria peridica.
2. c = 5, c = 5,7, c = 8, c = 100. Hay trayectorias caticas.
Captulo 2
Mtodos numricos para
ecuaciones en derivadas
parciales (EDPs)
En este captulo se desarrollan los mtodos numricos de resolucin de
la ecuaciones en derivadas parciales. En particular, se estudian los mtodos
explcito, implcito y de Crank-Nicholson, analizando el orden de precisin
en cada uno de ellos segn el tamao de los pasos espacial y temporal, as
como las condiciones de estabilidad que se requieren en cada caso.
2.1. Clasicacin de EDPs de segundo orden
Los modelos ms importantes de ecuaciones en derivadas parciales de
segundo orden que aparecen en las aplicaciones a la Fsica y a la Ingeniera
se clasican en tres tipos: elpticas, parbolicas e hiperblicas. Dada una
EDPs de segundo orden
av
xx
+ bv
xy
+ cv
yy
+ dv
x
+ ev
y
+ fv = g, (2.1)
diremos que (2.1) es:
Elptica: si b
2
4ac < 0. El ejemplo clsico de ecuacin elptica es el problema
de Poisson

2
v(x, y) = g(x, y), (x, y) , v[

= h,
donde
2
=
xx
+
yy
representa el operador laplaciano.
49
50
Parablica: si b
2
4ac = 0. El ejemplo clsico de ecuacin parablica es la
ecuacin del calor
v
t
(x, t) = Dv
xx
(x, t), D > 0,
Hiperblica: si b
2
4ac > 0. El ejemplo clsico de ecuacin hiperblica es
la ecuacin de ondas
v
tt
(x, t) = c
2
v
xx
(x, t).
2.2. Mtodos numricos para problemas parablicos
El ejemplo clsico de una ecuacin parablica sencilla y con mayor campo
de aplicacin en una dimensin es la ecuacin del calor o ecuacin de
difusin. El problema es encontrar la funcin v(x, t) (que puede representar
una temperatura, concentracin de una sustancia, etc.) que satisface el
problema
_

t
v(x, t) = D
xx
v(x, t), 0 < x < L, t > 0,
v(x, 0) = f(x), 0 x L, (Condiciones iniciales)
v(0, t) = (t), v(L, t) = (t), t 0 (Condiciones de frontera),
(2.2)
donde D es la constante de difusin y f(0) = (0) y f(L) = (0). La
ecuacin del calor aparece en los modelos matemticos relacionados con
problemas de difusin y Mecnica de Fluidos, y muchas de las propiedades
y comentarios que estudiaremos para ella se pueden trasladar a otras
ecuaciones parablicas.
Esta ecuacin modeliza la conduccin del calor en una barra cilndrica de
longitud L cuya seccin transvesal es uniforme, pequea y de un material
homogneo. La funcin v (x, t) mide la temperatura de la barra en cada
momento del tiempo t > 0 y en cada punto del espacio x [0, L]. D > 0
es una constante que depende de las caractersticas fsicas de la barra.
La solucin de esta EDPs se expresa en forma de serie para ciertos tipos
de condiciones iniciales f (x). Nuestro objetivo en este tema es desarrollar
mtodos numricos que permitan obtener la solucin del problema de forma
aproximada.
51
2.2.1. Mtodo explcito
Aplicaremos las frmulas de las diferencias nitas sobre los puntos de
una malla uniforme rectangular (x
j
, t
n
) con
x
j
= jh, j = 0, 1, 2, . . . , J + 1, t
n
= nk, n = 0, 1, 2, . . .
donde h = x es el tamao del salto en la variable x y k = t es el tamao
del paso temporal. Utilizaremos la notacin v
n
j
= v(x
j
, t
n
) y u
n
j
v(x
j
, t
n
)
para el valor exacto y la aproximacin numrica en el punto nodal (x
j
, t
n
),
respectivamente.
Puesto que la ecuacin del calor es una ecuacin de evolucin, una
primera aproximacin es plantearla como un esquema explcito de forma
progresiva en el tiempo, de modo que podamos calcular, para todo j, los
valores u
n+1
j
a partir de los valores en el instante de tiempo anterior u
n
j
.
Calculemos las frmulas en diferencias que utilizaremos para aproximar

t
v(x, t) y
2
xx
(x, t).
v
n+1
j
= v(x
j
, t
n
+ k) = v(x
j
, t
n
) + k
t
v(x
j
, t
n
) +
k
2
2

2
tt
v(x
j
,
n
)
= v
n
j
+ k(v
t
)
n
j
+
k
2
2
v
tt
(x
j
,
n
),
donde
n
(t
n
, t
n+1
). Por tanto:

t
v(x
j
, t
n
) = (v
t
)
n
j
=
v
n+1
j
v
n
j
k
+
k
2
v
tt
(x
j
,
n
). (2.3)
Por otra parte tenemos
v
n
j+1
= v
n
j
+ h(v
x
)
n
j
+
h
2
2
(v
xx
)
n
j
+
h
3
6
(v
xxx
)
n
j
+
h
4
24
v
xxxx
(
1
j
, t
n
),
v
n
j1
= v
n
j
h(v
x
)
n
j
+
h
2
2
(v
xx
)
n
j

h
3
6
(v
xxx
)
n
j
+
h
4
24
v
xxxx
(
2
j
, t
n
).
Sumando las dos identidades precedentes y despejando (v
xx
)
n
j
obtenemos la
frmula en diferencias centrada
(v
xx
)
n
j
=
v
n
j1
2v
n
j
+ v
n
j+1
h
2
+
h
2
12
v
xxxx
(
j
, t
n
). (2.4)
En virtud de las ecuaciones (2.3) y (2.4) llegamos a la identidad
(v
t
Dv
xx
)
n
j
=
v
n+1
j
v
n
j
k
D
v
n
j1
2v
n
j
+ v
n
j+1
h
2
+ R
n
j
, (2.5)
donde
R
n
j
=
k
2
2
v
tt
(x
j
,
n
)
h
2
12
v
xxxx
(
j
, t
n
) = O(k) + O(h
2
).
52
Teniendo en cuenta que v satisface la ecuacion (2.2) y despreciando los
trminos O(h
2
) y O(k), la frmula anterior sugiere el esquema en diferencias
nitas:
u
n+1
j
u
n
j
k
=
D
_
u
n
j1
2u
n
j
+ u
n
j+1
_
h
2
.
Observacin 2.1 Si v(x, t) es una solucin de la ecuacin en derivadas
parciales (2.2) y, por consiguiente, el lado izquierdo de la ecuacin (2.5) se
anula, entonces v(x, t) satisface la ecuacin en diferencias en primer orden
respecto de k y en segundo orden respecto de h. Por tanto, la ecuacin (2.5)
muestra la medida de aproximacin de la ecuacin en diferencias nitas a
la ecuacin en derivadas parciales (2.2). Pero debemos avisar que esto, en
general, no es una medida de aproximacin de la solucin de la ecuacin en
diferencias nitas a la solucin de la ecuacin en derivadas parciales, sino
que para ello se necesitan condiciones adicionales que presentaremos ms
adelante cuando realicemos el anlisis del error.
Podemos despejar u
n+1
j
explcitamente en trminos de los valores en el
paso temporal anterior
u
n+1
j
= u
n
j
+
Dk
h
2
(u
n
j1
2u
n
j
+ u
n
j+1
) = ru
n
j1
+ (1 2r)u
n
j
+ ru
n
j+1
,
donde r =
Dk
h
2
, j = 1, . . . , J y n = 0, 1, 2, . . .. Finalmente, imponiendo las
condiciones iniciales y las condiciones de frontera queda la ecuacin en
diferencias nitas:
_

_
u
n+1
j
= ru
n
j1
+ (1 2r)u
n
j
+ ru
n
j+1
, j = 1, 2, . . . , J, n = 0, 1, 2, . . . ,
u
0
j
= f(x
j
), j = 0, 1, . . . , J + 1,
u
n
0
= (t
n
) =
n
, u
n
J+1
= (t
n
) =
n
, n = 0, 1, 2, . . . .
(2.6)
Matricialmente podemos escribir el sistema recurrente anterior como
_
_
_
_
_
_
_
_
_
_
u
n+1
1
u
n+1
2
u
n+1
3
.
.
.
u
n+1
J1
u
n+1
J
_
_
_
_
_
_
_
_
_
_
=
_
_
_
_
_
_
_
_
_
_
_
1 2r r 0 0 0
r 1 2r r 0 0
0 r 1 2r r
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 r 1 2r r
0 0 r 1 2r
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
u
n
1
u
n
2
u
n
3
.
.
.
u
n
J1
u
n
J
_
_
_
_
_
_
_
_
_
_
+
_
_
_
_
_
_
_
_
_
_
r
n
0
0
.
.
.
0
r
n
_
_
_
_
_
_
_
_
_
_
,
que en forma compacta lo expresaremos por
u
(n+1)
= A u
(n)
+ b
(n)
,
53
donde u
(n)
, b
(n)
R
J1
y A R
JJ
. Obsrvese que la matriz A de coecientes
del sistema recursivo es tridiagonal.
Ejemplo 2.1 Hallar la solucin de la ecuacin del calor en el intervalo [0, T] = [0, 10]
para una barra de longitud L = 10 dado que la temperatura inicial es cero, D = 1 y que
v (0, t) = 100, v (10, t) = 50. Usar h = 2, k = 0,1.
Solucin.-
1) t = 0,1 :
u
1
1
= 0 +
0,1
4
(0 2 0 + 100) = 2. 5,
u
1
2
= 0 +
0,1
4
(0 2 0 + 0) = 0,
u
1
3
= 0 +
0,1
4
(0 2 0 + 0) = 0,
u
1
4
= 0 +
0,1
4
(50 2 0 + 0) = 1. 25.
2) t = 0,2 :
u
2
1
= 2,5 +
0,1
4
(0 2 2,5 + 100) = 4. 875,
u
2
2
= 0 +
0,1
4
(0 2 0 + 2,5) = 0,062 5,
u
2
3
= 0 +
0,1
4
(1,25 2 0 + 0) = 0,031 25,
u
2
4
= 1,25 +
0,1
4
(50 2 1,25 + 0) = 2. 437 5.
En el paso 99 obtenemos u
99
= (100, 68,5809, 45,8036, 36,3011, 39,3871, 50,0000).
De aqu:
100) t = 10 :
u
100
1
= 68,5809 +
0,1
4
(45,8036 2 68,5809 + 100) = 68. 796 9,
u
100
2
= 45,8036 +
0,1
4
(36,3011 2 45,8036 + 68,5809) = 46. 135 4,
u
100
3
= 36,3011 +
0,1
4
(39,3871 2 36,3011 + 45,8036) = 36. 615 8,
u
100
4
= 39,3871 +
0,1
4
(36,3011 2 39,3871 + 50) = 39. 575 2.
La solucin, a medida que el tiempo tiende a innito converge a la recta
que une los puntos de la frontera (0, 100) y (10, 50). En la siguiente tabla
y grcos podemos ver las soluciones numricas correspondientes a varios
momentos del tiempo:
54
2 4 6 8 10
20
40
60
80
100
Figura 2.1: Ecuacin del calor
x/t 0,1 5 10 50 100 150
0 100 100 100 100 100 100
2 2,5 53,4341 68. 796 9 89,5523 89,9963 89,99997
4 0 24,7168 46. 135 4 79,2755 79,9940 79,99995
6 0 17,4521 36. 615 8 69,2755 69,9940 69,99995
8 1,25 27,9807 39. 575 2 59,5523 59,9963 59,99997
10 50 50 50 50 50 50
2 4 6 8 10
20
40
60
80
100
Figura 2.2: Ecuacin del calor
55
En la siguiente tabla tenemos los resultados (para el momento T = 10)
de aplicar el mtodo con distintos pasos:
x h = 0,5, k = 0,1 h = 1, k = 0,5 h = 2, k = 0,1
0 100 100 100
2 68,9029 69,9181 68. 796 9
4 46,1479 47,6968 46. 135 4
6 36,4898 37,9302 36. 615 8
8 39,456 40,2958 39. 575 2
10 50 50 50
x h = 2, k = 2 h = 1, k = 1
0 100 100
2 71,875 100150
4 48,4375 99150
6 40,6250 71100
8 40,6250 52850
10 50 50
Vemos que en el caso de la ltima columna los resultados estn muy
lejos de los correctos. En la siguiente tabla podemos ver que un pequeo
desfase en el cumplimiento de la condicin tiene grandes consecuencias en
los resultados:
x
h = 0,5, k = 0,13
T = 10,01
h = 0,5, k = 0,125
0 100 100
2 13,5211 69,070
4 39,761 46,405
6 45,191 36,7316
8 9,085 39,598
10 50 50
2.2.2. Mtodo implcito
Los algoritmos implcitos se emplean para evitar los problemas de estabilidad
que hemos visto en el caso anterior. Estos permiten utilizar pasos espaciales
56
pequeos (para obtener mejor precisin) sin necesidad de usar un paso
temporal excesivamente pequeo.
Las aproximaciones que usaremos para las derivadas sern similares a
las de antes. La diferencia estriba en que la aproximacin la realizaremos
en el punto (x
j
, t
n+1
). Para la derivada temporal utilizaremos la diferencia
regresiva:
v
n
j
= v(x
j
, t
n+1
k) = v
n+1
j
k(v
t
)
n+1
j
+
k
2
2
(v
tt
)(x
j
,
n
),
donde
n
(t
n
, t
n+1
). Entonces,
(v
t
)
n+1
j
=
v
n+1
j
v
n
j
k
+
k
2
v
tt
(x
j
,
n
).
Para la aproximacin de la derivada segunda espacial se utilizar de nuevo
la diferencia central, pero evaluada en el punto (x
j
, t
n+1
), esto es,
(v
xx
)
n+1
j
=
v
n+1
j1
2v
n+1
j
+ v
n+1
j+1
h
2
+
h
2
12
v
xxxx
(
j
, t
n+1
).
As pues, obtenemos
(v
t
Dv
xx
)
n+1
j
=
v
n+1
j
v
n
j
k
D
v
n+1
j1
2v
n+1
j
+ v
n+1
j+1
h
2
+ O(k) + O(h
2
). (2.7)
Si tenemos en cuenta que v satisface la ecuacion (2.2) y despeciamos los
trminos O(h
2
) y O(k), la frmula anterior sugiere el esquema en diferencias
nitas
u
n+1
j
u
n
j
k
=
D
_
u
n+1
j1
2u
n+1
j
+ u
n+1
j+1
_
h
2
.
Mediante clculos similares al esquema explcito, llegamos a la siguiente
ecuacin en diferencias implcita:
_

_
ru
n+1
j1
+ (1 + 2r)u
n+1
j
ru
n+1
j+1
= u
n
j
, j = 1, 2, . . . , J, n = 0, 1, 2, . . . ,
u
0
j
= f(x
j
), j = 0, 1, . . . , J + 1,
u
n
0
= (t
n
) =
n
, u
n
J+1
= (t
n
) =
n
, n = 0, 1, 2, . . . .
(2.8)
Al escribir esta ecuacin en forma matricial obtenemos
_
_
_
_
_
_
_
_
_
_
_
1 + 2r r 0 0 0
r 1 + 2r r 0 0
0 r 1 + 2r r
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 r 1 + 2r r
0 0 r 1 + 2r
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
u
n+1
1
u
n+1
2
u
n+1
3
.
.
.
u
n+1
J1
u
n+1
J
_
_
_
_
_
_
_
_
_
_
=
_
_
_
_
_
_
_
_
_
_
u
n
1
u
n
2
u
n
3
.
.
.
u
n
J1
u
n
J
_
_
_
_
_
_
_
_
_
_
+
_
_
_
_
_
_
_
_
_
_
r(
n+1
)
0
0
.
.
.
0
r(
n+1
)
_
_
_
_
_
_
_
_
_
_
57
que la escribiremos por Q u
(n+1)
= u
(n)
+ b
(n+1)
.
Vemos pues que en cada paso n este mtodo requiere un nmero mayor
de operaciones que en el algoritmo explcito, ya que tenemos que resolver un
sistema de ecuaciones. Sin embargo, es importante observar que la matriz
Q es tridiagonal, lo que permite resolver el sistema de forma muy eciente.
Este tipo de sistemas requiere una cantidad de operaciones de orden O(J),
muy inferior al caso general, donde se necesita efectuar operaciones de
orden O(J
3
) . Por tanto, el incremento en el nmero de operaciones por paso
va a ser pequeo. Adems, como veremos ms adelante, este incremento
en la cantidad de operaciones se ve ampliamente compensado por el hecho
de que no vamos a necesitar imponer un paso temporal pequeo, por lo
que el cmputo global de operaciones va a resultar mejor que en el mtodo
explcito.
Un aspecto importante es saber si el sistema de ecuaciones obtenido
tiene una nica solucin. Eso lo sabremos al estudiar los valores propios de
la matriz Q, que son todos positivos. Por tanto, Q es invertible, el sistema
tiene una nica solucin y el mtodo se puede implementar correctamente.
Ejemplo 2.2 Hallar la solucin de la ecuacin del calor en el intervalo [0, T] = [0, 10]
para una barra de longitud L = 10 dado que la temperatura inicial es cero, D = 1 y que
v (0, t) = 100, v (10, t) = 50. Usar h = 2, k = 0,1.
Solucin.
Tenemos que r =
0,1
4
= 0,025, 1 + 2r = 1,05, u
j
0
= 100, u
j
5
= 50, r u
j
0
= 2,5,
r u
j
5
= 1,25.
1) t = 0,1 :
_
_
_
_
_
1,05 0,025 0 0
0,025 1,05 0,025 0
0 0,025 1,05 0,025
0 0 0,025 1,05
_
_
_
_
_
_
_
_
_
_
u
1
1
u
1
2
u
2
3
u
1
4
_
_
_
_
_
=
_
_
_
_
_
2,5
0
0
1,25
_
_
_
_
_
,
_
_
_
_
_
u
1
1
u
1
2
u
2
3
u
1
4
_
_
_
_
_
=
_
_
_
_
_
2. 382 32
5. 742 97 10
2
2. 972 89 10
2
1. 191 18
_
_
_
_
_
.
Observamos que, a diferencia del mtodo explcito, todos los valores de u han cambiado
y son distintos de cero ya en la primera iterada.
58
2) t = 0,2 :
_
_
_
_
_
1,05 0,025 0 0
0,025 1,05 0,025 0
0 0,025 1,05 0,025
0 0 0,025 1,05
_
_
_
_
_
_
_
_
_
_
u
1
1
u
1
2
u
2
3
u
1
4
_
_
_
_
_
=
_
_
_
_
_
4. 882 32
0,057 429 7
0,029 728 9
2. 441 18
_
_
_
_
_
,
_
_
_
_
_
u
1
1
u
1
2
u
2
3
u
1
4
_
_
_
_
_
=
_
_
_
_
_
4. 653 82
0,167 59
8. 770 87 10
2
2. 327 02
_
_
_
_
_
.
En el paso 99 obtenemos u
99
= (100, 68,3262, 45,47296, 36,0324, 39,23398, 50,0000). De
aqu:
100) t = 10
_
_
_
_
_
1,05 0,025 0 0
0,025 1,05 0,025 0
0 0,025 1,05 0,025
0 0 0,025 1,05
_
_
_
_
_
_
_
_
_
_
u
1
1
u
1
2
u
2
3
u
1
4
_
_
_
_
_
=
_
_
_
_
_
70. 826 2
45. 472 96
36. 032 4
40. 483 98
_
_
_
_
_
,
_
_
_
_
_
u
1
1
u
1
2
u
2
3
u
1
4
_
_
_
_
_
=
_
_
_
_
_
68. 544 1
45. 804 9
36. 345 8
39. 421 5
_
_
_
_
_
.
Al igual que en el anterior algoritmo, resumimos en la siguiente tabla las soluciones
numricas correspondientes a varios momentos del tiempo:
x/t 0,1 5 10 50 100 150
0 100 100 100 100 100 100
2 2. 382 32 52,9651 68. 544 1 89,5314 89,99595 89,99997
4 5. 742 97 10
2
24,5002 45. 804 9 79,2417 79,99345 79,99994
6 2. 972 89 10
2
17,3798 36. 345 8 69,2417 69,99345 69,99994
8 1. 191 18 27,8062 39. 421 5 59,5313 59,99595 59,99997
10 50 50 50 50 50 50
Los resultados son similares a los obtenidos con el mtodo explcito.
59
La gran ventaja de este mtodo en relacin al explcito reside en que es estable para
valores cualesquiera de k y h. Adems, el algoritmo es convergente con la misma rapidez
que el algoritmo explcito, es decir, de orden O(k + h
2
). Por tanto, podemos reducir el
tamao del paso h, y as obtener mejor precisin, sin necesidad de utilizar valores excesi-
vamente pequeos de k. De esta forma conseguimos una buena precisin sin aumentar de
forma inaceptable el nmero de operaciones.
Veamos ahora qu resultados se obtienen con los pasos h = 1, k = 1 y h = 0,5,
k = 0,13 :
x
h = 0,5, k = 0,13
T = 10,01
h = 1, k = 1
0 100 100
2 68,6343 67,4761
4 45,7749 44,2870
6 36,1806 34,9968
8 39,2908 38,6295
10 50 50
A diferencia del mtodo explcito, con estos parmetros obtenemos
resultados aceptables.
Aunque este mtodo presenta claras ventajas con respecto al anterior
sigue sin ser un mtodo completamente satisfactorio. La razn reside en
que, al ser el orden de convergencia O(k + h
2
), predomina el error temporal
sobre el espacial (al tener k menor orden), por lo que de poco nos sirve
disminuir el paso h con el objetivo de obtener mejor precisin. Fmonos
en que para conseguir precisin h
2
debemos escoger k h
2
, con lo que nos
aparece el mismo problema que en el algoritmo explcito. Veamos pues un
mtodo que no adolece de ninguno de estos problemas.
2.2.3. Mtodo de Crank-Nicholson
En el mtodo anterior hemos apreciado que el error en el discretizado era
de primer orden en k y de segundo orden en h. En este epgrafe trataremos
de encontrar un mtodo que mejore el anterior a segundo orden respecto de
k. Una idea para alcanzar este objetivo podra ser aproximar por la frmula
de diferencia central de dos puntos la derivada temporal
(v
t
)
n
j
=
v
n+1
j
v
n1
j
2k
+ O(k
2
).
60
La idea expuesta parece buena, pero desafortunadamente conduce a un
mtodo numrico que es siempre inestable, por lo que no ha de utilizarse
nunca. Parece que la diferencia progresiva es la ms adecuada, pero sta se
puede ver tambin como una diferencia centrada en el punto intermedio,
esto es,
(v
t
)
n+
1
2
j
= v
t
(x
j
, t
n
+
k
2
) =
v
n+1
j
v
n
j
k
+ O(
k
2
4
).
Ahora el problema reside en aproximar la derivada segunda espacial en
este punto intermedio t
n
+
k
2
. Estimaremos este valor utilizando una mezcla
ponderada de la derivada segunda en los nodos (x
j
, t
n
) y (x
j
, t
n+1
),
(v
xx
)
n+
1
2
j
= v
xx
(x
j
, t
n
+
k
2
) (1 )v
xx
(x
j
, t
n
) + v
xx
(x
j
, t
n+1
),
(1 )
v
n
j1
2v
n
j
+ v
n
j+1
h
2
+
v
n+1
j1
2v
n+1
j
+ v
n+1
j+1
h
2
,
donde [0, 1].
En denitiva la ecuacin en derivadas parciales (2.2) se discretiza en el
punto (x
j
, t
n
+ k/2) mediante el esquema numrico
u
n+1
u
n
j
k
= D(1 )
u
n
j1
2u
n
j
+ u
n
j+1
h
2
+ D
u
n+1
j1
2u
n+1
j
+ u
n+1
j+1
h
2
.
Se puede probar que cuando = 1/2, el error en la discretizacin (error de
truncacin) es de orden 2 en la variable temporal y de orden 2 en la variable
espacial, esto es, O(k
2
+ h
2
).
En ese caso el mtodo se denomina mtodo de Crank-Nicolson y
adquiere al forma
2(u
n+1
j
u
n
j
) = D
k
h
2
[(u
n
j1
2u
n
j
+ u
n
j+1
) + (u
n+1
j1
2u
n+1
j
+ u
n+1
j+1
)],
reordenando trminos e imponiendo las condiciones iniciales y de frontera
obtenemos el esquema numrico
_
_
_
ru
n+1
j1
+ 2(1 + r)u
n+1
j
ru
n+1
j+1
= ru
n
j1
+ 2(1 r)u
n
j
+ ru
n
j+1
, j = 1, . . . , J,
u
n+1
0
=
n+1
, u
n+1
J+1
=
n+1
, n 0, u
0
j
= f
j
, j = 0, 1, . . . , J, J + 1.
(2.9)
Matricialmente, el esquema anterior se escribe
61
_
_
_
_
_
_
_
_
_
_
_
2(1 + r) r 0 0 0
r 2(1 + r) r 0 0
0 r 2(1 + r) r
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 r 2(1 + r) r
0 0 r 2(1 + r)
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
u
n+1
1
u
n+1
2
u
n+1
3
.
.
.
u
n+1
J1
u
n+1
J
_
_
_
_
_
_
_
_
_
_
=
_
_
_
_
_
_
_
_
_
_
_
2(1 r) r 0 0 0
r 2(1 r) r 0 0
0 r 2(1 r) r
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 r 2(1 r) r
0 0 r 2(1 r)
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
u
n
1
u
n
2
u
n
3
.
.
.
u
n
J1
u
n
J
_
_
_
_
_
_
_
_
_
_
+
_
_
_
_
_
_
_
_
_
_
r(
n
+
n+1
)
0
0
.
.
.
0
r(
n
+
n+1
)
_
_
_
_
_
_
_
_
_
_
,
que de forma compacta se reescribe como
Q u
(n+1)
= Q
1
u
(n)
+ c
(n)
.
2.3. Estabilidad, consistencia y convergencia
Sea u
(n)
= (u
n
1
, u
n
2
, . . . , u
n
J
)
T
los valores nodales en el instante t
n
que se
obtienen al hacer correr un cierto esquema numrico
u
(n+1)
= Au
(n)
+ b
(n)
(2.10)
para obtener una aproximacin numrica de una EDPs. Consideremos
v
(n)
= (v
n
1
, . . . , v
n
J
)
T
los valores nodales en el tiempo t
n
de la solucin exacta
y denotemos por e
(n)
= u
(n)
v
(n)
el error cometido en la aproximacin
numrica. Diremos que el mtodo numrico es estable cuando |A
m
| est
uniformemente acotada para todo k y m vericando mk T. En otras
palabras, cuando la diferencia entre los valores aproximados y los reales
permanezcan acotados en todo nivel del tiempo.
El que un esquema numrico sea consistente con un problema de
contorno signica, que para pasos en la discretizacin sucientemente
pequeos, la solucin exacta del problema verica el esquema numrico con
un error tan pequeo como se desee. Finalmente, para que un esquema sea
62
convergente se debe vericar que para una discretizacin sucientemente
na, el error e
n
j
en cada nodo pueda hacerse tan pequeo como se quiera
en cualquier paso del tiempo.
Denicin 2.2 Un esquema en diferencias nitas de la
forma (2.10) que aproxima a una ecuacin diferencial en derivadas
parciales es un esquema convergente en el tiempo t si
|v
(n)
u
(n)
| 0,
cuando h, k 0, siempre y cuando (n + 1)k t. Diremos que la
convergencia es de orden (p, q) si
|v
(n)
u
(n)
| = O(h
p
) + O(k
q
).
Denicin 2.3 Un esquema en diferencias nitas de la
forma (2.10) es consistente a una ecuacin diferencial en derivadas
parciales si la solucin v(x, t) satisface
v
(n+1)
= Av
(n)
+ b
(n)
+ k
(n)
, donde |
(n)
| 0,
cuando h, k 0. Adems, se dice que es consistente de orden (p, q)
si
|
(n)
| = O(h
p
) + O(k
q
).
La cantidad |
(n)
| se denomina error de truncamiento o error de
consistencia.
Observacin 2.4 Tanto en la denicin convergencia como en la de
consistencia, la norma | | que utilizamos cambia conforme el paso h es
ms pequeo, puesto que el espacio de vectores nodales crece en dimensin.
63
Denicin 2.5 Diremos que un esquema numrico de la
forma (2.10) es estable si |A
m
| C, para todo k y n con mk T.
Consideremos un esquema en diferencias nitas dado matricialmente
por (2.10)
u
(n+1)
= Au
(n)
+ b
(n)
.
Supongamos que v = v(x, t) es una solucin exacta de ecuacin (2.2) que
satisface la ecuacin anterior salvo por un trmino (error residual) que
denotaremos por E
(n)
,
v
(n+1)
= Av
(n)
+ b
(n)
+ E
(n)
.
Restando las dos ecuaciones anteriores obtenemos
v
(n+1)
u
(n+1)
= A(v
(n)
u
(n)
) + E
(n)
.
Denimos el error global e
(n)
= v
(n)
u
(n)
, entonces:
e
(n+1)
= Ae
(n)
+ E
(n)
= A(Ae
(n1)
+ E
(n1)
) + E
(n)
= A
2
e
(n1)
+ AE
(n1)
+ E
(n)
= . . . . . .
= A
(n+1)
e
(0)
+
n

m=0
A
m
E
(nm)
.
Asumiremos dos condiciones: que no hay error inicial (e
(0)
= 0), y que
la norma de las potencias m-simas de la matriz A estn uniformemente
acotada, esto es, |A
m
| C (estabilidad):
|e
(n+1)
| = |
n

m=0
A
m
E
(nm)
|
n

m=0
|A
m
| |E
(nm)
|
C
n

m=0
|E
(m)
|.
Supongamos que nuestro esquema en diferencias nitas es consistente de
orden (p, q) con la EDPs. Entonces E
(m)
= k
(m)
, y para cada m = 0, 1, . . . , n
64
podemos encontrar una constante K
m
vericando |
(m)
| K
m
(h
p
+ k
q
).
Consideremos K(t) = max
0mn
K
m
. Por la propia construccin, se verica
que |
(m)
| K(t) para todo 0 m n, de donde concluimos:
|e
(n+1)
| Ck
n

m=0
|
(m)
| Ck(n + 1)K(t)(h
p
+ k
q
).
Pero cuando k 0 entonces k(n+1) t, y as conseguimos convergencia de
orde (p, q). En denitiva, hemos probado parcialmente el clebre teorema
de Lax, que enunciamos de manera simplicada.
Teorema 2.6 (Lax) Un esquema numrico en diferencias nitas
del tipo (2.10) consistente a una EDPs es convergente si, y solo si,
es estable.
Apndice A
Analisis numrico matricial
A.1. Normas vectoriales
Para introducir nociones de consistencia y convergencia es necesario
utilizar normas vectoriales con la nalidad de medir el error de la aproximacin.
Denicin A.1 Una norma en un espacio vectorial real V es una
aplicacin
| | : V R
vericando:
(1) |u| 0 para todo u V , y |u| = 0 si, y solo si, u = 0.
(Positividad).
(2) |u| = [[ |u|, para todo R y u V . (Homogeneidad).
(3) |u+v| |u|+|v|, para todo u, v V . (Desigualdad Triangular).
Para nuestros propsitos, consideraremos el espacio vectorial V = R
m1
y deniremos las normas ms utilizadas para tema que nos ocupa. Una
eleccin comn es la norma del supremo (o norma del innito), denotada
por | |

:
|u|

= sup
1im
[u
i
[.
65
66
Es fcil comprobar que se vercan todas las propiedades requeridas. En la
prctica es muy valioso obtener una cota de la norma del supremo, puesto
que en ese caso tenemos acotadas todas las componentes del error por
ella. Para algunos problemas, sin embargo, puede ser ms apropiado y fcil
de calcular cotas para otras normas. Son frecuentes las siguientes:
|u|
1
=
m

i=1
[u
i
[, (1-norma)
|u|
2
=

_
m

i=1
[u
i
[
2
, (2-norma o norma eucldea)
Ellos son casos particulares de una familia general de p-normas, denidas
por
|u|
p
=
_
m

i=1
[u
i
[
p
_
1/p
.
La norma del supremo se obtiene cuando hacemos tender p de la
p-norma.
Cuando se trata de comparar dos vectores, uno que representa los valores
nodales exactos de una funcin, y otro que representa valores aproximados,
(donde los nodos estn separados uniformemente por una longitud h > 0),
es mucho ms apropiado utilizar la norma
2,h
denida por
|u|
2,h
=

_
h
m

i=1
[u
i
[
2
.
Un hecho importante que relaciona todas estas normas es que son equivalentes.
Denicin A.2 Dos normas || y ||

se dice que son equivalentes


si existen constantes a, b > 0 tales que
a |u| |u|

b |u|, para todo u R


m1
De manera informal, la equivalencia viene a decir que si una sucesin de
vectores converge a 0 respecto de una norma cualquiera de ellas, entonces la
67
sucesin tambien converge a 0 respecto de todas las dems, y si una cierta
cantidad est acotada bajo una norma, automticamente est acotada bajo
todas las dems normas equivalentes (quizs cambie la cota). De hecho,
en dimensin nita, todas las normas son equivalentes.
A.2. Normas matriciales
Proposicin A.3 Sea || : R
m1
R una norma vectorial cualquiera
y denamos con el mismo nombre la aplicacin
| | : R
mm
R
A |A| := sup
uR
m1
|Au|
|u|
(A.1)
Entonces | | es una norma denida en el conjunto de las matrices
cuadradas R
mm
. Adems se verican las siguientes propiedades:
(a) |Au| |A| |u| para todo A R
mm
y u R
m1
.
(b) |AB| |A| |B| para todo A, B R
mm
.
Denicin A.4 Cualquier norma | | : R
mm
R inducida por una
norma vectorial mediante (A.1) se denomina norma matricial.
Denimos el radio espectral de una matriz A como
(A) = max
1jm
[
j
[ ,
donde
j
son los valores propios de A.
68
Proposicin A.5 Si (A) denota el radio espectral de una matriz A,
entonces para cualquier norma matricial || se verica la desigualdad
(A) |A|.
Prueba. El radio espectral se dene como el max [
1
[, . . . , [
m
[, donde
i
son los valores propios de A. Sea u R
m1
es vector propio asociado a un
valor propio
i
, entonces
[
i
[ |u| = |
i
u| = |Au| |A| |u|.
Dividiendo por |u| en la desigualdad anterior obtenemos que [
i
[ |A|
para todo i 1, . . . , m y, por tanto,
(A) = max [
i
[ |A|
.
Proposicin A.6 Para las normas vectoriales | |
1
, | |

y | |
2
obtenemos las siguientes normas matriciales:
(a) |A|
1
= max
1jm

m
i=1
[a
ij
[.
(b) |A|

= max
1im

m
j=1
[a
ij
[.
(c) |A|
2
=

(A
T
A).
69
Teorema A.7 Consideremos el sistema lineal recursivo
u
(n+1)
= A u
(n)
. (A.2)
Son equivalentes:
(I) La sucesin de vectores u
(n)
est uniformemente acotada en
norma para cualquier condicin inicial u
(0)
,
|u
(n)
| C
1
(= cte), para todo n N, u
(0)
R
m1
.
(II) Las potencias de A estn uniformemente acotadas,
|A
m
| C
2
(= cte), para todo m N.
En las condiciones equivalentes del teorema anterior, diremos que el
sistema recursivo (o la matriz A) es estable.
Teorema A.8 Si el radio espectral verica (A) 1, y A no tiene
valores propios defectivos (esto es, su multiplicidad algebraica es
diferente a la multiplicidad geomtrica) de mdulo 1, entonces la
matriz A es estable.
70
Teorema A.9 Una matriz tridiagonal de dimensin m m de la
forma
T =
_
_
_
_
_
_
_
_
_
_
_
b c 0 0 0
a b c 0 0
0 a b c
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0 a b c
0 0 a b
_
_
_
_
_
_
_
_
_
_
_
,
tiene valores propios

j
= b + 2c

a
c
cos(
j
m + 1
), j = 1, 2, . . . , m.

You might also like