Sei sulla pagina 1di 9

Captulo 6

Resolucin numrica de
problemas de contorno

6.1 Introduccin
Un problema de contorno para una ecuacin diferencial es aquel en el que a
la variable dependiente o incgnita se le exigen condiciones en dos o ms pun-
tos distintos. Nos centraremos en los problemas de contorno para ecuaciones
diferenciales lineales de segundo orden, es decir, problemas del tipo

y 00 = f (x; y; y 0 ); x 2 [a; b]; (6.1)

siendo [a; b] R y f : [a; b] R2 ! R, con condiciones del tipo

y(a) = ; y(b) = ; (6.2)

Del mismo modo que ocurre para problemas de valores iniciales, slo una
minora de ecuaciones lineales pueden resolverse mediante mtodos que apare-
cen en las obras dedicadas a su estudio. Por otro lado, no siempre es posible
explicitar una solucin que verique ciertas condiciones del tipo (6.2). Es por
ello que se hace necesaria, en la prctica la aplicacin de mtodos numricos
de resolucin aproximada.
Entre los ms conocidos y utilizados se encuentran el mtodo de tiro, el de
diferencias nitas, los mtodos de Ritz y Galerkin, o los mtodos tipo spline
entre los que destaca el mtodo de los elementos nitos.
En este captulo nos centraremos en los dos primeros: el mtodo de tiro y
el mtodo de diferencias nitas.
2 Captulo 6. Resolucin numrica de problemas de contorno

6.2 Existencia y unicidad de solucin


Consideremos el problema de contorno (6.1)(6.2). Nos proponemos estudiar,
en principio, bajo qu condiciones podemos asegurar la existencia y unicidad
de solucin para este problema. Especial atencin merecer el caso en el que
la ecuacin diferencial (6.1) sea lineal.
Para las demostraciones de los resultados que a continuacin enunciamos
as como para un estudio ms especializado en problemas de contorno y sus
mtodos numricos, pueden consultarse los libros de Keller[ ] y Burden[ ], entre
otros.
Sea D = [a; b] R2 y supongamos que f : D ! R verica las siguientes
condiciones:
@f @f
1. f , y son continuas en D,
@u @v
@f
2. > 0 para todo (x; u; v) 2 D,
@u
3. existe una constante M > 0 tal que

@f
M; 8 (x; u; v) 2 D:
@u

Entonces el problema (6.1)(6.2) tiene solucin nica.


En particular, como consecuencia de este teorema, se obtiene el siguiente
resultado para el caso en que la ecuacin diferencial (6.1) sea lineal, es decir,
si f (x; y; y 0 ) = p (x) y 0 + q (x) y + r (x), para x 2 [a; b].
Consideremos el problema de contorno

y 00 = p (x) y 0 + q (x) y + r (x) ; x 2 [a; b]


(6.3)
y (a) = ; y (b) = :

Si se verica que

1. p, q y r son continuas en [a; b] ;

2. q (x) > 0 para todo x 2 [a; b],

entonces el problema (6.3) tiene solucin nica.


6.3 Mtodo de tiro 3

6.3 Mtodo de tiro


Vamos es estudiar un mtodo de aproximacin de la solucin de un problema
de contorno lineal de la forma (6.3), o ms general, de la forma (6.1)(6.2), que
en las condiciones del corolario 6.2 o del teorema 6.2, respectivamente, existe
y es nica, mediante la resolucin de problemas de valores iniciales asociados
a los mismos.
Nos ocupamos en principio del problema lineal. Por tanto, consideremos
el problema de contorno (6.3) y supongamos que se verican las condiciones
del corolario 6.2. Asociados a este problema, consideremos los problemas de
valores iniciales
y 00 = p (x) y 0 + q (x) y + r (x) ; x 2 [a; b]
(6.4)
y (a) = ; y 0 (a) = 0:
y
y 00 = p (x) y 0 + q (x) y + r (x) ; x 2 [a; b]
(6.5)
y (a) = 0; y 0 (a) = 1:
Bajo las condiciones del corolario 6.2, los problemas (6.4) y (6.5) admiten
soluciones nicas, denidas en [a; b].
Supongamos que se verican las hiptesis del corolario 6.2. Sean y1 (x) e
y2 (x) las nicas soluciones de los problemas (6.4) y (6.5), respectivamente.
Entonces
y1 (b)
y (x) = y1 (x) + y2 (x) (6.6)
y2 (b)
es la nica solucin del problema (6.3).
Demostracin Bajo las hiptesis del corolario 6.2, se verica que y2 (b) 6= 0
y, por tanto, y (x) est bien denida por (6.6). Adems,

y1 (b) 00
y 00 = y100 + y2 :
y2 (b)
Teniendo en cuenta que y1 es la solucin de (6.4) e y2 lo es de (6.5), se sigue
que
y1 (b)
y 00 = p (x) y10 + q (x) y1 + r (x) + p (x) y20 + q (x) y2
y2 (b)
y1 (b) 0 y1 (b)
= p (x) y10 + y2 + q (x) y1 + y2 + r (x)
y2 (b) y2 (b)
= p (x) y 0 + q (x) y + r (x) :
4 Captulo 6. Resolucin numrica de problemas de contorno

Adems se verica que


y1 (b)
y (a) = y1 (a) + y2 (a) = ;
y2 (b)
y
y1 (b)
y (b) = y1 (b) + y2 (b) = :
y2 (b)
Luego y es la nica solucin de (6.3).
El mtodo de tiro para el problema de contorno (6.3) consiste, por tanto,
en hallar una aproximacin del problema de valores (6.4), otra del (6.5), y
construir la solucin y dada por (6.6), tal y como se indica en el siguiente
algoritmo:

ALGORITMO DEL MTODO DE TIRO LINEAL


Entrar p, q, r, a, b, ,
Hallar y1 como una aproximacin de la solucin de (6.4)
mediante un mtodo numrico para problemas de valores iniciales
Hallar y2 como una aproximacin de la solucin de (6.5)
mediante un mtodo numrico para problemas de valores iniciales
y1 (b)
y = y1 + y2
y2 (b)
Escribir y.

En los pasos segundo y tercero de este algoritmo se necesita incluir el


algoritmo de alguno de los mtodos de resolucin aproximada de problemas
de valores iniciales estudiados en el captulo anterior, tanto para el problema
(6.4) como para el (6.5). El error del mtodo de tiro para problemas lineales
vendr determinado por el error del mtodo de aproximacin empleado para
estos problemas de valores iniciales, ya que la construccin de la solucin del
primero es lineal con respecto a las soluciones de los otros dos.
Consideremos ahora el caso general de un problema de contorno de segundo
orden, no necesariamente lineal. Es decir, se trata del problema de contorno

y 00 = f (x; y; y 0 ) ; x 2 [a; b]
(6.7)
y (a) = ; y (b) = :

En este caso, la solucin del problema no puede expresarse como una com-
binacin lineal de las soluciones de dos problemas de valores iniciales, debido
a la no linealidad de f . Para hallarla har falta realizar un proceso iterativo.
6.3 Mtodo de tiro 5

Consideremos el problema de valores iniciales

y 00 = f (x; y; y 0 ) ; x 2 [a; b]
(6.8)
y (a) = ; y 0 (a) = m:

para un cierto valor de m dado, que indicar la pendiente de salida de la


solucin del problema (de ah el nombre de mtodo de tiro).
Sea y (x; m) la solucin de este problema. Coincidir con la solucin de
(6.7) si

y(b; m) = : (6.9)

Por tanto, se trata de resolver (en la variable m) esta ltima ecuacin,


para lo cual se puede aplicar cualquier mtodo numrico de los estudiados en
el captulo 2. Pero el empleo de un mtodo u otro necesitar de un mayor o
menor conocimiento de la solucin de (6.8) y, quiz, de alguna derivada, lo
cual puede hacer complicada su aplicacin.
Uno de los mtodos ms sencillos que se puede utilizar para resolver (6.9)
es el mtodo de la secante, para lo que se necesita dar dos valores iniciales, m0
y m1 , y hallar las siguientes aproximaciones mediante la iteracin

(y (b; mk 1 ) ) (mk 1 mk 2)
mk = mk 1 ; k 2: (6.10)
y (b; mk 1) y (b; mk 2 )

A continuacin, conocido el valor de mk en la iteracin ksima, se vuelve


a resolver el problema (6.8) para m = mk y, mediante (6.10) para k = k + 1,
obtener un nuevo valor de la pendiente del tiro m = mk+1 , reiterando el
proceso hasta que se verique un cierto criterio de parada.
La convergencia del mtodo de la secante, en condiciones adecuadas, ase-
gura la convergencia del mtodo de tiro no lineal.
Por tanto, el mtodo de tiro, usando el mtodo de la secante, consiste en
hallar una solucin aproximada de (6.7) mediante el siguiente algoritmo (en el
que la variable niter indica el nmero de iteraciones que deseamos realizar):
6 Captulo 6. Resolucin numrica de problemas de contorno

ALGORITMO DEL MTODO DE TIRO NO LINEAL (SECANTE)


Entrar f , a, b, , , m0 , m1 , niter
Hallar y (x; m0 ) una aproximacin de la solucin
de (6.8) para m = m0
Hallar y (x; m1 ) como una aproximacin de la solucin
de (6.8) para m = m1
Para k = 2; : : : ; niter
(y(b;mk 1 ) )(mk 1 mk 2 )
mk = mk 1 y(b;mk 1 ) y(b;mk 2 )
Hallar y (x; m1 ) como una aproximacin de la solucin
de (6.8) para m = mk
Escribir y (x; mniter ).

Anlogamente, se podra haber utilizado el mtodo de NewtonRaphson


para hallar una solucin aproximada de (6.9) en cada iteracin, pero la necesi-
dad de conocer la derivada de la solucin en la iteracin anterior lleva consigo
tener que resolver un nuevo problema de valores iniciales.

6.4 Mtodo de diferencias nitas


Los mtodos de tiro, tanto para problemas lineales como no lineales, presentan
problemas de inestabilidad. Para evitar esto se puede hacer uso de un mtodo
de diferencias nitas como los que describiremos a continuacin, que aunque
son menos precisos que el mtodo de tiro, presentan mayor estabilidad.
Estos mtodos se basan en la sustitucin de las derivadas que aparecen en
el problema de contorno por frmulas de derivacin numrica adecuadas, con
el orden de error deseado.
Para ello, sea N > 0 y consideremos en el intervalo [a; b] una particin
uniforme en N subintervalos, es decir, la particin de nodos
b a
xi = a + i; i = 0; : : : ; N:
N
Sean y0 , : : :, yN valores reales que suponemos que aproximan a y (x0 ), : : :,
y (xN ), siendo y (x) la solucin de un problema de contorno dado. Entonces,
se sabe que, para i = 1; 2; : : : ; N 1,
y (xi+1 ) y (xi 1)
y 0 (xi ) = + O h2 ;
2h
y (xi+1 ) 2y (xi ) + y (xi 1)
y 00 (xi ) = + O h2 ;
h2
6.4 Mtodo de diferencias nitas 7

y, por tanto,
yi+1 yi 1
y 0 (xi ) ' ;
2h
yi+1 2yi + yi 1
y 00 (xi ) ' :
h2
En el caso lineal, es decir, si consideramos el problema 6.3, efectuando las
aproximaciones antes indicadas, para cada uno de los nodos interiores de la
particin jada, se obtienen las igualdades

y0 = ;
yi+1 2yi + yi 1 yi+1 yi 1
2
= p (xi ) + q (xi ) yi + r (xi ) ; i = 1; : : : ; N 1;
h 2h
yN = :

que se pueden escribir en forma matricial como

Ay = b; (6.11)

donde y = (y1 ; y2 ; : : : ; yN 1 )T ,
0 1
2 + q 1 h2 1 + h2 p1
B 1 h p2 2 + q 2 h 2 1 + h2 p2 C
B 2 C
B .. .. .. C
B . . . C
B C
A=B .. .. .. C
B . . . C
B C
B .. .. C
@ . . 1 + h2 pN 2 A
h
1 2 pN 1 2 + q N 1 h2
(6.12)
y 0 1
r1 h2 + 1 + h2 p1
B r2 h 2 C
B C
B .. C
B . C
b=B
B ..
C:
C (6.13)
B . C
B C
@ r N 2 h2 A
rN 1 h2 + 1 h2 pN 1

habiendo utilizado la notacin pi = p (xi ), qi = q (xi ) y ri = r (xi ), i =


1; 2; : : : N 1.
Por tanto, el algoritmo es el siguiente:
8 Captulo 6. Resolucin numrica de problemas de contorno

ALGORITMO DEL MTODO DE DIFERENCIAS FINITAS LINEAL


Entrar p (x), q (x), r (x), a, b, ,
A = (0)(N 1) (N 1) , b = (0)(N 1) 1
Para i = 1; : : : ; N 1;
aii = 2 + h2 q (xi )
bi = h2 r (xi )
h
b1 = b1 + 1 + p (x1 )
2
bN 1 = bN 1 + 1 h2 p (xN 1 )
Para i = 1; : : : ; N 2
h
ai+1;i = 1 p (xi )
2
h
ai;i+1 = 1 + p (xi+1 )
2
Resolver Ay = b
Escribir y.

Obsrvese que la salida del algoritmo es el vector de incgnitas (y1 ; : : : ; yN 1 ).


Por otra parte, la resolucin del sistema Ay = b se puede hacer mediante el
mtodo de descomposicin LU para el caso de matrices tridiagonales.
Los siguientes resultados, cuya demostracin omitimos, establecen condi-
ciones sucientes tanto para la unisolvencia de este sistema lineal, como para
la determinacin de un orden de convergencia cuadrtico.
Supongamos que p; q y r son continuas en [a; b] y que p (x) > 0, para todo
2
x 2 [a; b]. Sea L = max jp (x)j. Si h < entonces el sistema tridiagonal
x2[a;b] L
(6.11)-(6.13) tiene una nica solucin.
Bajo las hiptesis del teorema anterior, sean y (x) la nica solucin de (6.3)
e y1 ; : : : ; yN 1 la nica solucin de (6.11)-(6.13). Si y 2 C 4 ([a; b]) entonces

yi = y (xi ) + O h2 ; i = 1; : : : ; N 1:

En el caso de un problema de contorno no lineal, ste se complica ya que el


sistema de ecuaciones que se obtiene razonando como para el caso lineal no es
lineal, por lo que deber resolverse mediante alguno de los mtodos numricos
de resolucin de sistemas de ecuaciones no lineales estudiados en el captulo 8,
como, por ejemplo, el mtodo de Newton.
Consideremos, por tanto, el problema de contorno no lineal (6.8). Apro-
ximando, de nuevo, las derivadas que aparecen por frmulas de derivacin
6.4 Mtodo de diferencias nitas 9

numrica adecuadas y considerando que y0 ; : : : ; yN son aproximaciones de


y(x0 ); : : : ; y(xN ), respectivamente, siendo y (x) la solucin de (6.8), siempre
que sta exista, se obtiene el siguiente sistema de ecuaciones, no necesaria-
mente lineales:

y0 = ;
yi+1 2yi + yi 1 yi+1 yi
=f xi ; yi ; ; i = 1; : : : ; N 1;
h2 2h
yN =

Aplicando el mtodo de Newton para su resolucin, se puede probar que


el mtodo es convergente de orden O h2 .

Potrebbero piacerti anche