Você está na página 1de 289

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

F. Antoine S.

A. Sangiacomo C.

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

MANUAL DE MTODOS NUMRICOS PARA LA SOLUCIN DE ECUACIONES DIFERENCIALES CON SOFTWARE


DR. NGEL SANGIACOMO CARAZAS

Universidad Nacional de San Agustn de Arequipa


MSC. FRANCIS ANTOINE SOUCHE

Universidad Nacional de San Agustn de Arequipa

F. Antoine S.

A. Sangiacomo C.

II

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Ttulo del Manual de donde se hace la prctica del captulo 3:

MANUAL DE MTODOS NUMRICOS PARA LA SOLUCIN DE ECUACIONES DIFERENCIALES CON SOFTWARE

Autores:

Dr. ngel Carlos Wilfredo Sangiacomo Carazas.


Profesor principal Departamento de Matemtica y Estadstica Facultad de Ciencias Naturales y Formales Universidad Nacional de San Agustn

Msc. Francis Antoine Souche


Profesor principal Departamento de Matemtica y Estadstica Facultad de Ciencias Naturales y Formales Universidad Nacional de San Agustn

Tercera edicin 2005 (reimpresin 2006) La presentacin y disposicin en conjunto de MANUAL DE MTODOS NUMRICOS PARA LA SOLUCIN DE ECUACIONES DIFERENCIALES CON SOFTWARE, son propiedad de los autores. Toda parte de este ensayo puede ser reproducida, archivada o transmitido en forma alguna o mediante algn sistema electrnico mecnico, de fotorreproduccin, memoria o cualquier otro con o sin la autorizacin expresa por escrito de los autores, incluye los programas didcticos y sus manuales que es totalmente libre. Derechos reservados en Lengua espaola 2005

Impreso en Arequipa Per 2005

F. Antoine S.

A. Sangiacomo C.

III

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

A Mis Hijos Miguel ngel Ivett Gianella Candelaria Jos Alejandro A Mi Madre Doa Manuel Candelaria

A Mis Alumnos De Los Cursos De Mtodos Numricos Y Anlisis Numrico A Todas Las Personas Que Gustan De Las Cosas Prcticas Y Efectivas

ngel Sangiacomo Carazas

F. Antoine S.

A. Sangiacomo C.

IV

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

F. Antoine S.

A. Sangiacomo C.

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

PREFACIO TERCERA EDICIN


En la tercera edicin de este MANUAL MTODOS NUMRICOS PARA LA SOLUCIN DE ECUACIONES DIFERENCIALES CON SOFTWARE se someti a modificaciones y agregados de algunos temas y se pone nfasis en la programacin que en la actual edicin se centra en el lenguaje DELPHI par aun desarrollo posterior de grandes programas y que sirvan par la enseanza y hasta para la solucin comercial en ingenieras, real taremos que la programacin fue efectuada directamente en aula y para fines didcticos y luego se de la parte utilitaria con algunos problemas de aplicacin directa a problemas de ingenieras. Marcando la diferencia sustancial de que sea hecho aqu. Tambin se ha rediseado la presentacin a dos columnas para que se ms prctico y manejable. Insistimos en que se intenta preparar al estudiante para resolver los problemas de Ecuaciones Diferenciales de donde vengan, con un poco o mucho esfuerzo, pero que sea resuelto, con el auxilio de conocimiento de anlisis numrico referente a este punto sobre las ecuaciones diferenciales, insistiendo que el planteamiento de una solucin tediosa debe ser llevada aun programa de computadora para as poder hacer las comparaciones (simulacin) dar las modificaciones y constrastaciones correspondientes. Debe quedar bien entendido, que no se trabaja en un paquete, sino en programacin (cdigos fuentes), para que el lector se adapte a repetir en una primera instancia los procesos de los mtodos numricos para la solucin de ecuaciones diferenciales y luego afrontar algunos problemas nuevos. El objetivo es lograr la solucin de: Primero de las ecuaciones diferenciales tpicas de los diferentes tipos de ecuaciones diferenciales. Segundo resolver los tipos especiales ( Galerkin , ) por mtodos aproximados analticos. Conseguir que el lector pueda probar, utilizar y mejorar los programas aqu existentes en la solucin de problemas referentes a mtodos numricos par ala solucin de ecuaciones diferenciales. Y adems facilitar al lector la realizacin de la programacin con un auxiliar de memoria electrnica (archivo en el disco compacto adjunto) para que pueda ahorrar tiempo y esfuerzo y as lograr avances directos. Presentar un conjunto de programas (de prueba) que resuelva las ecuaciones
F. Antoine S. A. Sangiacomo C.

VI

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

diferenciales ordinarias con valor en la frontera, por alguno de los conocidos mtodos de aproximacin numrica a su servicio y adems le brinde informacin grfica de al curva solucin. Presentar de manera moderna (en forma visual) a la luz de tcnica de resolucin rpida por ordenador de procesos iterativos en muy poco tiempo y adems que muestren los pasos intermedios en el peor de los casos. La reflexin es la de aplacar de alguna manera el concepto que se tiene de la Matemtica en la siguiente expresin Una herramienta tiene un carcter dinmico y debe servir para realizar algo y no simplemente para descubrir relaciones eternamente verdaderas, que refleja a un matemtico improductivo y que despus la generalizan a todos y hasta sobre la propia matemtica y peor aun a los estudiantes de carrera. El material terico esta ilustrado por numerosos ejemplos y figuras didcticas. Tiene problemas para la prctica de los estudiantes. Al fina de un ejercicio o de una demostracin se usa . Adems se tiene todos los programas para una solucin rpida. Tambin se presenta un sistema completo (programa Todo Clculo) para ejecutar en la computadora, todos los temas, creemos de forma muy prctica y directa. Se acompaa de un disco compacto. De otra parte se puede comunicar con nosotros por medio del correo electrnico  angel_sangaicomo@yahoo.com, a_sangaicomo_c@starmedia.com, atie@hotmail.com, donde gustosamente lo atenderemos para recibir sus sugerencias y tambin para poder resolver cuestiones sobre este manual. Cabe reiterar el agradecimiento a la Universidad Nacional de San Agustn de Arequipa, especialmente a la Escuela Profesional de Matemtica, donde podemos realizar de alguna manera esta idea.

Arequipa 2006 diciembre 20.

MsC. Angel Sangiacomo C.

MsC. Francis Antoine S.

E-Mail

angel_sangiacomo@yahoo.com angelsangiacomo@gmail.com

atie@hotmail.com

F. Antoine S.

A. Sangiacomo C.

VII

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

ndice

CAPTULO 1 Problema de valor inicial para ecuaciones diferenciales ordinarias Teora elemental de problemas de valor inicial Mtodo de aproximaciones sucesivas (mtodo de Picard) Mtodo de Euler Algoritmo de Euler Programa en Pascal Mtodo de las Serie de Potencias Mtodo de derivaciones sucesivas (Mtodo de Taylor) Mtodo de coeficientes indeterminados Mtodo de Runge-Kutta Mtodo de Runge-Kutta de Segundo Orden Mtodo del Punto Medio Mtodo de Heun Mtodo de Runge-Kutta de Tercer Orden Mtodo de Runge-Kutta de Cuarto Orden Algoritmo de Runge-Kutta de cuarto orden Programa en Pascal Error, Estabilidad y optimizacin del intervalo de la Retcula Apndice [Schaplygin y de series] CAPTULO 2 Solucin de Ecuaciones Diferenciales Ordinarias con valor inicial por Mtodos de alta Precisin Mtodo de Multipaso Mtodo de extrapolacin de Adams (cuarto orden) Programa en Pascal (Adams) Algoritmo del mtodo de Adams de cuarto orden Mtodo de Adams-Bashforth Mtodo de Adams-Moulton Mtodo de Milne Ecuaciones de orden mayor y sistemas de EDO Algoritmo de Runge-Kutta para sistemas de EDO de primer orden Programa en Pascal (solucin de sistemas por Runge-Kutta)
F. Antoine S.

1 1 1 5 7 9 10 14 14 16 18 19 19 19 20 20 22 22 25 27 39 39 39 40 43 44 46 47 47 50 52 55
A. Sangiacomo C.

VIII

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Estabilidad Apndice CAPTULO 3 Problema de valor de frontera para Ecuaciones Diferenciales Ordinarias El mtodo del disparo lineal Algoritmo de Disparo Lineal Programa en Delphi del Disparo Lineal Mtodo del Disparo para EDO no Lineal Algoritmo de Disparo No Lineal Programa en Pascal (Disparo no lineal) Mtodos de diferencias finitas para problemas lineales Solucin de sistemas por medio de tridiagonales Algoritmo de tridiagonales Algoritmo de Diferencias Finitas para el Problema Lineal Programa en Pascal (diferencias finitas) Problema EDO No Lineal con valores en frontera para diferencias finitas Primer mtodo de sustitucin sucesiva Segundo mtodo (llamado mtodo de Newton) Procedimiento en Pascal (Iteraciones de Newton) Mtodo de solucin de EDO no lineal por uso de solucin de sistemas no lineales Algoritmo de diferencias finitas no lineal (Newton) Programa en Pascal (diferencias finitas no lineal) Apndice CAPTULO 4 Solucin de ecuaciones diferenciales ordinarias con valor de frontera con aproximaciones por expresiones analticas Procedimiento de la colocacin Mtodos de los mnimos cuadrados Mtodo de Galerkin Mtodo de Rayleigh-Ritz Algoritmo segmentario lineal de Rayleigh-Ritz 113 Programa en Pascal del mtodo Rayleigh-Ritz Apndice [Mtodo de Ritz]
CAPTULO 5
F. Antoine S.

57 65 68 68 68 70 71 75 76 78 79 82 82 82 83 86 87 88 89 90 92 93 94 99

99 99 101 105 108

115 117
124
A. Sangiacomo C.

IX

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Soluciones numricas de ecuaciones diferenciales parciales Primera parte Clasificacin de las ecuaciones diferenciales parciales Presentacin de la solucin de EDP por operadores Ecuaciones Homogneas Reducibles Separacin de Variables EDP no homogneas Segunda Parte Condiciones iniciales y de frontera (contorno). Problema del valor inicial de Cauchy. Problema mixto. Enfoque correcto del problema mixto Problema de las condiciones de frontera para ecuaciones diferenciales del tipo elptico Primer problema de las condiciones de contorno Segundo problema de las condiciones de contorno Tercer problema de las condiciones de contorno Algunas observaciones sobre funciones armnicas. Unicidad de la solucin del problema de Dirichlet Propiedad I (Principio de mximo) Propiedad II (Unicidad de la solucin del problema de Dirichlet) Propiedad III (Correccin de problemas de Dirichlet) CAPTULO 6 Solucin de ecuaciones diferenciales parciales por diferencias finitas Ecuaciones diferenciales Parciales Elpticas Algoritmo de diferencias finitas para la ecuacin de Poisson Ecuaciones diferenciales parciales parablica El caso homogneo El caso no homogneo El caso progresivo Algoritmo de diferencias finitas Para EDP parablica progresivo Algoritmo de diferencias finitas Para EDP parablica regresivo Programa en Pascal de Regresivas y progresivas Algoritmo de diferencias finitas para la ecuacin diferencial parcial parablica para el caso Crank - Nicolson Ecuaciones diferenciales parciales hiperblica Programa en Pascal de regresivas para hiperblicas Apndice CAPTULO 7 Mtodos variacionales para la resolucin de problemas de condiciones de frontera Concepto de Funcional y de Operador Problema Variacional
F. Antoine S.

124 124 124 129 130 136 137 140 140 149 149 149 149 150 151 152 153 154 154 154 160 163 163 167 167 167 168 169 171 177 181 184 193

193 193 199


A. Sangiacomo C.

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Teorema Fundamental del Mtodo Variacional para la Resolucin de los Problemas de Condiciones de Frontera Transformacin del Problema de Condiciones de Contorno Lineal para una Ecuacin Diferencial Ordinaria de Segundo Orden en un Problema Variacional Problemas de las Condiciones de Frontera (Contorno) para la Ecuacin Diferencial de Poisson y de Laplace Conceptos Fundamentales del Mtodo de Ritz Mtodo de Ritz para el Problema de la Condiciones de Frontera Simple Aplicaciones del Mtodo de Ritz para la Solucin de Problemas de Condiciones de Frontera de Sturm Liouville Mtodo de Ritz para el Problema de Dirichlet

200

205 211 216 217 221 226

Apndice
Una aplicacin directa del captulo 4 para Elementos Finitos uni - dimensionales Introduccin al Mtodo de Elementos finitos bi - dimensional aplicando aproximaciones numrica Identificacin de parmetros en modelos de compartimentos Problema de degradacin

230
230 237 245 255

Bibliografa

266

F. Antoine S.

A. Sangiacomo C.

XI

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

F. Antoine S.

A. Sangiacomo C.

XII

Captulo 1

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

donde w = w( x) es la defleccin a una distancia x del extremo CAPTULO 1 izquierdo de la viga, y I, q, E, S e I representan, respectivamente, la longitud de la viga, la intensidad Objetivo: de la carga uniforme, el modulo Es estudia una ecuacin diferencial de primer orden con valor inicial, por mtodos aproximados y de la elasticidad, la fuerza por numricos. unidad de rea en los extremos y el momento de inercia central. 1.0. PROBLEMA DE VALOR Asociadas a esta ecuacin INICIAL PARA ECUACIONES diferencial hay condiciones dadas DIFERENCIALES ORDINA- por la suposicin de que no hay RIAS defleccin en los extremos de la viga w(0) = w(l ) = 0 . Un problema comn en ingeniera Esta se puede resolver fcilmente civil es el de la defleccin de una si E, S y q son constantes, pero si viga de seccin transversal son funciones de x el problema se rectangular, que esta sujeta a una complica enormemente y aqu es carga uniforme, mientras que los donde caben los mtodos extremos estn sujetos para que aproximados para hallar una solucin con cierto grado de no sufran ninguna defleccin. precisin.

1.1. Teora Elemental Problemas de Valor Inicial Figura 1.

de

Veamos la existencia, la unicidad y la estabilidad de una solucin.

La Ecuaciones Diferenciales Ordinarias que aproxima esta 1.1.1. Definicin Se dice que una funcin f (t , y) situacin fsica tiene la forma d 2w S qx satisface la condicin de = w + ( x l ) , 2 EI dx 2 EI Lipschitz para la variable y en un
F. Antoine S. A. Sangiacomo C.

Captulo 1

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

conjunto D = R 2 , si existe una Esta definicin es la que se constante L > 0 con la propiedad refiere a la convexidad de f (t , y ) . de que 1.1.4. Teorema siempre y cuando (t , y1 ), (t , y2 ) D . Supongamos que f (t , y ) est definida en un conjunto convexo 2 La constante L se llama una D R . Si existe una constante L > 0 tal que constante de Lipschitz para f. 1.1.2. Ejemplo Si
D = {(t , y ) 1 t 2, 3 y 4}

f (t , y1 ) f (t , y2 ) L y1 y2

f (t , y ) L , para todo (t , y ) D , (1) y

y entonces, f satisface la condicin f (t , y ) = t y , entonces para cada de Lipschitz en D para la variable y con constante L de Lipschitz. (t , y1 ), (t , y2 ) D
f (t , y1 ) f (t , y2 ) = t y1 t y2

1.1.5. Teorema D = {(t , y ) que = t y1 y2 2 y1 y2 . Supongamos a t b , < y < } , y que 1 t 2 (2 es el mximo de ). f (t , y ) es continua en D. Si f Por lo tanto, f satisface la satisface la condicin de condicin de Lipschitz en este Lipschitz en D para la variable y, problema con constante L = 2 , entonces el problema de valor por ejemplo inicial
f (2,1) f (2,0) = 2 1 2 0
= 2 1 0 2 1 = 2 .

y = f (t , y ) , a t b , y (a) = ,

1.1.3. Definicin tiene una solucin nica y (t ) 2 Se dice que un conjunto D R para a t b . es convexo si, siempre que (t1 , y1 ), (t 2 , y2 ) D , 1.1.6. Ejemplo ((1 )t1 + t 2 , (1 ) y1 + y2 ) D para cada , 0 1 .
F. Antoine S. A. Sangiacomo C.

Captulo 1

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Considere el problema de valor 1.1.7. Definicin inicial Se dice que el problema de valor inicial y = 1 + tsin (ty ) , 0 t 2 , dy = f (t , y ) , a t b , y (a) = , (2) y (0) = 0 . dt Manteniendo t constante y es un problema bien planteado aplicando el teorema del Valor si: Medio a la funcin i) existe una solucin nica, y (t ) , f (t , y ) = 1 + tsin (ty ) , para este problema; encontramos que siempre que ii) existen constantes positivas y1 < y 2 , existe un nmero q, y k, con la propiedad de que existe una nica solucin z (t ) , y1 < q < y 2 , tal que al problema f (t , q) f (t , y2 ) f (t , y1 ) = . t 2 cos(tq ) = y y2 y1 dz = f (t , z ) + (t ) , a t b , dt Por lo tanto, para toda y1 < y 2 , z (a ) = + 0 , (3)
f (t , y2 ) f (t , y1 ) = y2 y1 t 2 cos(tq )

con
z (t ) y (t ) < k ,

4 y2 y1 ,

y f satisface la condicin de Lipschitz para la variable y con siempre que 0 < y (t ) < . constante de L = 4 de Lipschitz. f (t , y ) Como adems, es Lo que especifica la ecuacin (3) 0t 2 y se acostumbra a llamar problema continua en < y < , el teorema 1.1.5 perturbado asociado al problema implica que para este problema original (2). de valor inicial existe una En el siguiente teorema se ven las condiciones para que un solucin nica. problema este bien planteado. Ahora pasamos a ver su 1.1.8. Teorema estabilidad.

para toda at b

F. Antoine S.

A. Sangiacomo C.

Captulo 1

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Supongamos

que Veamos lo afirmado lneas arriba. D = {(t , y) a t b , < y < } . El Consideramos el problema perturbado problema de valor inicial
dy = f (t , y ) , a t b , dt

dz = 1+ t z + , dt
(2)

0 t 1,
(5)

y (a ) = ,

z ( 0) = 1 + 0 .

est bien planteado si f es donde 0 y son constantes. Se demostrar que las continua y satisface la condicin puede de Lipschitz para la variable y en soluciones a las ecuaciones (4) y (5) son: el conjunto D. Aclaremos esto con el siguiente ejemplo.
y (t ) = e t + t

z (t ) = (1 + 0 )e t + t + ,

respectivamente. Es fcil verificar 1.1.9. Ejemplo Sea D = {(t , y ) 0 t 1 , < y < } que si < y 0 < , entonces z (t ) y (t ) = ( 0 )e t y consideremos el problema de valor inicial 0 + 1 e t 2 , dy = 1+ t y , 0 t 1, donde
dt

y (0) = 1 .

(4)

0 e t 1 ,

para toda t, con lo que se corrobora el resultado obtenido El teorema 1.1.4 hace ver que usando el resultado del teorema satisface la condicin de 1.1.8. Lipschitz en D para f (t , y ) = 1 + t y , con constante 1.1.10. Problemas L = 1 de Lipschitz. Como adems f es continua en D, el teorema 1. Use el teorema 1.1.4 si es 1.1.8 implica que la ecuacin (4) posible y mostrar que cada uno de los problemas de valor es un problema bien planteado. inicial tiene una solucin nica y encuentre su solucin.
F. Antoine S. A. Sangiacomo C.

Como

(1 + t y ) =1. y

Captulo 1

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

i) y = y cos(t ) , ii) y =
2 t

0 t 1 , y (0) = 1

y + t 2 et ,

1 t 2,

y (1) = 0

iii) y = 2.

2y 2 t + t e , 1 t 2 , y (1) = e 2 . t

diferenciales. Lleva el nombre de Picard. Sea dada la ecuacin:


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

Decir si las siguientes cuyo dominio es el rectngulo funciones f (t , y ) : R[ a ,b ] = { t t0 a, y y0 b} , es i) Satisface f una condicin de continuo y tiene una derivada Lipschitz en parcial respecto a y. Es necesario hallar la solucin de la ecuacin D = {(t , y ) 0 t 1, < y < } ? (1), que satisfaga la condicin ii) Determinar si se puede usar el inicial teorema 1.1.8 para demostrar (2) que el problema de valor t = t 0 , y (t 0 ) = y0 inicial Integrando ambos miembros y = f (t , y) , 0 t 1 , y (0) = 1 , desde t y t , obtenemos 0 y t est bien planteado. dy = f (t , y )dt
a) f (t , y ) = ty

b) f (t , y ) = t 2 y + 1
f (t , y ) = 4t ty y

c) f (t , y) = 1 y d)

o bien
y (t ) = y (t0 ) +
t t0

f (t , y )dt .

(3)

3. Probar el teorema 1.1.4 usando el teorema del Valor Medio a La ecuacin (1) se reemplaza por f (t , y ) , manteniendo t fija. la ecuacin integral (3) en la cual la funcin incgnita y est bajo el signo integral. La ecuacin 1.2. Mtodo de Aproximaciones integral (3) satisface la ecuacin Sucesivas (Mtodo de Picard) diferencial (1) y la condicin inicial (2). Este Mtodo apareci en la En efecto si t = t0 , t demostracin del teorema de y (t0 ) = y (t0 ) + f (t , y )dt = y0 . t0 existencia y unicidad de la solucin de las ecuaciones

F. Antoine S.

A. Sangiacomo C.

Captulo 1

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Remplazando en (3) la funcin y contiene el punto t0 , la sucesin del integrando por el valor y0 , { y (t )} converge hacia la funcin k obtenemos la primera y (t ) que sirve de solucin a la aproximacin ecuacin diferencial y = f (t , y ) y
y1 (t ) = y0 +
t t0

f (t , y0 )dt .

que

satisface y (t 0 ) = y0 .

la

condicin

Luego en la ecuacin (3) sustituimos y por el valor hallado El error del mtodo de Picard se y1 y obtenemos la segunda estima por la frmula aproximacin h n +1 n t y y0 L M , (4) y2 (t ) = y0 + f (t , y1 ) dt . (n + 1)! t
0

M = mx f (t , y ) para Continuando luego el proceso, donde (t , y ) R[ a , b ] y L es la constante de encontramos sucesivamente


y3 (t ) = y0 +
t t0
t t0

f (t , y2 )dt

Lipschitz para el dominio R[ a, b] , se da por L = mx f y (t , y ) . La magnitud h que determina el entorno t0 h t t 0 + h , se calcula la por
h = mn(a, b ), M
(5)

. .

. .

yn (t ) = y0 +

f (t , yn 1 )dt .

Ahora bien, formemos sucesin de funciones


y0 (t ) , y1 (t ) ,

, y n (t ) . veremos

Para formalizar siguiente teorema.

a y b son las fronteras del el dominio R. Nota: R[a,b] = { t t0 a, y y0 b} .

1.2.1. Teorema Supongamos que en el entorno 1.2.2. Ejemplo del punto (t0 , y0 ) la funcin f (t , y ) es continua y tiene una derivada Haciendo uso del mtodo de f (t , y ) (t , y ) . Picard, resolver la ecuacin = fy parcial acotada y y = t 2 + y 2 que diferencial Entonces en cierto intervalo, que
F. Antoine S. A. Sangiacomo C.

Captulo 1

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

satisface la condicin t 0 = 0 , y (t 0 ) = 0 . Solucin: Usando la ecuacin


y (t ) = y (t0 ) +
y = y0 +
t t0

inicial cualquier nmero real. Para efectos de precisar usaremos:


R[ a ,b ] = { t t0 0.5, y y0 1} ,

o
R[ a , b ] = {0.5 t 0.5, 1 y 1} .
t t0

f (t , y )dt

Entonces
M = mx f (t , y ) = mx(t 2 + y 2 ) = 1.25 , (t , y ) = mx(2 y ) = 2 . L = mx f y
b 1 = = 0.8 , M 1.25 b h = mn(a, ) = mn(0.5, 0.8) = 0.5 . M

(t 2 + y 2 )dt

o bien, teniendo en cuenta las Calculamos condiciones iniciales.


y=
t 0

(t 2 + y 2 )dt .

Obtenemos las aproximaciones Remplazando resulta: sucesivas:


y1 =
y2 =
t 0

en

la

frmula

t 0

(t +
2
2 )dt y1

2 y0 )dt

t 0

t3 (t )dt = 3
2

y y3 23 1.25

(0.5) 4 5 = . (4)! 192

(t +
2

t 0

2 t3 t3 t7 ; 2 + = + t dt 3 3 63

y3 =

t 0

(t +
2

2 y2 )dt

t 0

3 7 2 t t 2 t + 3 + 63 dt

La estimacin del error es muy aproximada; ya que el error real es mucho ms pequeo. 1.3. Mtodo de Euler

En este mtodo, es su derivacin Ahora estimamos el error de esta tan simple que puede usarse para ltima aproximacin con ayuda ilustrar las tcnicas involucradas de (4) en la construccin de algunas de n +1 h las tcnicas ms avanzadas, sin y y0 Ln M . (n + 1)! tener que usar la enorme cantidad de lgebra que acompaa a estas Como y = t 2 + y 2 es continua en construcciones. todo el plano, a y b pueden ser

t 3 t 7 2t11 t15 = + + + . 3 63 2079 59535

F. Antoine S.

A. Sangiacomo C.

Captulo 1

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

El objetivo del mtodo es obtener Con el teorema de Taylor se una aproximacin al problema de deriva el mtodo de Euler. y (t ) , la valor inicial bien planteado Supongamos que solucin nica de (1), tiene dos dy = f (t , y ) , a t b , derivadas continuas en [a, b] , de dt y (a) = . (1) tal modo que para cada i = 0, 1, 2, , N-1, y (ti +1 ) puede Por el momento no se obtendr escribirse como sigue: una aproximacin continua de la solucin y (t ) , sino que se y (ti +1 ) = y (ti ) + (ti +1 ti ) y ' (ti ) generarn aproximaciones de y en (ti +1 ti ) 2 + y ' ' ( qi ) (2) varios puntos, llamados puntos 2 de red, en el intervalo [a, b] . Una para algn nmero qi , donde vez que se obtenga la solucin aproximada en estos puntos, la ti qi ti +1 . solucin aproximada en otros Usando la notacin h = ti +1 ti , puntos se puede encontrar h2 y (ti +1 ) = y (ti ) + h y (ti ) + y (qi ) utilizando algunos de los 2 procedimientos de interpolacin. y (t ) satisface la Supondremos que los puntos de y, puesto que diferencial (1), red estn distribuidos ecuacin uniformemente sobre el intervalo reemplazando y = f (t , y ) 2 [a, b] . Esta condicin se puede y (ti +1 ) = y(ti ) + h f (ti , y(ti )) + h y(qi ) . 2 garantizar escogiendo un entero (3) positivo N y seleccionando los puntos de red {t0 , t1 , ...., t N } donde El mtodo de Euler construye wi = y (ti ) para cada i = 1, 2, , ti = a + ih N, donde
para cada i = 0, 1, 2, , N.

La distancia comn entre los puntos, de paso.


h= ba N

w0 =
wi +1 = wi + hf (ti , wi ) .
(4)

se llama tamao

La ecuacin (4) se llama la ecuacin de diferencias asociada con el mtodo de Euler.


A. Sangiacomo C.

F. Antoine S.

Captulo 1

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

1.3.1. Algoritmo de Euler


Paso 1: Definir y = f (t , y ) Paso 2: Entrar a, b, y N
{Valor del intervalo y condicin} {inicial y nmero de pasos de la red}

Paso 3: Hacer h = (b a) / N t=a; w = ; Paso 4: Para i = 1 hasta N hacer Paso 5: w = w + hf (t , w)

1.3.2. Ejemplo Resolver la siguiente ecuacin diferencial ordinaria con N = 10 y valor inicial:
y + y = 1 + t , 0 t 1 , y (0) = 1 .

{clculos iterados de los

Como N = 10 resulta h = 0.1 y los ti = 0.1 i . Para tener una interpretacin Aplicamos las frmulas (4) y el geomtrica del mtodo de Euler algoritmo de Euler dado lneas hagamos yi = y (ti ) y observando arriba: que cuando wi es una buena f (t , y ) = 1 + t y , aproximacin de yi , la suposicin Sea de que el problema est bien w0 = y (0) = 1 definido implica: wk +1 = wk + h(1 + t k wk ) , f (ti , wi ) = y(ti ) = f (ti , y (ti )) . si k = 0 , tenemos: Observando un paso del mtodo aparece como se muestra en la figura 2 y varios pasos en la figura 3.

Paso 6: t = a + ih {avanza el paso} Paso 7: Publicar (t , w) Paso 8: Parar.

wi

Solucin:

Figura 2.
F. Antoine S. A. Sangiacomo C.

Captulo 1

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Figura 3.

w1 = w0 + h(1 + t0 w0 )

w1 = 1 + 0.1(1 + 0 1) = 1 ,

para k = 1 resulta:
w2 = w1 + h(1 + t1 w1 )

w2 = 1 + 0.1(1 + 0.1 1) = 1.01 ,

Memo1: TMemo; SpeedButton1: TSpeedButton; SpeedButton2: TSpeedButton; CheckBox1: TCheckBox; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; procedure SpeedButton1Click(Sender: TObject); procedure SpeedButton2Click(Sender: TObject); procedure Datos; Procedure Calculo; procedure FormCreate(Sender: TObject); end; _r = double; _i = integer; _s = string; var Form1_Euler: TForm1_Euler; implementation

y as sucesivamente como se {$R *.DFM} muestra en la tabla 1. var Fun_x, Sx1 : _s; Lim_A, Lim_B, Y0 :_r;
ti
0.000000 0.100000 0.200000 0.300000 0.400000 0.500000 0.600000 0.700000 0.800000 0.900000 1.000000

Nn : _i;

wi
1.0000000000 1.0000000000 1.0100000000 1.0290000000 1.0561000000 1.0904900000 1.1314410000 1.1782969000 1.2304672100 1.2874204890 1.3486784401

function ff(t, y:_r):_r; begin // AQU CAMBIAR LA ECUACION DIFERENCIAL ff:=1+t-y; end; procedure TForm1_Euler.SpeedButton1Click(Sender: TObject); begin Datos; Calculo; end; procedure TForm1_Euler.Datos; begin // Datos Lim_A:=strToFloat(Edit1.text); Lim_B:=strToFloat(Edit2.text); Nn :=StrToInt(Edit3.text); y0 :=strToFloat(Edit4.text); end; Procedure TForm1_Euler.Calculo; var r1, W, h :_r; i : _i; begin Memo1.Lines.Add(' Mtodo de Euler '); sx1:=' F ( x ) = '+Fun_x+#13#10; sx1:=sx1+' a = '+Edit1.text+#13#10+' b = ' +Edit2.text+#13#10; sx1:=sx1+' N = '+Edit3.text; Memo1.Lines.Add(sx1); h:= (Lim_b-Lim_a)/Nn; w:= Y0; sx1:=' t = '+FloatToStrF(Lim_a,ffGeneral, 8,15); sx1:=sx1+' w = '+' '+ FloatToStrF(w,ffGeneral, 10,15); if CheckBox1.Checked then Memo1.Lines.Add(sx1); for i:=1 to Nn do //ejecuta Euler wn+1:= wn+h* f(tn,wn); begin r1:=Lim_a+(i-1)*h; sx1:=' t = '+ FloatToStrF(r1+h,ffGeneral, 8,15); w := w + h * ff(r1, w); sx1:=sx1+' w = '+' ' +FloatToStrF(w,ffGeneral, 10,15); if CheckBox1.Checked then Memo1.Lines.Add(sx1); end;
A. Sangiacomo C.

Tabla 1.

1.3.3.

Programa en Delphi Pascal

unit Eulwr_x1; interface uses Windows, Messages, SysUtils, Classes, Forms, Graphics, Controls, Dialogs, StdCtrls, Buttons; type TForm1_Euler = class(TForm) Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Edit4: TEdit;
F. Antoine S.

10

Captulo 1

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

if not CheckBox1.Checked then Memo1.Lines.Add(sx1); end; procedure TForm1_Euler.SpeedButton2Click(Sender: TObject); begin Close; end; procedure TForm1_Euler.FormCreate(Sender: TObject); begin Memo1.Clear; end; end.

para cada i = 0, 1, 2, , k. entonces


t t ai +1 e(i +1) s ( s + a0 ) s .

Prueba:

Para obtener una cota del error Fijando i recursivamente tenemos para el mtodo de Euler es ai +1 (1 + s )ai + t conveniente introducir primero (1 + s )[(1 + s )ai 1 + t ] + t los siguientes lemas de clculo. . . . . . .
(1 + s ) a0 + [1 + (1 + s ) + 1.3.4. Lema + (1 + s ) 2 + ... + (1 + s )i ] t . Para toda x 1 para cualquier m positiva se cumple Pero dentro del corchete es una 0 (1 + x) m e mx . (5) progresin geomtrica y su suma
i +1

Prueba:
x 2 e q , es una Sabemos 1 + x + 1 2 buena aproximacin lineal de Taylor, si x0 = 0 , 0 < q < 1 .

es
1 + (1 + s) + (1 + s) 2 + ... + (1 + s )i =
i +1
p =0

(1 + s) j

1 (1 + s ) =1 [(1 + s )i +1 1] . s 1 (1 + s )

Entonces 0 1 + x 1 + x + x e ,
1 2 2 q

Resultando

t t ai +1 (1 + s )i +1 s + a0 s ,

de donde por ser 0 1 + x , puesto y usando el Lema 1.3.4 para s en que x 1 se concluye vez de x, el lema queda m mx 0 (1 + x) e . demostrado. Ahora estamos expeditos para 1.3.5. Lema Si s y t son reales positivos, tratar una cota de error. { ai }ik= 0 es una sucesin que 1.3.6. Teorema satisface a0 t / s , y
ai +1 (1 + s )ai + t ,
F. Antoine S.

(6)
A. Sangiacomo C.

11

Captulo 1

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Sea y(t) la solucin nica al Restando y aplicando desigualdad problema de valor inicial bien triangular nos queda: planteado
y = f (t , y ) ,

a t b,

y (a) = ,

yi +1 wi +1 yi wi

+ h f (ti , yi ) f (ti , wi ) y sean w0 , w1 , , wN las h2 aproximaciones generadas por el + y ' ' (qi ) 2 mtodo de Euler para algn entero positivo N. Suponiendo que f satisface la Si f satisface la condicin de condicin de Lipschitz para y, Lipschitz con constante L en el con constante L y usando rectngulo y ' ' (t ) M implica h2M D = {(t , y ) a t b, y } ,. y w y w (1 + hL) + .
i +1 i +1 i i

y existe una constante M, tal que

Aplicando el lema 1.3.5, y ' ' (t ) M , para toda t [a, b] , suponiendo a j = y j w j para cada j = 0, 1, , N, s = hL y entonces, t = h 2 M / 2 , vemos que hM L (ti a ) y (ti ) wi [e 1] , (7) y w a (1 + s ) + t
2L
i +1 i +1 j

para cada i=0, 1, 2, , N. Prueba:

hM hM yi +1 wi +1 e (i +1) hL y0 w0 + + 2L 2L

Por condicin inicial se tiene que w0 = y0 (i + 1)h = ti +1 t0 y Cuando i=0 el resultado es cierto = ti +1 a , nos queda la tesis: puesto que w0 = y (t0 ) = . hM L (ti a ) yi wi [e 1] . 2L Para i = 0, 1, , N-1, en (3) y (4) y haciendo y (ti ) = yi tenemos: Para i = 0, 1, .., N-1.
h2 yi +1 = yi + h f (ti , yi ) + y ' ' (qi ) , 2

ti < qi < ti +1 ;

y
wi +1 = wi + hf (ti , wi ) .
F. Antoine S.

Este teorema 1.3.6 nos da la opcin de acotar la segunda derivada y ' ' (t ) sin conocer y(t ) . Esto es posible puesto que
A. Sangiacomo C.

12

Captulo 1

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

y ' ' (t ) =
=

f (t , y (t )) f (t , y (t )) + f (t , y (t )) , (8) t y

dy(t ) df (t , y (t )) = dt dt

Comparando el error real con la cota estimada, tendremos la siguiente tabla 2, que es una ampliacin de la tabla 1.
ti wi
1.0000000000 1.0000000000 1.0100000000 1.0290000000 1.0561000000 1.0904900000 1.1314410000 1.1782969000 1.2304672100 1.2874204890 1.3486784401

y permite obtener una cota a y(t ) . 1.3.7. Ejemplo

yi wi
0.0000000000 0.0048374180 0.0087307531 0.0118182207 0.0142200460 0.0160406597 0.0173706361 0.0182884038 0.0188617541 0.0191491707 0.0192010011

Estimado por (7) 0.0000000000 0.0052585459 0.0110701379 0.0174929404 0.0245912349 0.0324360635 0.0411059400 0.0506876354 0.0612770464 0.0729801556 0.0859140914

Tratemos el problema anterior de y + y = 1 + t , 0 t 1 , y ( 0) = 1 . Tabla 2. f = 1 Donde se tiene , la y Se concluye que el error depende constante de Lipschitz es L = 1. del h. La pregunta al lector es: A pesar de conocer y (t ) en este Hasta qu h? caso tratemos de usar el teorema 1.3.6 con la frmula (8) 1.3.8. Problemas
y ' ' (t ) = 1 + ( 1)(1 + t y ) = y t , para 0 t 1 .
1.

0.00 0.10 0.20 0.30 0.40 0.50 0.60 0.70 0.80 0.90 1.00

Claramente se deja ver que el valor ser mximo cuando t = 0,.o sea,
y ' ' (t ) = y t t = 0 = 1.

Usar el mtodo de Euler para aproximar la solucin de los siguientes ecuacin diferencial ordinaria con valor inicial
2

y y a) y = + , 1 t 1.2 , y (1) = 1 , t t

Con los valores de h = 0.1 y M = L = 1 obtenemos la cota de error


yi wi 0.1(1) 1(ti 0) [e 1] 2(1)
yi wi 0.05[eti 1] .

con con
c) y =

h = 0 .1 .

b) y = sin(t ) + e t , 0 t 1 , y (0) = 0 ,
h = 0.5 .

1 2 y +y t

),

1 t 3 , y (1) = 2 ,

con

h = 0.5 .

4t d) y = ty + y , 0 t 1 , y (0) = 1 ,
F. Antoine S. A. Sangiacomo C.

13

Captulo 1

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

con h = 0.25 . Supongamos que la ecuacin 2. Usar el mtodo de Euler con diferencial ordinaria de n-simo N=4 para aproximar la solucin orden y compare grficamente la y ( n) = f (t , y, y ,..., y ( n 1) ) (1) solucin aproximada con la con condiciones iniciales exacta. , t = t0 , y (t0 ) = y0 , y (t0 ) = y0 a) y = t 2 , 0 t 2 , y (0) = 0 . ( n 1) y ( n 1) (t0 ) = y0 . (2) , b) y = ty , 0 t 2 , y (0) = 1 . c) y = ty , 0 t 4 , y (0) = 4 . El segundo miembro de (1) es 3. Dado el problema con valor analtico en el punto inicial ( n 1) M 0 = (t0 , y0 , ..., y0 ). inicial Representamos la solucin 2y 2 t y = + t e , 1 t 2 , y (1) = 0 , y = y(t ) de (1) en el entorno del t punto t0 como series de Taylor con solucin exacta
y (t ) = t 2 (et e) :

+ (t t0 ) 2 y = y 0 + (t t 0 ) y 0

y ' '0 + 2!

(n) Use el mtodo de Euler con n y0 ... + (t t0 ) + ... (3) h=0.05 para aproximar la n! solucin y comprela con los donde t t < h y h es una 0 valores exactos de y. magnitud bastante pequea. Para b) Usando la Frmula (7) del encontrar los coeficientes de la teorema 1.3.6, calcule el valor serie (3) la ecuacin (1) se deriva de h necesario para que respecto a t un nmero necesario y (ti ) wi 0.1. de veces y utilizando las condiciones (2). 1.4. MTODO DE LAS SERIES Particularmente si t0 = 0 se tiene DE POTENCIAS la serie de Taylor de potencias de t (n) 1.4.1. Mtodo de Derivaciones 2 y ' '0 n y0 +t y = y0 + ty0 + ... + t + ... Sucesivas (Mtodo de Taylor) 2! n!

a)

(4)

F. Antoine S.

A. Sangiacomo C.

14

Captulo 1

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

1.4.1.1. Ejemplo

y = 3 + 6t + t 2 +

t3 t 4 2 + + ... + t n + ... 3 12 n!

Hallar la solucin de la ecuacin Compare este resultado para n = 4, diferencial ordinaria con la solucin exacta que es y = y 4t + 3 que satisface la dada por condicin inicial y (0) = 3 . y = 1 + 4t + 2et . Solucin: Para diferentes h se puede construir las tablas respectivas. Como t0 = 0 usamos la frmula (4) con y0 = 3 tenemos:
(n) y ' '0 n y0 +t y = 3 + ty0 + ... + t + ... 2! n! 2

1.4.1.2. Ejemplo
2

Empezamos con las derivadas de Hallar la solucin para y ' ' = t y , f (t , y ) ; que satisface y (0) = 1 , y(0) = 0 .
y = y 4t + 3
y ' ' = y 4 y '''= y ''

Solucin: Igual que el ejemplo anterior t0 = 0 , as que usamos (4)


y ( 0) = 1 ,
y ''= t2 y ,
y ' ' ' = 2ty + t 2 y , y ( 4) = 2 y + 4ty + t 2 y ' ' ,
y (5) = 6 y + 6ty ' '+t 2 y ' ' ' ,
y (6) = 12 y ' '+8ty ' ' '+t 2 y ( 4) ,

y ( 4) = y ' ' '

. . . . . . Utilizando las condiciones iniciales, nos resulta


y = 3 4( 0) + 3 = 6
y ''= 6 4 = 2 y '''= 2
y ( 4) = 2

y(0) = 0 ,

. . . . . .

y (7 ) = 20 y ' ' '+10ty ( 4) + t 2 y (5) ,


y (8) = 30 y ( 4) + 12ty (5) + t 2 y (6) ,

Reemplazando estos resultados Sustituyendo las en la serie de Taylor se tiene iniciales nos queda:
F. Antoine S.

condiciones

A. Sangiacomo C.

15

Captulo 1

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

y (0) = 1 , y(0) = 0 , y ' ' = 0 , y ' ' ' = 0 , y as sucesivamente sustituimos


y ( 4) = 2 ,
y (7) = 0 ,

y ( 5) = 0 , y ( 6 ) = 0 ,

los valores iniciales


x(0) = x(0) cos(0) y (0) sin(0) = 1 ,

y (8) = 30( 2) = 60 ,

y(0) = 0 ,
x ' ' (0) = 1 ,
x ' ' ' (0) = 0 ,

La solucin aproximada en la frmula de Taylor queda:


y = 1+ 1 4 1 8 t + t + ... 12 672

y ' ' (0) = 1 ,


y ' ' ' (0) = 3 ,

La solucin buscada tiene la forma


x = 1+ t +

1.4.1.3. Ejemplo: Hallar la solucin del sistema


dx dt = x cos(t ) ysin(t ) . dy = xsin(t ) + y cos(t ) dt

t2 +L, 2

y=

t 2 t3 + +L 2 2

1.4.2. Mtodo de Coeficientes Indeterminados

Supongamos que se da la Con la s condiciones iniciales ecuacin x(0) = 1 y y (0) = 0 . y = f (t , y ) (5) Solucin: con la condicin inicial y (t0 ) = y0 . El mtodo consiste en Pongamos que la solucin de (5) se busca en x ( n) x + t 2 0 + ... + t n 0 + ... x = x0 + t x0 forma de una serie con 2! n! coeficientes desconocidos y (n) y
+ t2 y = y 0 + ty0
0

2!

+ ... + t n

n!

+ ...

y = a0 + (t t0 )a1 + (t t0 ) 2 a2 + (t t0 )3 a3 + ...

Derivando las ecuaciones del que se determinan con ayuda de sistema, tenemos la sustitucin de la serie (6) en la x ' ' = x cos(t ) x sin(t ) y sin(t ) y cos(t ), ecuacin (5), luego se igualan los y ' ' = x sin(t ) + x cos(t ) + y cos(t ) y sin(t ) , coeficientes de t de igual grado y se utiliza la condicin inicial. Los valores hallados de los
F. Antoine S. A. Sangiacomo C.

(6)

16

Captulo 1

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

coeficientes a0 , a1 , a2 , se Reduciendo trminos en el segundo miembro nos resulta: sustituye en la serie (6). 2 a1 = 1 , a2 = a1 , 3a3 = 1 + 2a2 + a1 , 1.4.2.1. Ejemplo: 4a4 = 2a3 + 2a1a2 , Resolver con el mtodo de de donde se obtiene los valores coeficiente indeterminados la siguientes: ecuacin diferencial ordinaria a = 1 a = 1 a = 1 , 1 , , 2 0 y = t 2 + y 2 , que satisface las a3 = 4 / 3 , a 4 = 7 / 6 . condiciones iniciales y (0) = 1 . Por fin reemplazando en la Solucin: frmula (6) nos da: Aqu es fcil pues t0 = 0 , la serie se reduce a:
y = a0 + ta1 + t 2 a2 + t 3a3 + ...
(6)

y = 1+ t + t2 +

4t 3 7t 4 + + ... 3 6

1.4.3. Problema

Resolver por el mtodo de Taylor Sustituyendo las condiciones y de coeficientes indeterminados iniciales en (6) resulta las siguientes ecuacin 1 = a0 + 0a1 + 0 2 a2 + 03 a3 + ... , diferencial ordinaria. Adems construir una tabla con los primeros 5 valores con el h indicado. Derivando (6) queda 2 0 t 1 , y(0) = 1 , a) y ' ' = t y , y = a1 + 2ta2 + 3t 2 a3 + 4t 3a4 + ... y (0) = 0 con h = 0.1 . 2 sustituimos en la ecuacin y y b) y = + , 1 t 1.2 , y (1) = 1 , diferencial ordinaria tenemos: t t con h = 0.1 . a1 + 2ta2 + 3t 2 a3 + 4t 3a4 + ... = t 2 + y 2 c) y = sin(t ) + e t , 0 t 1 , y (0) = 0 , 2 3 a1 + 2ta2 + 3t a3 + 4t a4 + ... = con h = 0.2 . 2 2 3 2 1 = t + (1 + ta1 + t a2 + t a3 + ...) d) y = (y 2 + y ), 1 t 3 , y (1) = 2 ,
y nos queda a0 = 1 .
t

con
F. Antoine S.

h = 0.1 .
A. Sangiacomo C.

17

Captulo 1

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

4t e) y = ty + y ,

0 t 1 , y (0) = 1 ,

con

h = 0.25 .

1.5. Mtodo de Runge-Kutta

variable, con un error no mayor 2 que O(h ) , que es el error de truncamiento local para el mtodo de Taylor de orden dos. Como
f (t , y ) = f (t , y ) f (t , y ) + y(t ) t y

Los mtodos esbozados y anteriormente tienen la propiedad y (t ) = f (t , y ) , deseable de un error de truncamiento local de orden lo cual implica grande, pero tienen la desventaja ( 2) h f (t , y ) T (t , y ) = f (t , y ) + de requerir el clculo y la 2 t h f (t , y ) evaluacin de las derivadas de + f (t , y ) . (1) f (t , y ) . Esto se puede complicar 2 y mucho y consumir mucho f (t + b, y + c) en tiempo. Por eso el mtodo de Expandiendo Taylor y series se usan muy poco polinomio de Taylor de grado uno alrededor del punto (t , y ) en la prctica. Los mtodos de Runge-Kutta resulta usan el error de truncamiento af (t + b, y + c) = af (t , y) + ab f (t , y) t local de orden grande de los f (t , y ) + ac + aR1 (t + b, y + c) , (2) mtodos de Taylor y al mismo y tiempo elimina el clculo y la donde evaluacin de las derivadas de b 2 2 f ( q, r ) R1 (t + b, y + c) = f (t , y ) . 2 El primer paso para derivar el mtodo de Runge-Kutta consiste (3) en determinar los valores de a, b, c con la propiedad de que para algn q entre t y t + b , y r af (t + b, y + c) se aproxime a entre y y y + c . T ( 2) (t , y ) = f (t , y ) + h f (t , y ) , que es Igualando coeficiente entre (1) y 2 (2) tenemos: un polinomio de Taylor en dos
F. Antoine S. A. Sangiacomo C.

t f ( q, r ) c 2 2 f ( q , r ) + + bc tty 2 y 2 2
2

18

Captulo 1

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

f (t , y ) : a = 1 ;

f (t , y ) : ac = y

f (t , y ) : ab = t
h 2

h 2

1.5.1.1. Mtodo del Punto Medio


w0 = y0 =
w = w + hf (t + h , w +
h

f (t , y ) .

i +1 i i i i i 2 2 Deja ver que los parmetros son (4) determinados de manera nica por para cada i = 0, 1, , N-1. 1.5.1.2. Se puede desglosar de h a = 1; b = h ; c = f ( t , y ) ; 2 2 una forma ms prctica (llamado ( 2) h h as T (t , y ) = f (t + 2 , y + 2 f (t , y )) mtodo modificado de Euler):

f (t , w ))

R1 (t + h ,y+ 2

h 2
2

f (t , y )) ,

w0 = y0 = k1 = hf (ti , wi )
k 2 = hf (ti + h, wi + k1 )
wi +1 = wi + 1 (k + k 2 ) 2 1

y de (3)
R1 (t + h ,y+ h f (t , y )) = 2 2
+ h f ( q, r ) f (t , y ) 4 tty
2 2

h f ( q, r ) 8 t 2
2

(4)

para cada i = 0, 1, , N-1.


2

h f ( q, r ) . [ f (t , y )]2 8 y 2
2

Si todas las derivadas de segundo orden son acotadas la expresin


R1 (t + h ,y+ 2
h 2

1.5.1.3. Mtodo de Heun


w0 = y0 =

f (t , y ))

k1 = hf (ti , wi )
k 2 = hf (ti + 2 h, wi + 2 k) 3 3 1
(4)

wi +1 = wi + 1 [k + 3k 2 ] ser de O (h 2 ) , que corresponde al 4 1 orden del error de truncamiento local del mtodo de Taylor de para cada i = 0, 1, , N-1. orden dos. La deduccin anterior origina el 1.5.2. Ejemplo mtodo del punto medio o Runge-Kutta de segundo orden.

1.5.1. Mtodo de Runge-Kutta de Segundo Orden


F. Antoine S. A. Sangiacomo C.

19

Captulo 1

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

2.000000 3.000000 4.000000 5.000000 6.000000 7.000000 8.000000 9.000000 10.000000

0.2688000000 0.3427840000 0.3930931200 0.4273033216 0.4505662587 0.4663850559 0.4771418380 0.4844564499 0.4894303859

2.000000 3.000000 4.000000 5.000000 6.000000 7.000000 8.000000 9.000000 10.000000

0.2688000000 0.3427840000 0.3930931200 0.4273033216 0.4505662587 0.4663850559 0.4771418380 0.4844564499 0.4894303859

Tabla 3.

Figura 4.

La ecuacin diferencial ordinaria di (t ) + Ri(t ) = E (t ) , con 1.5.3. Mtodo de Runge-Kutta de es dada por L dt la condicin inicial i(0) = 0 , Tercer Orden
0 t 10 segundo. cuando Usaremos la frmula (4). Con h = 1 . L = 50, R = 20, V = 10.
w0 = y0 =
k1 = hf (ti , wi )
k 2 = hf (ti + h , wi + 1 k) 2 2 1

Si h = 0.2 el valor de t = 10 es t10 = 0.4908005938 .

Solucin:
di (t ) R E = i (t ) + dt L L

k3 = hf (ti + h, wi k1 + 2k 2 )

y = 0.4 y + 0.2 ;

wi +1 = wi + 1 [ k + 4k 2 + k 3 ] 6 1

(4)

para cada i = 0, 1, , N-1.

Iteracin 1: El mtodo que se usa en la k1 = hf (t0 , w0 ) = 1(0.4(0) + 0.2) = 0.2 prctica por sus dotes de alta precisin, es el de cuarto orden k 2 = hf (t0 + h, w0 + k1 ) = 1( 0.4(0 + 0.2) + 0.2) = 0.12 del cual aqu presentaremos dos versiones. 1
w1 = w0 + 2 [ k1 + k2 ] =0+ 1 (0.2 + 0.12) = 0.16 , 2

Las dems iteraciones abreviadas en la tabla 5


Runge - Kutta Orden Dos

1.5.4. Mtodo de Runge-Kutta de Cuarto Orden


w0 = y0 = k1 = hf (ti , wi )
k 2 = hf (ti + h , wi + 1 k) 2 2 1 k3 = hf (ti + h , wi + 1 k ) 2 2 2

estn

Mtodo de Heun

ti

wi

ti
0.000000 1.000000

wi
0.0000000000 0.1600000000

0.000000 0.0000000000 1.000000 0.1600000000


F. Antoine S.

k 4 = hf (ti + h, wi + k3 )
A. Sangiacomo C.

20

Captulo 1

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

En esta figura los nmeros k1 , k 2 , (5) k3 y k 4 tienen un sentido geomtrico simple que para cada i = 0, 1, , N-1. explicamos a continuacin: La siguiente versin es una forma Supongamos que la curva M 0CM 1 alternativa: es la solucin de ecuaciones diferenciales ordinarias w0 = y0 = y = f (t , y ) con la condicin k1 = hf (ti , wi ) inicial. El punto C de esta curva h 1 k2 = hf (ti + 2 , wi + 2 k1) se halla en la recta paralela al eje h 1 1 y y biseca el segmento [ xi , xi +1 ] ; k3 = hf (ti + 2 , wi + 4 k2 + 4 k1 ) B y G son los puntos de k 4 = hf (ti + h, wi k 2 + 2k3 ) intercesin de la tangente trazada wi +1 = wi + 1 [ k + 4 k3 + k 4 ] (5) 6 1 a la curva en el punto M 0 con las para cada i = 0, 1, , N-1. ordenadas AC y N1M1 . Entonces Este mtodo tiene un error de el nmero k , con exactitud de 1 truncamiento de O(h 4 ) , siempre y hasta el multiplicador h cuando la solucin y (t ) tenga ( h = x x ), es el coeficiente i +1 i cinco derivadas continuas. La angular de la tangente en el punto terminologa ki se introduce para M a la curva integral M CM , o 0 0 1 facilidad de clculo dentro de la sea, k = hy = hf (t , y ) . 1 i i i propia frmula. El punto B tiene por coordenadas k1 y = yi + 2 x = xi + h . 2, Por consiguiente el nmero k2 , con exactitud de hasta el factor h, es el coeficiente angular de la tangente trazada a la curva integral en el punto B (BF es el segmento de esta tangente). Tracemos por el punto M 0 la Figura 5. recta paralela al segmento BF, entonces en la curva D tiene las
F. Antoine S. A. Sangiacomo C.

wi +1 = wi + 1 [ k + 2 k 2 + 2k3 + k 4 ] 6 1

21

Captulo 1

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Paso 12: t = a + ih coordenadas x = xi + h , y = yi + k22 y Paso 13: Parar. 2 k3 , con exactitud de hasta el A continuacin se presenta un multiplicador h, que es el procedimiento para dar solucin coeficiente angular de la tangente por el Mtodo de Runge-Kutta trazada a la curva integral en el por las frmulas (5) y (5). punto D ( DR1 es el segmento de esta tangente). Por ltimo, por el 1.5.6. Programa en Delphi Pascal punto M 0 tracemos la recta paralela a DR1 , que cortar la prolongacin M 1N1 en el punto R2 dado por ( xi + h, yi + k3 ) . Entonces k 4 , con la exactitud de hasta el multiplicador h, es el coeficiente angular de la tangente unit Runge_Or_4a_a1; trazada a la curva integral en el {Mtodo de RUNGE-KUTTA Orden cuatro (4) } interface punto R2 .

1.5.5. Algoritmo de Runge-Kutta type de Cuarto Orden TForm1 = class(TForm)


Paso 1: Definir f (t , y ) { y = f (t , y ) } Paso 2: Entrar a, b, N {intervalo y nmero de intervalos} Paso 3: Entrar y0 {condiciones iniciales} Paso 4: Hacer h = (b a) / N

uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls, Buttons;

t=a w = y0
Publicar (t, w) Paso 5: Para i = 1 hasta N-1 Hacer Paso 6: k1 = hf (t , w) Paso 7: k 2 = hf (t + h , w + 1 k1 ) 2 2 Paso 8: k3 = hf (t + h , w + 1 k 2 ) 2 2

BitBtn1: TBitBtn; BitBtn2: TBitBtn; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Label1: TLabel; Label2: TLabel; Label3: TLabel; Edit5: TEdit; Label5: TLabel; CheckBox1: TCheckBox; Memo1: TMemo; procedure BitBtn2Click(Sender: TObject); procedure BitBtn1Click(Sender: TObject); procedure Datos; procedure FormCreate(Sender: TObject); Procedure Calculo; end; _r = double; _i = integer; _s = string; var Form1: TForm1; implementation var Fun_x, Sx1 : _s; Lim_A, Lim_B, rr, Y0 :_r; Nn : _i; {$R *.DFM}

procedure TForm1.BitBtn2Click(Sender: TObject); Paso 9: k 4 = hf (t + h, w + k3 ) begin close; end; Paso 10: w = w + 1 [k1 + 2k 2 + 2k 3 + k 4 ] function ff(t, y:_r):_r; 6 begin // AQU CAMBIAR LA FUNCIN F( X , Y ) Paso 11: Publicar (t, w) ff:=1+t-y;

F. Antoine S.

A. Sangiacomo C.

22

Captulo 1

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

end; procedure TForm1.Datos; Con solucin exacta begin // 3 Lim_A:=strToFloat(Edit1.text); Lim_B:=strToFloat(Edit2.text); y + 3 y + t 4 = 0 . Nn :=StrToInt(Edit3.text); y0 :=strToFloat(Edit5.text); end; Solucin: Procedure TForm1.Calculo; var r1, W, h, k1, k2, k3, k4 :_r; i, j, k : _i; begin Memo1.Lines.Add(' Mtodo de Runge Kutta de Cuarto Orden Daremos slo la solucin por la '); (5) en la tabla 4, quedando la otra sx1:=' F ( x ) = '+Fun_x+#13#10; sx1:=sx1+' a = '+Edit1.text+#13#10+' b = ' a cargo del lector (puede usar el +Edit2.text+#13#10; procedimiento Pascal anterior). sx1:=sx1+' N = '+Edit3.text; Memo1.Lines.Add(sx1); h:= (Lim_b-Lim_a)/Nn; Ti k1 k2 k3 w:= Y0; 0.00 0.0000000000 0.0000000000 0.0000000000 for i:=1 to Nn do 0.10 -0.0500000000 -0.0512656200 -0.0512980610 begin 0.20 -0.0526303329 -0.0540304936 -0.0540682082 r1 := Lim_a+(i-1) * h; 0.30 -0.0555435272 -0.0570949192 -0.0571387734 0.40 -0.0587740910 -0.0604935267 -0.0605443915 sx1 := ' t = '+FloatToStrF(r1+h,ffGeneral, 8,15); 0.50 -0.0623558978 -0.0642582529 -0.0643168521 k1 := h * ff(r1, w); 0.60 -0.0663170990 -0.0684114490 -0.0684780676 k2 := h * ff(r1+h/2, w + k1/2); 0.70 -0.0706707675 -0.0729536313 -0.0730276153 k3 := h * ff(r1+h/2, w + k2/2); 0.80 -0.0753988869 -0.0778432885 -0.0779223017 k4 := h * ff(r1+h, w + k3); 0.90 -0.0804272087 -0.0829667961 -0.0830459683 sx1 := sx1+' k1= '+FloatToStrF(k1,ffGeneral, 8,15)+ 1.00 -0.0855905939 -0.0881006340 -0.0881721694 ' k2= '+FloatToStrF(k2,ffGeneral, 8,15); sx1 := sx1+' k3= '+FloatToStrF(k3,ffGeneral, 8,15)+ Ti k4 wi ' k4= '+FloatToStrF(k4,ffGeneral, 8,15)+#13#10; 0.00 0.0000000000 1.0000000000 w := w + (k1 + 2*(k2 + k3) + k4)/6; 0.9487070065 sx1 := sx1+' w = '+' '+FloatToStrF(w,ffGeneral, 10,15); 0.10 -0.0526305992 0.20 -0.0555438735 0.8946450715 if CheckBox1.Checked then Memo1.Lines.Add(sx1); 0.30 -0.0587745460 0.8375141617 end; 0.40 -0.0623565012 0.7769797570 if not CheckBox1.Checked then Memo1.Lines.Add(sx1); 0.50 -0.0663179045 0.7126757549 end; 0.60 -0.0706718446 0.6442144254 procedure TForm1.BitBtn1Click(Sender: TObject); 0.70 -0.0754003169 0.5712088292 0.80 -0.0804290667 0.4933156402 begin Datos; Calculo; end; procedure TForm1.FormCreate(Sender: TObject); begin Memo1.Clear; end; end.
0.90 1.00 -0.0855929000 -0.0905984605 0.4103080339 0.3221855904

Tabla 4.

La tarea es que con algn mtodo para encontrar races, debe 1.5.7. Ejemplo hallarse los valores wi , con cada Resolver las ecuaciones ti para comprobar los resultados diferenciales ordinarias (EDO) de la tabla 4. con valor inicial por Runge-Kutta (5 y 5) con h = 0.1 1.5.8. Problemas 2 y + y y = 1 , 0 t 1 , y ( 0) = 1 .
F. Antoine S. A. Sangiacomo C.

23

Captulo 1

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

1.

2.

Hermite para calcular los Resuelva los problemas (1 y 2) valores de de los problemas 1.3.9 por las y(1.04), y(1.55), y(1,87), frmulas (4), (4), (4), (5) y y comprelos con los exactos (5). Comparar sus resultados y y los hallados por el propio hacer las grficas. mtodo Runge-Kutta con un h Use el mtodo del punto medio, apropiado. Euler modificado, Heun con h=0.1 para aproximar la 4. Dado el problema de valor solucin de: inicial y = 1 t sin(ty ) , 0 t t , y (0) = 0 . t 2 y = 1 ty t 2 y 2 , 1 t 2 ,

3.

y (1) = 1 , Dado el problema de valor con solucin exacta y (t ) = t 1 : inicial 2y 2 t a) Use el mtodo Runge-Kutta (4, + t e , 1 t 2 , y (1) = 0 , y = t 4, 4, 4), con h = 0.0625 con solucin exacta para aproximar la solucin y 2 t y (t ) = t (e e) : comprela con los valores a) Use el mtodo Runge-Kutta exactos de y. (4, 4, 4, 4), con h = 0.05 b) Use el mtodo Runge-Kutta de para aproximar la solucin y cuarto orden con h = 0.1 para comprela con los valores aproximar la solucin y exactos de y. comprelos con los valores b) Use el mtodo Runge-Kutta reales de y. de cuarto orden con h = 0.1 c) Use las respuestas de (b) y haga para aproximar la solucin y la interpolacin de Newton comprelos con los valores para calcular los valores de reales de y. y(1.011), y(1.654), y(1,787), c) Use las respuestas de (b) y y comprelos con los exactos y haga la interpolacin de los hallados por el propio

F. Antoine S.

A. Sangiacomo C.

24

Captulo 1

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

mtodo Runge-Kutta con un h Conviene observar que yn +1 apropiado. decrece cuando n (o el tiempo) aumenta, ya que < 0 . La solucin numrica de (6) 1.5.9. Error, Estabilidad y mediante el mtodo de RungeOptimizacin del Intervalo de la Kutta de cuarto orden es Retcula k1 = hy n Los mtodos de Runge-Kutta k yn + 1 = h(1 + 1 h )yn 2 estn sujetos a dos tipos de k2 = h 2 errores; el error de truncamiento k k3 = h yn + 2 = h(1 + 1 h(1 + 1 h ))yn 2 2 y el de inestabilidad. Como ya se 2 ha analizado, el error de k4 = h( yn + k3 ) truncamiento se debe a la = h(1 + 1 h(1 + 1 h(1 + 1 h )))yn 2 2 2 discrepancia entre el desarrollo de (8) Taylor del mtodo numrico y el 1 de la solucin exacta. El tamao yn +1 = 1 + h + 1 (h) 2 + 1 (h) 3 + 24 (h) 4 y n . 2 6 del error decrece al aumentar el (9) orden del mtodo. Por otro lado, la inestabilidad es un efecto La ecuacin (9) es igual al acumulado del error local, de desarrollo de los cinco primeros forma que el error de la solucin trminos del desarrollo de Taylor crece sin lmite al avanzar los para el lado derecho de la ecuacin (7) al rededor de t n . El intervalos de tiempo. Para analizar la estabilidad de un factor 1 (h) 2 + 1 (h)3 + 24 (h) 4 mtodo de Runge - Kutta u = 1 + h + 1 2 6 consideremos la ecuacin prueba (10) de la ecuacin (9) aproxima a exp(h) de la ecuacin (7), por lo donde < 0 . Para yn dada, el que en esta aproximacin se valor exacto de yn +1 est dada en originan tanto el error de truncamiento como la forma analtica por inestabilidad de (9). y n +1 = exp(h) yn . (7)
(6)
F. Antoine S. A. Sangiacomo C.

y = y

25

Captulo 1

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

En la primera En las aplicaciones prcticas del numrico. mtodo de Runge-Kutta, es ejecucin de un solo paso h, posible determinar el tamao partiendo de la condicin inicial y ptimo de un intervalo de la lo denotamos por [ y1 ]h . La retcula. A manera de ejemplo, segunda ejecucin de dos supongamos que deseamos intervalo de paso h / 2 y la mantener un error local del denotamos por [ y2 ]h / 2 . Usamos mtodo de Runge-Kutta de cuarto estos resultados en (13) y orden. El error local es despejamos B. proporcional a h5 para un intervalo de prueba, por lo que Eh 2 Eh / 2 = [ y1 ]h [ y2 ]h / 2 . (14) 16 [ y ] [ y2 ]h / 2 expresamos el error de la forma B= 1 h
Eh = Bh5
15 h5

(11)

(15)

donde B es una constante que Una vez hallado B, podemos depende del problema dado. encontrar el h mximo (ptimo) Aplicando el mtodo de Runge- que satisface el criterio de Eh , Kutta en dos pasos con h / 2 sustituyendo Eh = en (11) y de como intervalo de tiempo, el error all despejamos h resulta proporcional a 2(h / 2)5 , = Bh 5 1/ 5 donde el factor 2 se debe a la h= . (16) acumulacin en dos etapas del B error. As se tiene
2 Eh / 2 = 2 B (h / 2)5 = Bh5 / 16
(12)

1.5.9.1. Ejemplo

restando (12) a (11), con lo que Aplicando el mtodo de cuarto obtenemos: orden de Runge-Kutta a 5 5 5 Eh 2 Eh / 2 = Bh Bh / 16 = 15Bh / 16 . y + t 2 y = y , 0 t 1 , y (0) = 1 . Determinar el tamao ptimo del Podemos evaluar el lado intervalo que satisfaga E 10 5 . h izquierdo de la ecuacin anterior mediante un experimento Solucin:
F. Antoine S. A. Sangiacomo C.

(13)

26

Captulo 1

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

a) y = 2 t 2 y , 0 t 3 , y (0) = e 4 ,

Hacemos un slo paso y h = 1 , partiendo de la condicin inicial dada tenemos


[ y1 ]h = 0.4566667

Eh 10 4

b) y = 1 + tsin(ty ) , 0 t 2 , y (0) = 0 ,
Eh 10 4

un intervalo h

[ y2 ]h / 2 = 0.4559973

c) y =

2 t

y + t 2 et , 1 t 2 , y (1) = 0 ,

dos intervalos h / 2 .

Eh 10 5

De acuerdo con (15) nos resulta


B=

d) y = 1 ( y + y 2 ) , 1 t 3 , y (1) = 2 , t
Eh 10 6

16 0.4566667 0.4559973 = 7.1 10 4 . 5 15 1

A esta ltima expresin la Apndice: sustituimos en (11) con lo que el A1. Programa en Delphi para Heun error local para cualquier h es
Eh = 7.1 10 4 h 5 .

Ahora calculamos el mximo u ptimo que satisface Eh 105 , es


10 5 h= 4 7.1 10
1/ 5

= 0.426 .
unit Heun_a1;
1 3

{Mtodo de Heun } Conclusin se debe tomar del interface intervalo para este problema. uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls, Buttons;

1.5.9. Problemas
1.

type TForm1_Heun = class(TForm) BitBtn2: TBitBtn; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Label1: TLabel; Label2: TLabel; Label3: TLabel; Edit5: TEdit; TLabel; CheckBox1: TCheckBox; Use el desarrollo de (11) a (16) Label5: Memo1: TMemo; CheckBox2_Cada_Paso: TCheckBox; TSpeedButton; para hallar h apropiado mximo SpeedButton1: procedure BitBtn2Click(Sender: TObject); procedure BitBtn1Click(Sender: TObject); para aproximar el problema de procedure Datos; procedure FormCreate(Sender: TObject); valor inicial. Procedure Calculo; end; _r = double; _i = Integer; _s = string;
A. Sangiacomo C.

F. Antoine S.

27

Captulo 1

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

var Form1_Heun: TForm1_Heun; implementation var Fun_x, Sx1 : _s; Lim_A, Lim_B, Y0 :_r; Nn : _i; {$R *.DFM} procedure TForm1_Heun.BitBtn2Click(Sender: TObject); begin close; end; function ff(t, y:_r):_r; begin //AQU CAMBIAR LA FUNCIN F( X , Y ) ff := 1 + t - y ; end; procedure TForm1_Heun.Datos; begin // Lim_A:=strToFloat(Edit1.text); Lim_B:=strToFloat(Edit2.text); Nn :=StrToInt(Edit3.text); y0 :=strToFloat(Edit5.text); end; Procedure TForm1_Heun.Calculo; var r1, W, h, k1, k2 :_r; i : _i; begin Memo1.Lines.Add(' Mtodo de Heun (Mtodo Modificado de Euler)'); sx1:=' F ( x ) = '+Fun_x+#13#10; sx1:=sx1+' a = '+Edit1.text+#13#10+' b = ' +Edit2.text+#13#10; sx1:=sx1+' N = '+Edit3.text; Memo1.Lines.Add(sx1); h:= (Lim_b-Lim_a)/Nn; w:= Y0; for i:=1 to Nn do begin r1 := Lim_a+(i-1) * h; sx1 := ' t = '+FloatToStrF(r1+h,ffGeneral, 8,15); k1 := h * ff(r1, w); k2 := h * ff(r1+2*h/3, w + 2*k1/3); w := w + (k1 + 3*k2)/4; sx1 := sx1+' w = '+' '+FloatToStrF(w,ffGeneral, 10,15); if CheckBox1.Checked then Memo1.Lines.Add(sx1); end; if not CheckBox1.Checked then Memo1.Lines.Add(sx1); end; procedure TForm1_Heun.BitBtn1Click(Sender: TObject); begin // aqu Euler Datos; if CheckBox2_Cada_Paso.Checked then Memo1.Clear; Calculo; end; procedure TForm1_Heun.FormCreate(Sender: TObject); begin Memo1.Clear; CheckBox2_Cada_Paso.Checked:=true; end; end.

unit Runge_Or_2_a1; interface

{RUNGE-KUTTA Orden dos (2) Mtodo del Punto Medio }

uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls, Buttons; type TForm1_Runge_Kutta_segundo = class(TForm) BitBtn1: TBitBtn; BitBtn2: TBitBtn; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Label1: TLabel; Label2: TLabel; Label3: TLabel; Edit5: TEdit; Label5: TLabel; CheckBox1: TCheckBox; Memo1: TMemo; procedure BitBtn2Click(Sender: TObject); procedure BitBtn1Click(Sender: TObject); procedure Datos; procedure FormCreate(Sender: TObject); Procedure Calculo; end; _r = double; _i = integer; _s = string; var implementation {$R *.DFM} var Fun_x, Sx1 : _s; Lim_A, Lim_B, rr, Y0 :_r; Nn : _i; procedure TForm1_Runge_Kutta_segundo.BitBtn2Click(Sender: TObject); begin close; end; function ff(t, y:_r):_r; begin // AQU CAMBIAR AL FUNCIN F( X , Y ) ff:=1+t-y; end; procedure TForm1_Runge_Kutta_segundo.Datos; begin // Lim_A:=strToFloat(Edit1.text); Lim_B:=strToFloat(Edit2.text); Nn :=StrToInt(Edit3.text); y0 :=strToFloat(Edit5.text); end; Procedure TForm1_Runge_Kutta_segundo.Calculo; var r1, W, h, k1, k2 :_r; i, j, k : _i; begin Memo1.Lines.Add(' Mtodo de Runge - Kutta (Punto Medio)'); sx1:=' F ( x ) = '+Fun_x+#13#10; sx1:=sx1+' a = '+Edit1.text+#13#10+' b = ' +Edit2.text+#13#10;
A. Sangiacomo C.

Form1_Runge_Kutta_segundo: TForm1_Runge_Kutta_segundo;

A2. Programa en Delphi para Runge Kutta de Orden Dos

F. Antoine S.

28

Captulo 1

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

sx1:=sx1+' N = '+Edit3.text; Memo1.Lines.Add(sx1); h:= (Lim_b-Lim_a)/Nn; w:= Y0; for i:=1 to Nn do begin r1 := Lim_a+(i-1) * h; sx1 := ' t = '+FloatToStrF(r1+h,ffGeneral, 8,15); k1 := h * ff(r1, w); k2 := h * ff(r1+h, w + k1); w := w + (k1 + k2)/2; sx1 := sx1+' w = '+' '+FloatToStrF(w,ffGeneral, 10,15); if CheckBox1.Checked then Memo1.Lines.Add(sx1); end; if not CheckBox1.Checked then Memo1.Lines.Add(sx1); end; procedure TForm1_Runge_Kutta_segundo.BitBtn1Click(Sender: TObject); begin // aqu Euler Datos; Calculo; end; procedure TForm1_Runge_Kutta_segundo.FormCreate(Sender: TObject); begin Memo1.Clear; end; end.

s: string (sirve para definir si es 1 o 2 a (5) o (5)}


Function fxy(t,y: real):real; {funcin de clculo} Begin {CAMBIAR AQU LA FUNCIN DE LA EC. DIFERENCIAL} {====================================} fxy:=1+t-y {====================================} End; Procedure recal_Runge_Kutta_cuarto_Orden; Begin k1:=h*fxy(t,y); if s='1' then Begin k2:=h*fxy(t+h/2, y+k1/2); k3:=h*fxy(t+h/2, y+k2/2); k4:=h*fxy(t+h, y+k3); t:=t+h; y:=y + (k1+2*k2+2*k3+k4)/6; End; if s='2' then Begin k2:=h*fxy(t+h/2, y+k1/2); k3:=h*fxy(t+h/2, y+k1/4+k2/4); k4:=h*fxy(t+h, y-k2+2*k3); t:=t+h; y:=y +(k1+4*k3+k4)/6; End; End;

Todos los programas se encuentran en el disco compacto.


A5. Procedimiento de Schaplygin

A3. Programa en Delphi para Runge Kutta de Orden Tres

Este mtodo analtico para la integracin aproximada de ecuaciones diferenciales ordinarias de primer orden. Este procedimiento se debe a Schaplygin y se basa en una idea totalmente nueva. Este procedimiento de Schaplygin (se afirma, comprobarlo es motivo de otro comentario, los invito) es uno de los procedimientos analticos ms exactos para la integracin, de forma aproximada, de ecuaciones diferenciales y permite adems una valoracin sencilla de las solucin. Lo esencial del procedimiento consiste en que la solucin buscada y = y(x); a x b; Ver el programa en el disco compacto se aproxima por medio de dos series de funciones un=un(x) y vn=vn(x); n=1, 2, adjunto a esta publicacin. las cuales satisfacen la desigualdad A4. Programa (procedimiento) en Pascal de un ( x) y ( x) vn ( x) , para x [a, b] Runge - Kutta de cuarto orden de las dos y la condicin inicial

formas
{Se supone que se tienen definidas las variables t,k1,k2,k3,k4,y,h:real { t es variable independiente { h el paso;

un ( x0 ) = y ( x0 ) = vn ( x0 )

h = (b a ) / N

atb
}

para n en el intervalo uniformemente a cero.


}

Estas series de funciones tienen adems las propiedad de que su diferencia u n ( x) vn ( x)

[a, b] tiende

{y hace del valor de condicin inicial

y = y0 = y(t0 )

F. Antoine S.

A. Sangiacomo C.

29

Captulo 1

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Desde el punto de vista geomtrico, esto es que la condicin inicial y ( x0 ) = y0 y estar definida curva integral buscada y=y(x) esta comprendida para a x b. Se cumple entonces: en un sector A0 Bn Cn sombreado en la figura 1. I[y]=0. (3) Para la solucin y(x) se construye tambin un Si la funcin u=u(x) satisface las condiciones sector [u n ( x), vn ( x)] y se indica un I[u] 0 para a x b; (4) procedimiento con cuya ayuda este sector se y puede estrechar hasta la exactitud deseada. u ( x0 ) = y0 , se cumple siempre en el intervalo [a, b] la desigualdad u y, (5) es decir, la funcin u es un minorante de la solucin y. Si, por el contrario, para la funcin v=v(x) se cumple la condiciones I[v] 0 para a x b; (6) y Figura 1. v( x0 ) = y0 , se cumple para el intervalo [a, b], la desigualdad Si ponemos y v, (7) yn u n ( x) , es decir, la funcin v es un mayorante de la solucin y. entonces el error absoluto mximo de la solucin Prueba: Demostraremos slo la desigualdad (5) la de aproximacin un(x) es igual a demostracin (7) se consigue de forma anloga. n ( x ) = vn ( x ) u n ( x ) , De las frmulas (3) y (4) nos resulta, es decir, este error se determina inmediatamente respectivamente, es cada paso de la aproximacin. y ' f ( x, y ) = 0 Para simplificar representemos la ideas centrales y del mtodo de Schaplygin a base de una ecuacin u ' f ( x, y ) 0 . diferencial de primer orden De ah la expresin y ' = f ( x, y ) (1) ( y u ) ' p( x)( y u ) 0 , (8) con la condicin inicial en donde y ( x0 ) = y0 . (2) f ( x, y ( x)) f ( x, u ( x)) Para ello supongamos que el segundo miembro . (9) p ( x) = y u f(x, y) de la ecuacin diferencial (1), en un entorno conocido del punto inicial, es continuo, y La funcin p(x) pierde su significado para que all tambin tiene derivadas parciales aquellos valores de x, para los cuales se tiene sucesivas f y ( x, y ) y f yy ( x, y ) , (para recordar y=u. Es este caso pongamos

fy =

f y

f yy =

2 f y2

). El procedimiento se

p( x) = lm

u y

basa en la hiptesis siguiente:

f ( x, y ( x)) f ( x, u ( x)) y u = f y ( x, y ( x)) .

En virtud de las condiciones citadas anteriormente, la funcin p(x) est definida en el Sea intervalo [a, b], y all tambin es continua. Si multiplicamos ahora ambos miembros de la I [ y ] = z ' = f ( x, y ) un operador diferencial y y=y(x) una integral de ecuacin (3) por el factor positivo la ecuacin (1); la integral tiene que satisfacer la

A5.1. Lema de Schaplygin

F. Antoine S.

A. Sangiacomo C.

30

Captulo 1

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

( x) = e
d dx

p ( x ) dx

obtenemos entonces

( ( x)[ y ( x) u ( x)]) 0 .

(10)

Si integramos ahora (10) entre los lmites a y x, donde a x b, resulta as

( x)[ y ( x) u ( x)] ( x0 )[ y ( x0 ) u ( x0 )] 0 o ya que y ( x0 ) = u ( x0 ) y ( x) 0 , finalmente

Figura 2.

u ( x) u ( x) , para a x b. y esto prueba la desigualdad (5).

se tiene

A partir de la primera parte de la desigualdad (13) resulta que la curva integral y=u(x) de la primera ecuacin diferencial de (12), que pasa por el punto M0, corta a las curvas Ci, del A5.2. Observacin conjunto {K}, una tras otra, y tiene una pendiente Si las funciones y=y(x), u=u(x) y v=v(x) ms pequea que la Ci,. Por consiguiente, se satisfacen en el intervalo [a, b] a las ecuaciones encuentra ella por debajo de la curva C0. Por el contrario, sabemos, a partir de la segunda diferenciales parte de la desigualdad (13) que la curva integral y ' = f ( x, y ) . (11) y=v(x) de la segunda ecuacin diferencial de (12), u ' = f1 ( x, u ) , v ' = f 2 ( x, v) , (12) que pasa por el punto M0, tiene una pendiente en donde mayor que la curva Ci, del conjunto {K} que ella corta, y por consiguiente est situada por encima f1 ( x, z ) f ( x, z ) f 2 ( x, z ) (13) y a la condicin inicial comn de la curva C0, ver la figura 2. Por tanto, la u ( x0 ) = y ( x0 ) = v( x0 ) = y0 , se cumple la desigualdad (14) siempre se cumple. desigualdad Ahora indiquemos un procedimiento para la un ( x) y ( x) vn ( x) , para x [a, b] , (14) representacin de la series de funciones un y vn (n=1, 2, ), las cuales aproximan la solucin y si ponemos de la ecuacin diferencial (1). I [ z ] = z ' f ( x, z ) obtenemos a partir de las condiciones (12) y (13), Supongamos en primer lugar que f en el y2 respectivamente, I [u ] = u ' f ( x, u ) = f1 ( x, u ) f ( x, u ) 0 dominio considerado no cambia de signo. O sea 2 f y 0. (15) I [v] = v ' f ( x, v) = f1 ( x, v) f ( x, v) 0 . y2 De ah usando el lema demostrado arriba la Busquemos ahora dos funciones desigualdad (14). u0 = u0 ( x) y v0 = v0 ( x)
2

con u0 v0 , Hagamos la interpretacin geomtrica de la desigualdad (13) de forma sencilla. para los cuales se cumpla las desigualdades I [u0 ] = r0 ( x) 0 Consideremos un conjunto {K} de curvas integrales , C2, C1, C0, C1, C2, de la y ecuacin diferencial (11), par lo cual sea C0 la I [v0 ] = s0 ( x) 0 curva integral que pasa por el punto M0(x0, y0), es decir, la representacin grfica de la solucin respectivamente. y=y(x), ver la figura 2. Las funciones r0 ( x) y s0 ( x) indican las desviaciones correspondientes.
F. Antoine S. A. Sangiacomo C.

31

Captulo 1

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Si las funciones u0 y v0 pudieran buscarse con d 0 = p ( x) + r ( x) , ( x ) = 0 0 0 0 0 0 dificultades, puede emplearse el siguiente dx (18) procedimiento, supngase en primer lugar que el y d segundo miembro de la ecuacin (1) sea una 0 = q0 ( x) 0 + s0 ( x) , 0 ( x0 ) = 0 , funcin continua y definida en un rectngulo dx determinado R donde r0 ( x ) = I [u0 ] , I [v0 ] = s0 ( x) , R = {a x a + t , y y0 t1} , donde t y t1 son dos nmeros positivos. Hagamos m = mn f ( x, y ) , para ( x, y ) R y M = mx f ( x, y ) , para ( x, y ) R (16) y

p0 ( x ) = f y ( x, u 0 )
q0 ( x ) = f ( x, v0 ) f ( x, u0 ) . v0 u0
(19)

Ya que lo trminos r0 ( x ) y s0 ( x ) de las Entonces podemos elegir en el intervalo [a, X], ecuaciones diferenciales lineales (18) no son donde X=a+h, las funciones siguientes como negativos, resulta de las frmulas conocidas para aproximaciones iniciales la solucin de estas ecuaciones las expresiones u 0 = y0 + m( x a ) 0 ( x) 0 y 0 ( x) 0

h = mn{t ,

t1 m

t1 M

}.

(17)

v0 = y0 + M ( x a)

respectivamente.

para axX. Ahora puede indicarse que en el intervalo [a, X] se cumplen las siguientes desigualdades I [u1 ] 0 y I [v1 ] 0 . Con ello las funciones u1 y v1 forman un minorante y un mayorante, respectivamente, de la solucin exacta y, por lo cual el sector determinado por ellas es ya ms estrecho que el determinado por las anteriores u0 y v0. Si en general se cumplen las expresiones

I [un ] = rn ( x) 0

I [vn ] = sn ( x) 0
se puede escribir

Figura 3.
Para mejorar la aproximacin pongamos

un +1 = un + n y vn +1 = vn n En donde n ( x) y n ( x) son funciones no

u0

v0 d n
dx
y

negativas, que se determinan a partir de las ecuaciones diferenciales lineales

= pn ( x) n + rn ( x) , n ( x0 ) = 0
(20)

u1 = u0 + 0

v1 = v0 0 En donde 0 = 0 ( x) y 0 = 0 ( x) son donde


y

dn = qn ( x) n + sn ( x) , n ( x0 ) = 0 , dx

funciones no negativas, que se determinan a partir de las ecuaciones diferenciales lineales

p n ( x ) = f y ( x, u n )

F. Antoine S.

A. Sangiacomo C.

32

Captulo 1

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

qn ( x ) =

f ( x, vn ) f ( x , u n ) . vn u n

(21)

tambin se puede probar las expresiones I [u n +1 ] 0 y I [vn +1 ] 0 . De ello se tienen la desigualdades y

u0 u1 L u n u n +1 y

y v0 v1 L vn vn +1
Para la representacin de la figura tomamos un punto fijo x y la funcin correspondiente

Figura 5.
De las ecuaciones (20) se tiene:

z = f ( x, y ) pn ( x) = tan( n)

(22)

n = e n = e

p n ( x ) dx

a a

rn ( x)e

p n ( x ) dx

x a

dx

(23)

x a

q n ( x ) dx

sn ( x)e

q n ( x ) dx

x a

dx
(24)

n=1,2,

Figura 4.
es la pendiente de la tangente a la curva (22) en el punto y=un mientras que

Como la distancia entre vn un tiende a cero cuando n. Se cumple para un n determinado la expresin vn un < , donde es la tolerancia, error o exactitud exigida, podemos poner la solucin de la forma aproximada

u n + vn 2

Si se requiere valoracin alguna del error de la es la pendiente de la secante a la curva (22) para solucin de aproximacin, podemos limitarnos a una se las series de funciones un (o vn ) (n=1,2, los puntos y=un y y=vn. Llamaremos la determinacin de un como ), pues se cumple procedimiento de la tangentes y a vn como y = lm u n o y = lm vn n n procedimiento de las secantes. Si en lugar de (15) se cumple la desigualdad contraria
2 f y2

qn ( x) = tan( n)

0,
2 f y2

las funciones un y vn cambian los papeles. Nota: (Importante) Si la derivada cambia de

signo en el intervalo [a, b], este caso es ms


F. Antoine S. A. Sangiacomo C.

33

Captulo 1

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

complicado y ser motivo de otro comentario o f ( x, v0 ) f ( x, u0 ) q0 ( x ) = folleto.

A5.4. Ejemplo:
Resolver la EDO de primer orden y ' = x + 2 y 2 , 0 x 1 ; y(0) = 0
2

v0 u0 ( x + 2v0 ) ( x + 2u0 ) = 2(v0 + u0 ) = v0 u0 = 2x .

Solucin: Se
f
2

Como se indica en proceso, sea u1 = u0 + 0 y v1 = v0 0 por (23) sea


x

cumple

2 f y2

>0,

pues, = e a p n ( x ) dx x r ( x)e a p n ( x ) dx dx n n a

(x+2 y )
2 2

= 4 > 0.

=e =

0 0 dx
x

Para este caso se cumple que

rn ( x)e
x
0

0 dx

x 0

dx x2 . 2

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

rn ( x)dx =

xdx =

I [ z] = z ' x 2z 2 .

Aplicamos lo antes visto del (2) al (24). Para tambin probar pongamos x x u0 =0 y v0 = x. q n ( x ) dx a q n ( x ) dx x a n = e sn ( x)e dx Por tanto se cumple en el intervalo 0 x 1 ; a 2

Entonces u1 = 0 +

x2 x2 = 2 2

I [u0 ] = x = r0 ( x) 0
y

=e

0 2 xdx
2

(1 x 2 x )e
2
2

2 xdx

x 0

dx

I [v0 ] = 1 x 2 x 2 = s0 ( x) 0 .
De donde se sigue

= ex

(1 x 2 x 2 )e x dx

0 y x en 0 x

1 . 2

la cual no es elemental, pero integrando por partes, por suerte, se eliminan y nos resulta

= e x ( 1 [1 e x ] + xe x ) 2
2 2 2

=1 ex + 1 +x 2 2
as

v1 = x [ 1 ex + 1 + x] = 2 2

1 2

ex

1 2

Para comprobar el signo del operador I[z] es el caso de z=u1 y z=v1. Sea

I [u1 ] = x x 2 x 2 = 2 x 2 0

Figura 6.
En virtud de la teora general pongamos

I [v1 ] = xe x x 1 (e 2 x 2e x + 1) 2

p0 ( x) = f y ( x, u0 ) = 4u0 = 0

= (e

x2

1 + 2x ex + 1) 0 2

En efecto pues por el teorema de Taylor se sabe


34

F. Antoine S.

A. Sangiacomo C.

Captulo 1

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

ex

= 1 + x 2e x < 1 + 2 x 2

reemplazado nos queda

I [v1 ] > (e x 1)( x x 2 ) 0 .


Evaluando la diferencia

Solucin: Los nicos puntos singulares en el plano son x = 1 y x = 1 . Por lo tanto, sabemos de antemano que hay una solucin

y=
2

v1 u1 = 1 (e x 1) 2
para 0 x 1 ,
2

x2 , 2

n=0

an x n ,

(2)

se cumple

(v1 u1 ) ' = x(e x 1) 0 .


En efecto para ver ello optimizamos e igualamos a cero y tenemos
2

valida en x < 1 con a0 y a1 arbitrarios. Para determinar la an , n>1, sustituimos la y de la ecuacin (2) en el miembro izquierdo de (1). De:

y '= y ''=

x(e x 1) = 0
x=0 o

n =0

nan x n 1
n =0

n(n 1)an x n 2

ex

=1

que resulta tambin x=0; ello hacer ver que es una funcin creciente entonces su mximo es en x = 1 , y
2

Y tenemos:

(1 x 2 ) n(n 1)an x n 2
n=0

mx(v1 u1 ) =

(1 / 2) 2 1 ( 2

(1 / 2) 2 1) 2

6 x nan x n 1 4 an x n = 0
n =0 n =0

=0.0170127083438707. De donde la solucin hasta este paso es:

o
n =0

y=

v1 + u1 1 x 2 = 4 (e 1 + x 2 ) . 2

n(n 1)an x n 2

n=0

n(n 1)an x n
n =0

Que es exacta hasta una centsima. Mtodo de Series Solucin cerca de un punto ordinario Dada una EDO, por ejemplo, de la forma a ( x ) y ' ' + b( x ) y + c ( x ) y = r ( x ) ,

n=0

6nan x n

4an x n = 0

o
n=0

n(n 1)an x n 2 (n 2 + 5n + 4)an x n = 0


n=0

(3) en la que hemos combinado series que contienen las mismas potencias de x. se llama punto ordinario al punto x = x0 si Vamos ahora a factorizar el coeficiente en la segunda serie de la ecuacin (3), tenemos a ( x0 ) 0 , en otro caso se llama punto singular n2 n ( n 1 ) a x de la EDO. (n + 1)(n + 4)an x n = 0 . n
n=0 n=0

(4) Al resolver ecuaciones numricas, es til la tcnica empleada en los siguientes ejemplos. Las relaciones para la determinacin de an sern obtenidas usando el hecho que para una serie de Ejemplo: Resolver la ecuacin: potencias sea idnticamente nula sobre cualquier intervalo, cada coeficiente de la serie debe (1 x 2 ) y ' ' 6 xy ' 4 y = 0 , (1) hacerse cero. Entonces, escribimos las dos series cerca del punto ordinario x=0. en la ecuacin (4) en una forma en la cual los
F. Antoine S. A. Sangiacomo C.

35

Captulo 1

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

9 exponentes de x sean los mismos de modo que se a6 = 8 a4 a7 = 7 a51 6 pueda extraer fcilmente el coeficiente de cada ... ... potencia de x. k +3 2k + 2 Lo conseguimos corriendo el ndice de la a 2 k = 2 k a0 a2 k +1 = 2 a . 2 k +1 2 k 1 segunda serie reemplazando n en todas partes por En seguida, obtenemos el producto de los (n - 2). Entonces la suma principiar desde n - 2 miembros correspondientes de la ecuaciones de = 0, o desde n=2, en lugar de n=0. Teniendo la primera y la segunda columna:
n=0

n(n 1)an x n 2 (n 1)(n + 2)an 2 x n 2 = 0


n=2

k 1 : a2 k =

468L( 2 k + 2) a0 , 2 46L( 2 k )

simplificando resulta: (5) En esta ecuacin (5) es el coeficiente de cada k 1 : a2 k = (k + 1)a0 , (6) potencia de x deber ser cero. Para n=0 y n=1, la como se ve es en funcin de a0 . segunda serie no principia an, entonces obtenemos contribuciones slo de primera serie. De forma similar para la otra columna: 57 9L( 2 k + 3) Puntualizando, tenemos k 1 : a2 k +1 = 357L( 2 k +1) a1 , n = 0 : 0 a0 = 0 , simplificando resulta: n = 1 : 0 a1 = 0 , k 1 : a2k +1 = 2k3+ 3 a1 , (6) n 2 : n(n 1)an (n 1)(n + 2)an 2 = 0 lo hace ver que estn en funcin de a1 . Como esperbamos, a0 y a1 son arbitrarios. La

relacin para n 2 puede ser usada para Para la solucin tenderemos: determinar todas las ai en funcin de a0 y a1 . 2k 2 k +1 y a a x a x + + = + 0 2k 1 a2k +1 x Ya que k =1 k =1 n(n 1) 0 usando los resultados (6 y 6) se tiene para n 2 , resultando
= + y a 1 (k + 1) x 2k La ecuacin (6) se llama de recurrencia. Nos 0 k =1 proporciona an en trminos de las ai precedentes. En este caso particular cada ai se + a1 x + 2k3+ 3 x 2 k +1 . (7) determina por la ai cuyo subndice es dos k =1 unidades menor que el suyo y, en consecuencia, Estas series convergen al menos para x < 1 . eventualmente, ya sea por a0 o a1 , de acuerdo con la ai original tenga subndice par o impar. En realidad y por casualidad estas series pueden

n 2 : an =

n+2 an2 . n

(6)

Una ecuacin de recurrencia es una clase especial escribirse de la forma: a0 a1 (3 x x 3 ) de ecuacin de diferencia. En las ecuaciones de . (8) y= + (1+ x 2 ) 2 (1 x 2 ) 2 diferencias los argumentos de la funcin desconocida (los subndices en nuestra relaciones) no difieren necesariamente por Ejemplo: Resolver la ecuacin enteros. y ' ' + ( x 1) 2 y '4( x 1) y = 0 , (9) Los clculos se pueden hacer por separado en dos alrededor del punto ordinario x=1. columnas. Solucin: Par Impar Para resolver una ecuacin alrededor del punto a2 = 4 a a3 = 5 a 2 0 3 1 x = x0 se necesita obtener soluciones vlidas

a4 = 6 a 4 2

a5 = 7 a 5 3

F. Antoine S.

A. Sangiacomo C.

36

Captulo 1

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

en una regin que rodea al punto, o sea, De aqu se tiene: soluciones expresadas en potencias de ( x x0 ) . Primera columna k En primer lugar trasladamos los ejes, hacia k 1 : a = ( 1) [( 4)( 1) 2L(3k 7 )]a0 . 3k [369L(3k )][ 258L(3k 1)] x 1 = v . Entonces la ecuacin (9) se vuelve Segunda colma dy d2y + v2 4vy = 0 . (10) 2 k 1: a = (1 + 1 )a + 0 .
dv dv

3k +1

Para una transformacin lineal pura x x0 = v , Tercera columna k 1 : a3k + 2 = 0 . dy dy tenemos = d v , etc. dx Ahora par y tenemos: Usamos entonces y =

n=0

an v n

y = a0 [1 +

k =1

( 1) k [( 4)( 1) 2L(3k 7 )]v 3 k [369L(3k )][ 258L(3k 1)]

reemplazando en (10) se obtiene


n=0

n(n 1)an v n 2 + nan v n +1 4an v n +1 = 0


n=0 n=0

Ya que v = x 1 , la solucin se expresa como:

a1 (v + 1 v 4 ) + a2 0 . 4

(11) Agrupando trminos iguales


n=0

y = a0 [1 +

k =1

( 1) k [( 4)( 1) 2L(3k 7 )]( x 1) 3 k [369L(3k )][ 258L(3k 1)]

(12) La ecuacin diferencial original no tiene puntos singulares en el plano finito, entonces la serie esta expresin con un corrimiento de ndice de n (14) es convergente para toda x finita. En los a (n 3) en la segunda serie queda clculos, por supuesto es de mayor utilidad en la vecindad del punto x=1. n(n 1)an v n 2 + (n 7)an 3v n 2 = 0 . (13) Con un poco de curiosidad se puede simplificar n=0 n =3 de la forma: a0 = a1 = 1
n=0

n(n 1)an v n 2 + (n 4)an v n +1 = 0

a1[( x 1) + 1 ( x 1) 4 ] . (14) 4

Para n = 0 : 0 a0 = 0 , a0 es arbitrario. Para n = 1 : 0 a1 = 0 , a1 es arbitrario. Para n = 2 : 2a2 = 0 , a2 = 0 . Para n 3 : n(n 1)an + (n 7)an 3 = 0 o

y = a0

4( 1) k ( x 1) 3 k 3 (3k 1)(3k 4) k !
k

k =0

+ a1[( x 1) + 1 ( x 1) 4 ] . (15) 4
Algunos resultados se muestran de esta serie

an =

n 7 n ( n 1)

an 3 .

[0, 1]; a0 = a1 = 1

[0, 4]; a0 = a1 = 1
Y(0) =-0.3938028547 Y(0.2) =-0.0330234219 Y(0.4) = 0.2894430721 Y(0.6) = 0.5638245178 Y(0.8) = 0.7950680892 Y(1) =1 Y(1.2) =1.2057347552 Y(1.4) =1.4491575275 Y(1.6) =1.7774306297 Y(1.8) =2.2494774811 Y(2) =2.9382941271 Y(2.2) =3.9337657086 Y(2.4) =5.3455021837 Y(2.6) =7.3051616382 Y(2.8) =9.9678752959 Y(3) =13.512694362 37

Ahora formamos tres grupos de ai :

Y(0) = - 0.39380285 Y(0.05) = - 0.30121929 Y(0.1) = - 0.20991925 a0 a1 a2 = 0 Y(0.15) = - 0.12038762 3 4 2 a3 = 3 a a = a a = a Y(0.2) = - 0.03302342 0 4 1 5 2 4 3 5 4 2 Y(0.25) = 0.05185374 0 1 a5 = ( )a2 = 0 Y(0.3) = 0.13399799 a6 = 6 a a7 = 7 a 5 3 6 4 Y(0.35) = 0.21323212 a10 = ( )a7 = 0 a11 = 0 a9 = 92 a Y(0.4) = 0.28944307 8 6 Y(0.45) = 0.36257788 ... ... ... Y(0.5) = 0.43264010 Y(0.55) = 0.49968655 a3k = a3k +1 = 0 a3k + 2 = 0 Y(0.6) = 0.56382451 7 3k3(k a 3 k 3 Y(0.65) = 0.62520912 3k 1) Y(0.7) = 0.68404121 Y(0.75) = 0.74056532

F. Antoine S.

A. Sangiacomo C.

Captulo 1

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Y(0.8) = 0.79506808 Y(0.85) = 0.84787681 Y(0.9) = 0.89935835 Y(0.95) = 0.94991822 Y(1) =1

Y(3.2) =18.142298010 Y(3.4) =24.082365847 Y(3.6) =31.580967487 Y(3.8) =40.908142985 Y(4) =52.355681591

Problemas:

Resolver alrededor de x = 0 en caso no se diga nada. 1. y ' '+3xy '+3 y = 0 . Sol.: y = a0 [1 +

a1[ x +

k =1

( 3) k x 2 k 2k k !

]+

begin x:=aa+h*i;fa3:=1; to1:=0; fa1:=1; fa2:=1; po1:=(x-1)*(x-1)*(x-1); d2:=1;po2:=1; t2:=-1; for i:=1-1 to NN do begin d1:=3*i-1; t1:=3*i-4;t2:=t2*(-1); to1:=to1+d2*t2/d1/t1; d2 :=d2*po1/3/(i+1); end; end; to1:=to1*4+(x-1)+(x-1)*(x-1)*(x-1)*(x-1)/4; Memo1.Lines.Add(' Y('+FloatToStr(x)+') =' +FloatToStr(to1)); end;

k =1

( 3) k x 2 k +1 ]. 357L( 2 k +1)

xR .

2. (1 + 4 x 2 ) y ' '8 y = 0 . Sol.: y = a0 [1 + 4 x 2 ] +

a1

( 1) k +1 2 2 k x 2 k +1 2 k 2 1

. x <1.
2

k =1

3. (1 + x 2 ) y ' '4 xy ' + 6 y = 0 . Sol.: y = a0 [1 3 x 2 ] + a1[ x 1 x 3 ] . x R .


3

4. ( x 9) y ' '+3 xy '3 y = 0 .


2

Sol.: y = a0 [1 +

k =1

[357L( 2 k +1)] x 2 k (18) k ( 2 k 1) k !

]+

a1 x .
5. 2 y ' '+ xy '4 y = 0 .

x < 3.

Sol.: y = a0 [1 + x 2 + 1 x 4 ] +
12

a1

3( 1) k x 2 k +1 2 2 k k !( 2 k 3)( 2 k 1)( 2 k +1)

. x finita.

6. (1 + 2 x ) y ' '5 xy '+3 y = 0 . Sol.:

k =1 2

y = a0 [1 +

3( 1) k [( 1)37L( 4 k 5)] x 2 k 2 k k !( 2 k 3)( 2 k 1)

]+

k =1

a1[ x + 1 x3 ] . 3

x <

1 2

7. Programar en Delphi un cdigo que sume las series anteriores. Solucin: para la Ecuacin (9) se tiene:
h:=(bb-aa)/NNT; // supongamos que a0=1 y a1=1 for i:=0 to NNT do // NNT=20; NN=200

F. Antoine S.

A. Sangiacomo C.

38

Captulo 2

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

CAPTULO 2
Objetivo: Conocer y estudiar los mtodos de multipaso [alta precisin] y hacer aplicaciones. Estudiar los mtodos numricos ampliados a sistemas EDO y de orden Mayor.

Uniendo estos punto se tiene una figura, as:

2.0. SOLUCIN DE ECUACIONES DIFERENCIALES que es una solucin aproximada. ORDINARIAS CON VALOR INICIAL POR MTODOS DE 2.1. Mtodo de Multipaso ALTA PRECISIN Como se dispone de la solucin aproximada en cada uno de los La idea es que dado unas puntos de red t0 , t1 , .., ti antes primeras soluciones por cualquier de que se obtenga la mtodo visto anteriormente; aproximacin en t y debido a i +1 pongamos por ejemplo ( 0 , y ( 0 )) , que el error w j y (t j ) tiende a (1 , y (1 )) , ( 2 , y ( 2 )) y incrementar con j, es razonable ( 3 , y ( 3 )) , con estos, por medio desarrollar mtodos que usen de una extrapolacin adecuada se estos datos anteriores, que sean consigue un nuevo valor ms precisos, cuando se ( 4 , y ( 4 )) , y con este ltimo otro aproxima la solucin en ti +1 . ( 5 , y ( 5 )) as sucesivamente hasta Los mtodos que utilizan ( x p , y ( x p )) . . . ( xn , y ( xn )) . aproximaciones en ms de un punto anteriores de red para determinar la aproximacin en el punto siguiente se llama mtodo
F. Antoine S. A. Sangiacomo C.

39

Captulo 2

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

wi +1 proporciona a explcitamente en funcin de valores determinados previamente. Cuando bm 0 , el mtodo se denomina mtodo implcito o cerrado ya que wi +1 aparece en ambos lados de la 2.1.1. Definicin Un mtodo multipaso para ecuacin (2) y est determinado resolver el problema de valor slo de una manera implcita. inicial 2.2. Mtodo de Extrapolacin de y = f (t , y ) , a t b , Adams (cuarto orden). y (a ) = . (1) Supongamos que se da la Es aquel cuya ecuacin de ecuacin diferencial diferencia para encontrar la aproximacin wi +1 en el punto de y = f (t , y ) a t b , , red ti +1 puede representarse con y (a) = . (3) la siguiente ecuacin, donde m es Se necesita hallar la solucin de un entero mayor que 1: esta ecuacin en el segmento wi +1 = am 1wi + am 2 wi 1 + ... + ao wi +1 m [ a, b] . + h[bm f (ti +1 , wi +1 ) + bm 1 f (ti , wi ) Dividimos el segmento [ a, b] en n + ... + b0 f (ti +1 m , wi +1 m )] (2) partes iguales por los puntos ti = t0 + ih , i = 0, 1, , n. i = m 1 para , m, , N-1, donde Elijamos el segmento [ x , x ] , i i +1 los valores iniciales integramos la ecuacin w0 = , w1 = 1 , w2 = 2 , diferencial ordinaria (3); entonces obtenemos , wm 1 = m 1 , t i +1 yi +1 = yi + y dt , ti estn especificados y h = (b a) / N . Cuando bm = 0 el mtodo se o bien denomina mtodo explcito o t i +1 y dt yi = (4) abierto y la ecuacin (2) ti
F. Antoine S. A. Sangiacomo C.

de multipaso. La definicin precisa de estos mtodos se da a continuacin, junto con la definicin de los dos tipos de mtodo de multipaso.

40

Captulo 2

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Para hallar la derivada hagamos Entonces para toda diferencia uso de la segunda frmula de tenemos m qi = hm yi y nos interpolacin de Newton (hacia queda atrs, limitndonos en este caso por las diferencias de tercer y = q + 1 q + 5 2q + 3 3q . i i 2 i 1 12 i 2 8 i 3 orden);
(8)

y = yi + uyi1 +
+

u (u + 1) 2 yi 2 2!

u (u + 1)(u + 2) 3 yi3 , 3!

donde u = (t ti ) / h o bien
(u 2 + u ) 2 yi 2 y = yi + uyi1 + 2

de la frmula yi +1 = yi + yi obtenemos la (5) solucin de ecuacin diferencial. La frmula (8) lleva el nombre de frmula de extrapolacin de Adams.

Con

ayuda

Para el comienzo del proceso se necesita cuatro valores iniciales u 3 + 3u 2 + 2u 3 + yi 3 , (5) y , y , y y y3 , o sea, el 1 0 2 6 llamado segmento inicial que Sustituyendo la expresin para y puede ser hallado partiendo de la de (5) en (4) y recordando que condicin inicial (3) con la dt = hdu , tenemos utilizacin de uno de los mtodos conocidos de paso uno. Por 1 u2 + u 2 yi = h yi + uyi1 + yi 2 ejemplo Runge-Kutta. 0 2

+ u 3 + 3u 2 + 2u 3 yi 3 du 6

Conociendo y0 , y1 , y2 y y3 , se puede determinar


= hf (t0 , y0 ) ; q0 = hy0

5h 2 = hyi + h yi1 + 12 yi 2 + 38h 3 yi 3 2

(6)

= hf (t1 , y1 ) ; q1 = hy1
= hf (t 2 , y2 ) ; q2 = hy2

Para facilitar los clculos designemos a continuacin


qi = h yi = h f (ti , yi ) ,

= hf (t3 , y3 ) ; q3 = hy3
(7)
A. Sangiacomo C.

(9)

i = 0, 1, , n.
F. Antoine S.

41

Captulo 2

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Luego construimos la tabla de ltimo valor de y es y3 , con ello diferencias de la magnitud q (vea se obtiene la tabla 5). 5 2 3 3 y3 = q3 + 1 q2 + 12 q1 + 8 q0 . 2
I
(1)

ti
(2)

yi
(3)

yi
(4)

yi = f (ti , yi )
(5)

q = hyi
(6)

0 1 2

t0 t1 t2 t3 t4 t5 t6

y0 y1 y2 y3 y4 y3

f (t0 , y0 ) f (t1 , y1 ) f (t 2 , y2 ) f (t3 , y3 )

q0 q1 q2 q3

3 4 5 6

El valor obtenido y3 se apunta en la tabla 5 en el primer recuadro marcado y se halla y4 = y3 + y3 , y se coloca en el recuadro marcado oscuro. Con ese valor y el de t 4 se calcula
f (t 4 , y4 ) , q4 , q3 , 2 q2 , 3q1 , o

Van I Viene
(1)

qi
(7)

2 qi
(8)

3qi
(9)

sea, se obtiene una nueva diagonal. Basndose en estos datos se halla


5 2 3 3 y4 = q4 + 1 q3 + 12 q2 + 8 q1 . 2

0 1 2 3 4 5 6

q0
q1 q2

2 q0 2 q1

3q0

Y as se prolonga la tabla hasta los valores deseados. 2.2.1. Ejemplo

Calcular el valor y (1.5) en la Tabla 5. ecuacin diferencial ordinaria y (0) = 1.5 , El mtodo de Adams consiste en y = y t , 0 t 1.5 , y la prolongacin de la tabla con exactitud de hasta 0.01, por diagonal de diferencias con el mtodo de Adams ayuda de (9). Usando los nmeros q3 , q2 , 2 q1 , 3q0 que Solucin: se disponen en la tabla 5 en Usando la frmula (16) de diagonal, con ayuda de la Runge-Kutta o un mtodo frmula (9), suponiendo n = 3, el abreviado como
F. Antoine S. A. Sangiacomo C.

42

Captulo 2

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

h 4 < 0.01 ,

o sea, h = 0.25. Calculando por Runge-Kutta y0 , y1 , y2 y y3 , tenemos:


i
0 1 2 3 4 5 6

ti
0.000000 0.250000 0.500000 0.750000 1.000000 1.250000 1.500000

yi
1.500000 1.892008 2.324350 2.808479 3.358833 3.994338 4.739255

yi

yi =
f (ti , yi )

van

TForm1_Adams_runge = class(TForm) BitBtn1: TBitBtn; BitBtn2: TBitBtn; Memo1: TMemo; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Edit4: TEdit; Edit5: TEdit; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; RadioGroup1: TRadioGroup; RadioButton1: TRadioButton; CheckBox1: TCheckBox; procedure BitBtn2Click(Sender: TObject); procedure BitBtn1Click(Sender: TObject); procedure FormCreate(Sender: TObject); end; var Form1_Adams_runge: TForm1_Adams_runge; implementation

0.550354 0.635505 0.744917 0.000000

1.500000 1.642008 1.824350 2.058479 2.358833 2.744338 3.239255

{$R *.DFM}
Var a,b,c,x,y,y0,y1,y2,z,t,t1,t2,h,k1,k2,k3,k4:_r; i,j,k,n,m,lx:_i; v1,v2,v3:_v; m1,ma:_m; d,s, ang:string; Function fxy(t,y: _r):_r; {funcin de clculo} Begin {CAMBIAR AQU LA FUNCIN DE LA EC. DIFERENCIAL} {===========================} fxy:=y-t {===========================} End; Procedure recal; Begin k1:=h*fxy(t,y); if true {s='1'} then begin k2:=h*fxy(t+h/2, y+k1/2); k3:=h*fxy(t+h/2, y+k2/2); k4:=h*fxy(t+h, y+k3); t:=t+h; y:=y +(k1+2*k2+2*k3+k4)/6; End; if s='2' then begin k2:=h*fxy(t+h/2, y+k1/2); k3:=h*fxy(t+h/2, y+k1/4+k2/4); k4:=h*fxy(t+h, y-k2+2*k3); t:=t+h; y:=y +(k1+4*k3+k4)/6; End; End; Procedure pro2; var as1:_i; Begin {cuerpo de ejecucin del mtodo de Runge-Kutta4 } n := StrToInt(Form1_Adams_runge.Edit4.Text); if n>20 then n:=20; y:=y0; t:=t1; h:=(t2-t1)/n; as1:=0; ma[as1+1,1]:=0;ma[as1+1,2]:=t; ma[as1+1,3]:=y; Repeat a:=y; recal;ma[as1+2,1]:=as1+1; ma[as1+2,2]:=t; ma[as1+2, 3]:=y; ma[as1+1,5]:=k1/h; ma[as1+1,6]:=k1; as1:=as1+1; Until (as1>3); End; procedure TForm1_Adams_runge.BitBtn2Click(Sender: TObject); begin close; end; Procedure Publicar; var i,j:_i; Begin
A. Sangiacomo C.

vienen

q = hyi
0.375000 0.410502 0.456087 0.514620 0.589708 0.686085 0.809814

qi
0.035502 0.045585 0.058532 0.075089 0.096376 0.123729

2 qi
0.010083 0.012947 0.016556 0.021288 0.027353

3qi
0.002864 0.003609 0.004731 0.006065

Tabla 6

Como se ve el resultado es y (1.5) = 4.739255 .


2.2.2. Programa

en Delphi Pascal

unit Adam_Rug_x1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, ExtCtrls; type _r = Extended; _i = integer; _s = String; _v=array[1..10] of _r; _M=array[1..21] of _v;
F. Antoine S.

43

Captulo 2

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Form1_Adams_runge.Memo1.Lines.Add( ' Mtodo de Adams 4to Orden'); Form1_Adams_runge.Memo1.Lines.Add( ' i ti '+ 'yi Ayi y''i q'+ ' Aq AAq AAAq'); for i:=1 to n+1 do Begin s:=''; For j:=1 to 9 do begin str(ma[i,j]:1:8,d); s:=s+' '+d; end; Form1_Adams_runge.Memo1.Lines.Add(s); End; End; procedure TForm1_Adams_runge.BitBtn1Click(Sender: TObject); begin fillchar(ma,sizeof(ma),0); t1 := StrToFloat(Edit1.Text); t2 := StrToFloat(Edit2.Text); y0 := StrToFloat(Edit3.Text); pro2; if CheckBox1.Checked then Memo1.Clear; For i:=1 to 3 do Begin For j:=1 to 4-i do Begin ma[j, 6+i] :=ma[j+1, 5+i]-ma[j, 5+i] end End; i:=3; Repeat i:=i+1; k2:=ma[i, 6]+ma[i-1, 7]/2 +5*ma[i-2, 8]/12+3*ma[i-3, 9]/8; ma[i, 4]:=k2; ma[i+1, 3]:=k2+ma[i,3]; ma[i+1, 2]:=t; ma[i+1, 1]:=i; ma[i+1, 5]:=fxy(t,ma[i+1, 3]); ma[i+1, 6]:=h*ma[i+1, 5]; ma[i, 7] :=ma[i+1, 6]-ma[i, 6]; ma[i-1, 8] :=ma[i, 7]-ma[i-1, 7]; ma[i-2, 9] :=ma[i-1, 8]-ma[i-2, 8]; t:=t+h Until (t>t2+h/1000); Memo1.Lines.Add('===================='); Publicar; end; procedure TForm1_Adams_runge.FormCreate(Sender: TObject); begin Memo1.Clear; CheckBox1.Checked:=true; end; end.

orden, y desarrollando las diferencias finitas, como sigue


w0 = , w1 = 1 , w2 = 2 , w3 = 3 ,
h wi +1 = wi + 24 [55 f (ti , wi )

59 f (ti 1 , wi 1 ) + 37 f (ti 2 , wi 2 )

9 f (ti 3 , wi 3 )] ,

(10)

para cada i = 3, 4, , N-1, definen un mtodo explcito de cuatro pasos. 2.2.3. Algoritmo del Mtodo de Adams de Cuarto Orden
Paso 1: Definir f (t , y ) { y = f (t , y ) } Paso 2: Entrar a, b, N {intervalo y nmero de intervalos} Paso 3: Entrar y0 {condiciones iniciales} Paso 4: Hacer h = (b a ) / N

t=a w = y0
Publicar (t, w) Paso 5: Para i = 1 hasta 3 Hacer Paso 6: k1 = hf (t , w) Paso 7: k 2 = hf (t + h , w + 1 k1 ) 2 2 Paso 8: k3 = hf (t + h , w + 1 k 2 )
2 2

Paso 9: k 4 = hf (t + h, w + k3 ) Paso 10: w = w + 1 [ k1 + 2k 2 + 2k3 + k 4 ]


6

Siguiendo las mismas ideas podemos definir de otra manera, tomando el nombre de mtodo Adams-Bashforth de cuarto
F. Antoine S.

Paso 11: Publicar (t, w) Paso 12: t = a + ih Paso 13: Para i = 4 hasta N-1 Hacer
{mtodo de multipaso}

Paso 14: h w = w + 24 [55 f (ti , wi ) 59 f (ti 1 , wi 1 )


+ 37 f (ti 2 , wi 2 ) 9 f (ti 3 , wi 3 )]

Paso 15: Publicar (t, w)


A. Sangiacomo C.

44

Captulo 2

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

El error de truncamiento local para los mtodos multipaso se puede definir anlogamente al de 2.2.4. Ejemplo los mtodos de un paso. Este Determinar la tcnica de Adams- error da una medida de cunto la solucin de la ecuacin de Bashforth de tres pasos. diferencias falla en la solucin de la ecuacin diferencial ordinaria. Solucin: Considerando la ecuacin (5):
5h 2 yi = hyi + h 2 yi 1 + 12 yi 2 + 3h 8

Paso 16: t = a + ih Paso 17: Parar.

3 yi3

2.3. Definicin Si y( t ) es la solucin del problema de valor inicial


y = f (t , y ) , a t b ,
y (a) = .

o de su forma
y (ti +1) = y (ti ) + hf (ti , y (ti ))

(12)

+h f (ti , y (ti )) 2
5h 2 + 12 f (ti , y (ti )) + ...

wi +1 = a m wi + a m 1 wi 1 + ... + a0 wi m
+ h[bm +1 f (ti +1 , wi +1 ) + bm f (ti , wi ) +

0 im im desarrollando las diferencias indicadas hacia atrs ( ) queda: es el (i+1) paso en un mtodo de multipaso, el error de h y (ti +1) = y (ti ) + 12 [23 f (ti , y (ti )) truncamiento local en este paso 16 f (ti 1, y(ti 1)) + 5 f (ti 2 , y(ti 2 ))] r es i +1

... + b f (t

,w

)]

(11)

Lo ponemos en forma de ser usado numricamente


w0 = , w1 = 1 , w2 = 2 ,
h wi +1 = wi + 12 [23 f (ti , wi )

ri +1 =

y (ti +1 ) am y (ti ) ... a0 y (ti m ) h

[bm +1 f (ti +1 , y (ti +1 )) + bm f (ti , y (ti )) +

... + b0 f (ti m , y (ti m ))]


(13)

16 f (ti 1 , wi 1 ) + 5 f (ti 2 , wi 2 )] , (11)

para cada i = m, m+1, , N-1. 2.3.1. Ejemplo

para i =2, 3, , n-1.

F. Antoine S.

A. Sangiacomo C.

45

Captulo 2

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Para determinar el error de truncamiento local del mtodo de Adams-Bashforth de tres pasos del ejemplo anterior consideramos la forma del error
h
m +1 ( m )

Demos una relacin de mtodos de multipaso 2.3.2. Mtodo de AdamsBashforth de Dos Pasos:
w0 = ,

1 s ds (qi , y (qi ))(1) m 0 m

w1 = 1 ,
(15)

(14)

wi +1 = wi + h [3 f (ti , wi ) f (ti 1, wi 1 )] 2

donde ti < qi < ti +1 . para i = 1, 2, 3, , N-1, con error Usando el hecho de que m = 3 de truncamiento local 2 tenemos ( 3 ) r = 5h y ( q ) .
i +1

1 s ds = h 4 f (3) (qi , y (qi ))(1)3 0 3 4 3h (3) = f (qi , y (qi )) . 8

12

2.3.3. Mtodo de AdamsBashforth de tres pasos:


w0 = , w1 = 1 , w2 = 2 ,
h wi +1 = wi + 12 [ 23 f (ti , wi )

Donde
1 s 1 s ( s 1)( s 2)( s 3)! (1) 3 ds = ds 0 3 0 3!( s 3)!

3 = 8

16 f (ti 1 , wi 1 ) + 5 f (ti 2 , wi 2 )]

(16)

Como f (3) (qi , y (qi )) = y ( 4) (qi ) y la para cada i = 2, 3, 4, , N-1, con ecuacin diferencial ordinaria error 3 de truncamiento local ri +1 = 3h y ( 4) (qi ) . derivada en el ejemplo anterior 8
ri +1 = y (ti +1 ) y (ti ) 1 12 [23 f (ti , y (ti )) h

16 f (ti 1 , y (ti 1 )) + 5 f (ti 2 , y (ti 2 ))]


3h 4 (3) 3h 3 ( 4) =1 f ( q , y ( q )) y (qi ) . i i = h 8 8

2.3.4. Mtodo de AdamsBashforth de Cuatro Pasos: Ver frmula (10), con error de truncamiento local 4 h ri +1 = 251 y (5) ( qi ) . 720

F. Antoine S.

A. Sangiacomo C.

46

Captulo 2

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

2.3.5. Mtodo de AdamsBashforth de Cinco Pasos: para i = 1, 2, 3, , N-1, con error de truncamiento local 3 ( 4) w0 = , w1 = 1 , ri +1 = h y (qi ) . 24 w2 = 2 , w3 = 3 , 2.3.7. Mtodo de Adamsw4 = 4 Moulton de Tres Pasos:
h wi +1 = wi + 720 [1901 f (ti , wi )

2774 f (ti 1 , wi 1 ) + 2616 f (ti 2 , wi 2 ) 1274 f (ti 3 , wi 3 ) + 251 f (ti 4 , wi 4 )] (18)

w0 = , w1 = 1 , w2 = 2 ,
h wi +1 = wi + 24 [9 f (ti +1, wi +1 ) + 19 f (ti 1, wi 1 )

5 f (ti 1 , wi 1 ) + f (ti 2 , wi 2 )] para cada i = 4, 5, , N-1, con (21) error de truncamiento local h 5 (6) para cada i = 2, 3, 4, , N-1, con ri +1 = 95 y (qi ) . 288 error de truncamiento local Los mtodos de multipaso r = 19h 4 y (5) (q ) . i +1 i 720 implcitos se construyen usando (ti +1 , f (ti +1 , y (ti +1 ))) como un nodo 2.3.8. Mtodo de Adamsde interpolacin adicional en la Moulton de Cuatro Pasos: aproximacin de la integral

t i +1
i

f (t , y (t ))dt .

(19)

w0 = , w1 = 1 , w2 = 2 , w3 = 3 ,
wi +1 = wi +
h [251 f 720

Tambin mostramos una relacin de los ms usados. 2.3.6. Mtodo de AdamsMoulton de Dos Pasos:
w0 = , w1 = 1 ,
f (ti 1, wi 1 )]

(ti +1, wi +1 )

+ 646 f (t i , wi ) 264 f (t i 1 , wi 1 )

+ 106 f (ti 2 , wi 2 ) 19 f (ti 3 , wi 3 )] (22)

h wi +1 = wi + 12 [5 f (ti +1, wi +1 ) + 8 f (ti , wi )

para cada i = 3, 4, , N-1, con error de truncamiento local 3h 5 ( 6 ) ri +1 = 160 y ( qi ) . 2.4. Mtodo de Milne
A. Sangiacomo C.

(20)
F. Antoine S.

47

Captulo 2

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Un mtodo particular que resulta cuando un polinomio regresivo de Newton se integra sobre [ti 3 , ti +1 ] es el mtodo explcito denominado mtodo de Milne. Al igual que el mtodo de RungeKutta, el de Milne es un mtodo de exactitud elevada. Supongamos que en el segmento [ a , b] se necesita hallar la solucin numrica de la ecuacin diferencial ordinaria

(25)

ui = yi 2 + h ( wi + 4 yi1 + yi 2 ) , 3
(26)

y = f ( t , y) , a t b ,
y(a ) = .
(23)

Dividamos el segmento [ a , b] en n partes iguales por los puntos ti = a + ih , donde h = (b a ) / n , i = 0, 1, , n, en el paso de integracin. q (q 1) 2 Utilizando los datos iniciales, y = yk + q y k + yk 2 ! encontramos por un mtodo q (q 1)(q 2) 3 . + yk cualquiera los primeros valores 3! y1 = 1 , y2 = 2 , sucesivos y3 = 3 de la funcin buscada resolviendo
y(t ) .
+ qyk + 1 (q 2 q )2 yk y = yk 2

donde wi = f (ti , wi ) . Con el fin de deducir las frmulas de Milne (25 y 26) utilicemos la primera frmula de interpolacin de Newton para la derivada y en cierto punto escogido t k . En este caso nos limitamos por las diferencias de tercer orden; esto es equivalente al hecho de que la integral y = y( t ) de la ecuacin diferencial ordinaria (23) se aproxima por un polinomio de cuarto grado. Tenemos

(27)

Las aproximaciones wi y u j +1 (q 3 3q 2 + 2q) 3 yk 6 (28) para los siguientes valores de yi con i = 4, 5, , n, se determinan donde q = (t t ) / h . k sucesivamente con ayuda de las Suponiendo en (28) que k = i 4, frmulas de Milne obtenemos 4h wi = yi 4 + 3 (2 yi3 yi 2 + 2 yi1 ) ,
F. Antoine S. A. Sangiacomo C.

48

Captulo 2

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

y = yi 4 + qyi 4 + 1 (q 2 q )2 yi 4 2
3 2 3 ( q 3 q 2 q ) yi 4 . +1 + 6

entonces, sustituyendo en (30), resulta la primera frmula de (29) Milne (25) con
wi = yi 4 + 43h (2 yi 3 yi 2 + 2 yi1 ) ,

Integrando esta ltima respecto a t entre ti 4 y ti

ti
i 4

ydt =

ti t i 4

[ yi 4 + qyi 4

+1 (q 2 q)2 yi 4 2 +1 (q 3 3q 2 + 2q )3 yi 4 ]dt . 6

Ahora poniendo en (29) k = i 2 e integrando con respecto a t entre ti 2 y ti nos resulta:


y = yi 2 + qyi 2 + 1 (q 2 q )2 yi 2 2

( q 3 3q2 + 2q ) 3 yi 2 . (31) +1 6

Recordando que q = (t ti 4 ) / h y donde q = (t ti 2 ) / h . dt = hdq , tenemos 2 ti


yi yi 4
4 4 = h yi 4 dq + yi 4 qdq 0 0

i2

ydt = h [ yi 2 + qyi 2
0

+1 (q 2 q )2 yi 2 2
(q3 3q 2 + 2q)3 yi 2 ]dt . +1 6
2 yi 2 yi yi 2 = h 2 yi 2 + 2yi 2 + 1 3

+1 2 yi 4 (q 2 q )dq 2
0

),

+1 3 y i 4 (q 3 3q 2 + 2q )dq . 6 0
4

(32)

yi yi 4 = h(4 yi 4 + 8yi 4
+ 20 2 yi 4 + 8 3 yi 4 3 3

y llegamos a (26)
yi = yi 2 + h ( y + 4 yi1 + 2 yi 2 ) , 3 i

(30)

Usando la definicin diferencia finita


yi4 = yi3 yi4 ,

donde para yi = f (ti , wi ) , de haciendo wi = yi se tiene


ui = yi 2 + h ( wi + 4 yi1 + yi 2 ) . 3

(26)

2 yi4 = yi2 2 yi3 + yi4


3 yi4 = yi1 3 yi2 + 3 yi3 yi4 ,

2.4.1. Ejemplo

F. Antoine S.

A. Sangiacomo C.

49

Captulo 2

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Resolver y = y t , 0 t 1.5 , diferencial ordinaria (EDO) de y (0) = 1.5 , por el mtodo de orden mayor en un sistema de y EDO de primer orden. Milne
i
0 1 2 3 4 5 6

ti
0.0000 0.2500 0.5000 0.7500 1.0000 1.2500 1.5000

yi
1.5000 1.8920 2.3243 2.8084

yi =
f (ti , yi )

wi
0.0000 0.0000 0.0000 0.0000 3.3588 3.9947 4.7402
yi

wi

van

1.5000 1.6420 1.8243 2.0585

2.3588 2.7447 3.2402

Un sistema de orden m de problemas de valor inicial de primer orden se puede expresar en la forma
du1 dt = f1 (t , u1 , u 2 ,..., u m ) du 2 = f 2 (t , u1 , u 2 ,..., um ) dt L L L L L dum = f m (t , u1 , u2 ,..., u m ) dt

i
0 1 2 3 4 5 6

vienen

ui

yi

(1)

3.3590 3.9950 4.7406

2 10 4

3.3590 3.9950 4.7406

2.3590 2.7450

3 10 4
4 10
4

Tabla 7.

para a t b , con las condiciones iniciales


u1 ( a ) = 1 ,

Problema

u 2 (a) = 2 ,

(2) , u m (a) = m . Deduzca la frmula de AdamsBashforth de orden cinco. La idea aqu es hallar m Sugerencia: Usar un trmino ms funciones u1 , u 2 , , u m que de satisfagan las ecuaciones la ecuacin (5) o (5). diferenciales del sistema y las 2.5. Ecuaciones de Orden Mayor condiciones iniciales. y Sistemas de Ecuaciones Discutiremos la existencia y unicidad de las soluciones de los Diferenciales Ordinarias sistemas de ecuaciones, Resolveremos en esta parte las extendiendo la definicin de las ecuaciones diferenciales de orden condiciones de Lipschitz para mayor sujetas a condiciones funciones de varias variables.

iniciales. Las tcnicas que discutiremos se limitan a aquellas 2.5.1. Definicin que transforman una ecuacin
F. Antoine S. A. Sangiacomo C.

50

Captulo 2

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

que la funcin Supongamos que D = {(t , u1,..., um ) f (t , y1 , y 2 ,..., y m ) , definida en el a t b, < ui < , para cada conjunto i = 1,2,..., m} y sea f i (t , u1 , u 2 ,..., u m ) , para cada D = {(t , u1,..., um ) a t b, < ui < , para cada i = 1,2,..., m} i = 1, 2, ..., m continua en D y tal que satisface la condicin de satisface la condicin de Lipschitz ah. El sistema de Lipschitz de D en las variables ecuaciones diferenciales u1 , u2 , , um si existe una ordinarias de primer orden (1) constante L > 0 con la propiedad sujetas a las condiciones iniciales (2) tiene una solucin nica u1 (t ) , de que u 2 (t ) , , u m (t ) para a t b . f (t , u , u ,..., u ) f (t , z , z ,..., z ) < Se dice
1 2 m 1 2 m

< L uj zj
j =1

(3)

para

toda

(t , u1 , u 2 ,..., u m )

(t , z1 , z 2 ,..., z m ) de D.
Usando el teorema del Valor Medio, se puede demostrar que si f y sus primeras derivadas parciales son continuas en D y si
f (t , u1 , u2 ,..., u m ) L ui

Los mtodos para resolver sistemas ecuaciones diferenciales ordinarias de primer orden son generalizaciones de los anteriores mtodos para una sola variable de ecuaciones de primer orden. Por ejemplo, el mtodo de Euler, Heun o el de Runge-Kutta de cuarto orden; usados para resolver el problema de valor inicial
y = f (t , y ) , y (a) = .

a t b,

ahora cada i = 1, 2, , m y toda (t , u1 , u 2 ,..., u m ) en D entonces f Tomaremos por esta oportunidad el de Runge-Kutta dado por satisface la condicin de w0 = y0 = Lipschitz L. 2.5.2. Teorema
k1 = hf (ti , wi )

k 2 = hf (ti + h , wi + 1 k) 2 2 1
A. Sangiacomo C.

F. Antoine S.

51

Captulo 2

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

k3 = hf (ti + h , wi + 1 k ) 2 2 2

k 4 = hf (ti + h, wi + k3 )
wi +1 = wi + 1 [ k + 2k 2 + 2k3 + k 4 ] 6 1

para cada i = 0, 1, , N-1. Usados para resolver el problema k1,i = hf i (t j , w1, j , w2, j ,..., wm, j ) , (5) de valor inicial
y = f (t , y ) , a t b , y (a) = ,
k2,i = hf i (t j + h ,w + 1 k ,w 2 1, j 2 1,1 2, j

valores w1, j +1 , w2, j +1 , , wm, j +1 . Para ello calculamos los valores de los k p,q , p = 1, 2, 3 y 4; q = 1, 2, , m.

+1 k ,..., wm, j + 1 k ) 2 1, 2 2 1, m

(6)

se puede generalizar as Escogemos un entero N > 0 y h = (b a ) / N tomamos para dividir el intervalo [ a , b] en N subintervalos con puntos de red
t j = a + jh , para cada j = 0, 1, , N. y

k3,i = hfi (t j + h ,w + 1 k ,w 2 1, j 2 2,1 2, j


+1 k ,..., wm, j + 1 k ) 2 2, 2 2 2, m

(7)

k 4, i = hf i (t j + h, w1, j + k3,1 , w2, j + k3, 2 ,..., wm, j + k3, m )


(8)

wi , j +1 = wi , j + 1 (k + 2k 2,i + 2k3,i + k 4,i ) 6 1, i

Usaremos la notacin wi, j para denotar una aproximacin de ui (t j ) para cada j = 0, 1, , N e i = 0, 2, , m; esto es, wi, j aproximar a la i-sima solucin ui (t j ) de (1) el j-simo punto de red t j . Para las condiciones iniciales, tomamos
w1,0 = 1 , w2,0 = 2 ,

(9)

para cada i = 1, 2, , m. Debe notarse que k1,1 , k1,2 , , k1, m debemos ser calculados antes de que k 2, i para cada i = 1, 2, , m, etc.

, wm,0 = m .

2.5.3. Algoritmo de Runge-Kutta para Sistemas de Ecuaciones Diferenciales Ordinarias de (4) primer orden
Paso 1: Definir f i (t , u1 , u 2 ,..., u m ) { i = 1, , m} Paso 2: Entrar a , b; {Lmites del intervalo} Entrar 1 ,..., m {condiciones iniciales} Entrar N {nmero de particiones} Paso 3: Hacer h = (b a ) / N
A. Sangiacomo C.

Ahora construimos el proceso iterativo con los valores w1, j ,


w2, j , , wm, j para obtener los
F. Antoine S.

52

Captulo 2

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Paso 4: Para k = 1 hasta m hacer wk = k . Paso 5: Publicar (t , w1 , w2 , ..., wm ) Paso 6: Para i = 1 hasta N hacer Paso 7: Para j = 1 hasta m hacer Paso 8: Para j = 1 hasta m hacer

t=a

as obtenemos el sistema de Primer orden


du1 dy dt = dt = u 2 du dy 2 = = u3 dt dt L L L L dum 1 dy ( m 2) = um dt = dt ( m 1) dum = dy = y ( m) dt dt = f (t , y, y ,..., y ( m 1) ) = f (t , u1 ,..., um )

k1, j = hf j (t , w1 , w2 ,..., wm )

k 2, j = hf j (t + h , w1 + 1 k ,w 2 2 1,1 2

+1 k ,..., wm + 1 k ) 2 1, 2 2 1, m
Paso 9: Para j = 1 hasta m hacer

k3, j = hf j (t + h , w1 + 1 k ,w 2 2 2,1 2

+1 k ,..., wm + 1 k ) 2 2, 2 2 2, m
Paso 10: Para j = 1 hasta m hacer

k 4, j = hf j (t + h, w1 + k3,1 , w2

y las condiciones iniciales son


u1 (a) = y (a) = 1 , u 2 (a ) = y (a ) = 2 ,

+ k3, 2 ,..., wm + k3, m )


Paso 11: Para j = 1 hasta m hacer wj = wj + 1 ( k + 2k 2, j + 2k3, j + k 4, j ) 6 1, j Paso 12: Hacer t = a + ih Paso 13: Publicar (t , w1 , w2 , ..., wm )

, 2.5.4. Ejemplo

u m (a) = y ( m 1) = m .

Paso 14: Parar.

Para convertir una ecuacin Resolver la ecuacin diferencial diferencial ordinaria general de ordinaria de segundo orden orden m de la forma y ' '2 y '+2 y = e 2t sin(t ) , 0 t 1 ,
y ( m ) (t ) = f (t , y , y ,..., y ( m 1) ) ,

at b,
con

con

condiciones iniciales y (0) = 0.4 , y (0) = 0.6 .

condiciones iniciales y ( a ) = 1 , y (a) = 2 , , Solucin: y ( m 1) (a) = m , en un sistema de Hacemos u1 (t ) = y (t ) , u 2 (t ) = y (t ) , ecuaciones diferenciales de la transformndose en el sistema forma (1) y (2), se toma una (t ) = u 2 (t ) u1 nueva variable u1 (t ) = y (t ) , (t ) = e 2t sin(t ) + 2u2 (t ) 2u1 (t ), u 2 u 2 (t ) = y (t ) , , u m (t ) = y ( m 1) (t ) . Y

F. Antoine S.

A. Sangiacomo C.

53

Captulo 2

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

condiciones iniciales u1 (0) = 0.4 , u 2 (0) = 0.6 . Ahora usamos el algoritmo de Runge-Kutta anterior para aproximar la solucin de la ecuacin diferencial ordinaria. Si tomamos N = 10, h = 0.1.
w1 = 0.4 ,
w2 = 0.6

con

2( w1 (t0 + h )+ 2
= 0.03152409237

k2,1 2

)]

k 4,1 = h[ w2 (t 0 + h) + k3,2 ] = 0.06315240924

k 4, 2 = h[e 2(t 0 + h ) sin (t0 + h)

+ 2( w2 (t0 + h) + k3, 2 ) 2( w1 (t0 + h) + k3,1 )]


= 0.02178637298

k1,1 = h[ w2 (t 0 )] = 0.1 (0.6) = 0.06 y


k1, 2 = h[e
2t 0

w1 = w1 + 1 (k + 2k 2,1 + 2k3,1 + k 4,1 ) 6 1,1


= 0.4617333423

sin (t 0 ) + 2 w2 (t 0 ) 2 w1 (t 0 )]

= 0.1 [e

20

sin(0) + 2(0.6) 2( 0.4)]

w2 = w2 + 1 (k + 2k 2, 2 + 2k3, 2 + k 4, 2 ) 6 1, 2
= 0.6316312421

= 0.04
k 2,1 = h[ w2 (t 0 + h )+ 1 k ] 2 2 1, 2
= 0.1 (0.6 1 (0.04)) = 0.062 2
2(t 0 + h ) 2

En la tabla se muestra los resultados que siguen del problema:


N
0 1 2 3 4 5 6 7 8 9 0

ti
0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0

w1, i
-0.4000000000 -0.4617333423 -0.5255598832 -0.5886014356 -0.6466123060 -0.6935666553 -0.7211518991 -0.7181529518 -0.6697113266 -0.5564429025 -0.3533988604

w2, i
-0.6000000000 -0.6316312421 -0.6401489478 -0.6136638059 -0.5365820287 -0.3887380973 -0.1443808672 0.2289970176 0.7719917959 1.5347814763 2.5787663372

yi
-0.4000000000 -0.4617329707 -0.5255590476 -0.5886000461 -0.6466102841 -0.6935639464 -0.7211484906 -0.7181488962 -0.6697067731 -0.5564381368 -0.3533943569

yi w1, i
0.0E 0 3.7E-7 8.4E-7 1.4E-6 2.0E-6 2.7E-6 3.4E-6 4.1E-6 4.6E-6 4.8E-6 4.5E-6

k 2, 2 = h[e

sin (t0 + h ) + 2( w2 (t0 + h ) 2 2

k1, 2 2

) 2( w1 (t0 + h )+ 2

k1,1 2

)]

= h[e0.3sin(0.15) + 2(0.6 0.03) 2(0.4 0.02)]

= 0.0324754475 7
)+ k3,1 = h[ w2 (t0 + h 2 k 2, 2 2 ]

Tabla 8.

= 0.0612382238
k3, 2 = h[e
2(t0 + h ) 2

sin (t0 + h ) 2
k 2, 2 2 )
Figura 1.

+ 2( w2 (t0 + h )+ 2

F. Antoine S.

A. Sangiacomo C.

54

Captulo 2

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

2.5.5. Programa en Pascal

{Convierte el string en una matriz del tipo m x (m+1) o sea: [ 2 , 4 , 6 , 7] }

unit Run_Siste_Va_Sim1_; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons; type TRunge_sis1 = class(TForm) GroupBox1: TGroupBox; Label1: TLabel; Edit1: TEdit; Label2: TLabel; Edit2: TEdit; Label3: TLabel; Edit3: TEdit; Label4: TLabel; Memo1: TMemo; CheckBox1: TCheckBox; CheckBox2: TCheckBox; Label5: TLabel; Edit4: TEdit; Button1: TButton; Button2: TButton; Memo2: TMemo; Memo3: TMemo; Label6: TLabel; BitBtn1: TBitBtn; BitBtn2: TBitBtn; procedure Button2Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); Procedure Valor_Matriz(Sender: TObject); Procedure Calculo(sender: TObject); procedure BitBtn1Click(Sender: TObject); procedure BitBtn2Click(Sender: TObject); end; _r = Extended; _i = integer; _s = string; _v = array [0..30] of _r; _m = array [0..30] of _v; var Runge_sis1: TRunge_sis1; implementation

Procedure TRunge_sis1.Valor_Matriz(Sender: TObject); var i,j,k, Li ,ii :_i; s : _s; procedure Minus(s:_s;var s1:_s); Var ii :_i; begin k:=length(s); ii:=0; repeat ii:=ii+1; if s[ii]=' ' then begin delete(s,ii,1); k:=k-1;ii:=ii-1; end until ii>= length(s);S1:=S end; begin minus(Matriz_s,Matriz_s); k := length(Matriz_s); ii :=0-1; j:=0; Li := 1; for i := 1 to k do if Matriz_s[i] in [ #13,#10 ] then Matriz_s[i] := ' '; minus(Matriz_s,Matriz_s); if Matriz_s[1] <> '[' then Matriz_s := '['+Matriz_s; if Matriz_s[length(Matriz_s)] <> ']' then Matriz_s := Matriz_s+']'; k := length(Matriz_s); for i := 1 to k do begin if Matriz_s[i]='[' then begin ii:=ii+1; j:=0; Li := Li +1 end; if Matriz_s[i] in [',',';',']'] then begin j:=j + 1 ; s := copy(Matriz_s,li,i-li); math11[ii,j]:= f(s,0); Li := i +1; end; end; {mmm:=ii;} nnn := j; end; ////////////////////FIN/////////////////////////////// Procedure TRunge_sis1.Calculo(sender: TObject); var m:_i; t:_r; sx1,s : _s; Procedure funcion(va:_v;var vR:_v); begin { Poner aqu el SISTEMA de EDO va[0] es t va[1] es y va[2] = y' ... por ejemplo Si fuera una Ecuacin diferencial de segundo orden: y '' + 6Y ' + 8Y = 0 Se procede hacer el cambio de variable Y ' = va[2]; Y = va[1] y Y '' + 6*va[2] + 8*va[2] = 0; escribir en el} vr[1]:=va[2]; vr[2]:= - 6 * va[2] - 8 * va[1]; end; function f(ii:_i;va:_v):_r; {funcin de clculo} begin funcion(va,va);f:=va[ii] end; procedure recal(vx,v:_v); var i,k:_I; procedure ir_;var j:_I; begin for j:=1 to MM do begin kj[i,j]:=h*f(j,v); end; end; begin {clculo de los Kij[ ]} m:=0; t:=vx[1];v[30]:=0;v[29]:=200/lx; h:=(vx[2]-vx[1])/lx;wj:=v1; str(t:1:8,sx1);// memo2.Lines.Add(' Y(a) = '+ FloatToStr(wj[1])+
A. Sangiacomo C.

{$R *.DFM}
var wj, v1, v2 : _v; kj : _m; mm, Lx : _i; nnn : _i; Lim_a, lim_b, h : _r; Matriz_s : _s; Math11 : _m; procedure TRunge_sis1.Button2Click(Sender: TObject); begin Close; end; procedure TRunge_sis1.FormCreate(Sender: TObject); begin Memo1.Clear;CheckBox1.Checked:=true; Memo1.Text:='[ 0 , 1 , 1 ]'; Memo2.Clear; end; ////////////////////Entrador de datos/////////////////////////////// function f(s:_s; x :_r) : _r; begin f:= StrToFloat(s); end;

F. Antoine S.

55

Captulo 2

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

' Y '+chr(39)+' (a) = '+ FloatToStr(wj[2])); repeat m:=m+1 ; i:=1; v[0]:=t; for k:=1 to MM do v[k]:=wj[k]; ir_; i:=2; v[0]:=t+h/2; for k:=1 to MM do v[k]:=wj[k]+kj[1,k]/2; ir_; i:=3; v[0]:=t+h/2; for k:=1 to MM do v[k]:=wj[k]+kj[2,k]/2; ir_; i:=4; v[0]:=t+h; for k:=1 to MM do v[k]:=wj[k]+kj[3,k]; ir_; {clculo de wij[ ]} if CheckBox2.Checked then for i:=1 to 4 do begin sx1:= ''; for k:=1 to MM do begin str(kj[i,k]:1:8,s);sx1:= sx1+' ['+intToStr(i) +','+IntToStr(k)+']='+s; end;memo2.Lines.Add(sx1); end; str(t+h:1:5,sx1);sx1:= ' t = '+sx1; for k:=1 to MM do begin wj[k]:=wj[k]+(kj[1,k]+2*kj[2,k]+2*kj[3,k]+kj[4,k])/6; str(wj[k]:1:10,s);sx1:=sx1 + ' wj['+IntToStr(k)+'] = '+s end; v[30]:=v[30]+v[29]; if v[30]>0.99 then begin memo2.Lines.Add(sx1);v[30]:=v[30]-1 end; t:=t+h; //memo2.Lines.Add(sx1); Until lx<=m; end; begin recal(v2,v1); end; procedure TRunge_sis1.Button1Click(Sender: TObject);var i:_i; begin Lim_a:= StrToFloat(Edit1.text); v2[1]:=Lim_a; Lim_b:= StrToFloat(Edit2.text); v2[2]:=Lim_b; mm := StrToInt(Edit3.text); // Nmero de variables // Valores iniciales Matriz_s:=Memo1.Text; Valor_Matriz(Sender); Lx := StrToInt(Edit4.text); // Nmero. de pasos if CheckBox1.Checked then memo2.Clear; for i:=1 to mm do begin v1[i]:= math11[0,i]; end; Calculo(Sender); end;

'Vr[1] = 2*va[1] - va[2] + va[3] + va[0] / 2;' +#13#10+

'Begin { Poner aqu el SISTEMA de EDO'+#13#10+ ' va[0] es t va[1] es y va[2] = y '' ... }'+#13#10+ 'Vr[2] = -va[1] + 2*va[2] - 3*va[3] + g(va[0]);'+#13#10+ 'Vr[3] = va[2] + va[3] + va[0] * va[0];'+#13#10+ 'end;'+#13#10+#13#10+ ''+#13#10+

' y '' '' + 6Y '' + 8Y = 0'+#13#10+ 'Se procede hacer el cambio de variable Y '' = va[2];+ Y = va[1] '+#13#10+ 'y Y '' '' + 6*va[2] + 8*va[2] = 0; escribir en el' +#13#10+#13#10+ 'Procedure funcion(va:_v;var vR:_v);'+#13#10+ 'begin { Poner aqu el SISTEMA de EDO'+#13#10+ ' va[0] es t va[1] es y va[2] = y '' ... }'+#13#10+ 'vr[1]:=va[2];'+#13#10+ 'vr[2]:= - 6 * va[2] - 8 * va[1];'+#13#10+ 'end;'+#13#10+#13#10+ 'Particularmente la Solucin de y '' '' + 6Y '' + 8Y = 0' +#13#10+ ' y = exp(-2*t)/2 - exp(-4*t)/2'+#13#10+ 'Usted puede comparar los resultados con los de " w[1] " !!! '+#13#10+ 'Y as sucesivamente para Y '' '' '' haciendo aqu' +#13#10+ 'va[1] = y ; va[2] = y '' ; va[3] = y '' '' '+#13#10+ 'o Y '' '' '' '' '' '', haciendo ... !!! '+#13#10+ 'va[1] = y ; va[2] = y '' ; va[3] = y '' '' '+#13#10+ 'va[4] = y '' '' ''; va[5] = y '' '' '' '' ; va[6] = y '' '' '' '' '' ' +#13#10+ 'y As sucesivamente para otras' ;//+#13#10+ memo2.Lines.Add(Matriz_s);Matriz_s :=''; memo2.Visible:=not false; end; procedure TRunge_sis1.BitBtn2Click(Sender: TObject); begin memo2.Clear; end; end.

'Si fuera una Ecuacin diferencial de segundo orden:'+#13#10+

La EDO es y ' ' + 6Y ' + 8Y = 0; para su uso procedure TRunge_sis1.BitBtn1Click(Sender: TObject); ejecute el programa y vea el auxilio. begin memo2.Clear;memo2.Visible:=false; Matriz_s := 'A U X I L I O "H E L P"'+#13#10+#13#10+ 'Debemos tener en cuenta las siguientes consideraciones:'+#13#10+ 2.6. Problemas
'Se considera z'' = dZ/dt, y a " t " variable independiente siempre.'+#13#10+

'Internamente se debe de poner va[0] = t y'+#13#10+ 'entonces los g(t) en funcin de g(va[0])'+#13#10+ 'Se debe poner la variables de la Forma'+#13#10+ 'por ejemplo:'+#13#10+ 'x'' = 2x - y + z + t / 2 // Aqu f(t) = t / 2'+#13#10+ 'y'' = -x + 2y - 3z + g(t)'+#13#10+ 'z'' = y + z + t ^ 2 // Aqu h(t) = t * t'+#13#10+ 'Para el paquete se debe de transformar a:' +#13#10+#13#10+ 'Procedure funcion(va:_v; var vR : _v);'+#13#10+

1.

Aproximar las soluciones de los siguientes sistemas de ecuaciones diferenciales ordinarias de primer orden

F. Antoine S.

A. Sangiacomo C.

56

Captulo 2

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

a)

= 3u1 + 2u 2 u1 = 3u1 + u 2 u2

0 t 1,

u1 (0) = 0, u 2 ( 0) = 1.

2.

con h = 0.1 y compare con la solucin exacta (e5t + 2e t ) . u1 (t ) = 1 (e 5t e t ) y u 2 (t ) = 1 3 3


a) u1 = 4u1 2u 2 = 3u1 + u 2 3sin(t ) u2

Aproximar las soluciones de las siguientes ecuaciones diferenciales ordinarias de orden superior
2 t

a) y + 2ty + t y = e

, 0 t 2,

0t2

u1 (0) = 0, u 2 (0) = 1.

y (0) = 1 , y (0) = 1 .

Use h = 0.1 y h = 0.01 y compare los resultados con series de con h = 0.05 y compare con la potencias por los primeros solucin exacta cinco trminos. u (t ) = 2(e t e 2t ) + sin (t )
1

u 2 (t ) = 3e t + 2e 2t .
0 t 1

b) t 2 y ' '2ty + 2 y = t 3 ln(t ) , 0 t 2 ,

h = 0.05 y y Use h = 0.1 compare los resultados con la con h = 0.01 y compare con la solucin exacta solucin exacta dada por t 3 ln(t ) 3t 3 7t t y ( t ) = + 4 . u1 (t ) = cos(t ) + sin(t ) + e + 1 , 4 2 0 t 3, u 2 (t ) = sin(t ) + cos(t ) e t y c) y ' ' '+2 y ' ' y '2 y = et , u3 (t ) = cos(t ) sin(t ) . y (0) = 1 , y (0) = 2 , y (0) = 2 . Use h = 0.2 y h = 0.05 y compare = u 2 u3 + t u1 u1 (0) = 1, los resultados con la solucin a) u 2 , 0 t 1 , u2 (0) = 1, = 3t 2 u 3 ( 0 ) = 1 . real. = u2 + e t u3 4 con h = 0.05 y compare con la d) y ' ' '+6 y = 0 , 1 t 1.9 , y(1) = 1 , y (1) = 1 , y (1) = 2 . solucin exacta dada por u1 (t ) = 0.05t 5 + 0.25t 4 + t + 2 e t , Use h = 0.1 y h = 0.05 y compare los resultados con la solucin u 2 (t ) = t 3 + 1 y real y (t ) = (t 2) 1 . 4 t . u3 (t ) = 0.25t + t e
= u1 + e u3
t

a) u = u + 2e t + 1 , 2 1
+1

= u2 u1

u1 (0) = 3, u 2 (0) = 0, u3 (0) = 1.

y (0) = 1 ,

y (0) = 0 .

2.7. Estabilidad
F. Antoine S. A. Sangiacomo C.

57

Captulo 2

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Discutiremos la razn por la cual se espera que estos mtodos den resultados satisfactorios mientras que otros mtodos similares no los dan. 2.7.1. Definicin Se dice que un mtodo de ecuacin de diferencia con error de truncamiento local ri en el isimo paso es consistente con la ecuacin diferencial ordinaria que aproxima si
h 0 1 i N

2.7.2. Definicin Se dice que un mtodo de ecuacin de diferencia es convergente con respecto a la ecuacin diferencial que aproxima si
h 0 1 i N

lm mx yi wi = 0 ,

(2)

lm mx ri = 0 .

donde yi = y (ti ) denota el valor exacto de la solucin de la ecuacin diferencial y wi es la aproximacin obtenida por el mtodo de diferencia en el i(1) simo paso. A manera de reforzar esta definicin recordemos la estimacin del error del mtodo Euler dada por
1 i N

Se debe notar que aqu se define esencialmente una definicin local ya que para cada uno de los valores ri estamos comparando el valor exacto f (ti , yi ) con la aproximacin de la ecuacin diferencial de y . Para efectos de analizar las consecuencias de hacer h pequea es para determinar el efecto global del mtodo, que es el error mximo del mtodo sobre el rango completo de aproximacin, suponiendo que el mtodo da el resultado exacto en el valor inicial.
F. Antoine S.

mx y (ti ) wi

hM L(t i a ) [e 1] . 2L

(3)

As el mtodo de Euler es convergente con respecto a la ecuacin diferencial ordinaria (EDO) que satisfaga las condiciones de ese teorema y la razn de convergencia es O(h) . Para analizar que mtodos son estables por lo menos parcialmente, trataremos de determinar que mtodos son
A. Sangiacomo C.

58

Captulo 2

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

estables, en el sentido de que la condicin de Lipschitz en la pequeos cambios o variable w en el conjunto perturbaciones en las condiciones D = {(ti , wi , h) a t b, iniciales producen cambios < w < , 0 h h0 } , correspondientemente pequeos en las aproximaciones entonces subsecuentes; esto es, un mtodo i) El mtodo es estable estable es aquel que depende ii) el mtodo de diferencias es continuamente de sus datos convergente si y slo si es iniciales. consistente; o sea, si y slo si Como el concepto de estabilidad (t , y, h) = f (t , y ) , para toda de una ecuacin de diferencias a t b; ordinarias de un paso es anlogo iii) Si el error de truncamiento a la condicin de una ecuacin local, ri , satisface diferencial est bien planteada, ri r (h) , para todo i = 1, 2, , N no es sorprendente que la condicin de Lipschitz aparezca 0 h h0 , siempre que aqu. r ( h) L (t i a ) y (ti ) wi e entonces Para esto veamos el siguiente L teorema. para cada i = 1, 2, , N donde L denota a la constante de 2.7.3. Teorema Lipschitz. Suponga que el problema de valor inicial Desarrollemos un ejemplo para y = f (t , y ) , a t b , aclarar. y (a ) = , (4) 2.7.4. Ejemplo se aproxima por el mtodo de diferencia de un paso en forma Considerando el mtodo de Euler modificado dado por w0 = , wi +1 = wi + h (ti , wi , h) . w0 = , Si existe un nmero h0 > 0 y (ti , wi , h) es continua y satisface
F. Antoine S.

wi +1 = wi + h [ f (ti , wi ) 2
A. Sangiacomo C.

59

Captulo 2

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

+ f (ti , wi + hf (ti , wi ))]

L ww + 1 L hf (t , w) hf (t , w ) 2

para i = 0, 1, , N-1. Solucin: Para este mtodo tenemos


(t , w, h) =
1 2

L ww + 1 L2 w w 2
2 L+ 1 L ww . 2

Entonces satisface la condicin de Lipschitz en w en el conjunto


{(t , w, h) a t b

f (t , w)

< w < ,

+1 f (t + h, w + hf (t , w)) . 0 h h0 } , para cualquier h0 > 0 2

Tomando h = 0 ,
(t , w,0) =
1 2

con constante
L = L+ 1 L2 . 2

f (t , w)

+1 f (t + 0, w + 0 f (t , w)) = f (t , w) , Finalmente, si f es continua en 2 {(t , w) a t b, < w < } , enton-

as que se satisface la condicin de consistencia expresada en el teorema anterior parte (ii). Si f satisface la condicin de {(t , w) a t b, Lipschitz en < w < } con constante L, entonces, como
(t , w, h) (t , w , h) =
1 2

f (t , w)

+1 f (t + h, w + hf (t , w)) 2
1 f (t , w ) + 1 f (t + h, w + hf (t , w )) 2 2

en {(t , w, h) a t b , < w < , 0 h h0 } ; as el teorema implica que el mtodo de Euler modificado es convergente y estable. Y tambin deja notar que el error de truncamiento local es de O(h 2 ) ; lo que hace ver que el mtodo de Euler tendr tambin una rapidez de O ( h 2 ) .
Problema

ces

es

continua

para explotar la condicin de Lipschitz, tomamos valor El mtodo de Heun w0 = y0 = absoluto


(t , w, h) (t , w , h) L w w
1 2

k1 = hf (ti , wi )

+1 L w + hf (t , w) w hf (t , w ) 2
F. Antoine S.

k 2 = hf (ti + 2 h, wi + 2 k) 3 3 1 wi +1 = wi + 1 [k + 3k 2 ] . 4 1
A. Sangiacomo C.

60

Captulo 2

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Para cada i = 0, 1, , N-1. Es convergente y estable. Solucin:


w0 = ,

(t , w, h) (t , w , h) 1 L ww 4
+3 L w+ 4
2h 3

f (t , w) w 23h f (t , w )

L 4

L w w + 34 ww
L + 34

2h 3

f (t , w) 23h f (t , w )

wi +1 = wi + h [ f (ti , wi ) 4
+ 3 f (ti + 2 h, wi + 2 hf (ti , wi ))] 3 3

L ww + 1 L hf (t , w) hf (t , w ) 2
L ww + 1 L2 w w 2 L+ 1 L2 w w . 2

para i = 0, 1, , N-1. Para este mtodo tenemos


(t , w, h) = 1 [ f (t , w) 4
+ 3 f (t + 2 h, w + 2 hf (t , w))] 3 3

Entonces satisface la condicin de Lipschitz en w en el conjunto


{(t , w, h) a t b,

< w < ,

Tomando
(t , w,0) =

h = 0,

0 h h0 } ,

para cualquier h0 > 0 con

1 [f 4

constante
(t , w)
L = L+ 1 L2 . 2

(t , w,0) = f (t , w)

+ 3 f (t + 2 0, w + 2 0 f (t , w))] 3 3

as que se satisface la condicin de consistencia expresada en el teorema anterior parte (ii). Si f satisface la condicin de Lipschitz en {(t , w) a t b, < w < } con constante L, entonces, como
(t , w, h) (t , w , h) = 1 [ f (t , w) 4
+ 3 f (t + 2 h, w + 2 hf (t , w))] 3 3 1 [ f (t , w ) 4 + 3 f (t + h, w + hf (t , w ))]
2 3 2 3

Finalmente, si f es continua en {(t , w) a t b, < w < } , entonces es continua en {(t , w, h) a t b, < w < , 0 h h0 } ; as el teorema implica que el mtodo de Heun es convergente y estable. Problema El Mtodo de Runge - Kutta de Tercer Orden
w0 = y0 = k1 = hf (ti , wi ) k 2 = hf (ti + h , wi + 1 k) 2 2 1 k3 = hf (ti + h, wi k1 + 2k 2 )
A. Sangiacomo C.

para explotar la condicin de Lipschitz, tomamos valor absoluto


F. Antoine S.

61

Captulo 2

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

wi +1 = wi + 1 [ k + 4 k 2 + k3 ] 6 1

para cada i = 0, 1, , N-1. Es convergente y estable. Solucin:


w0 = , wi +1 = wi + 1 h[ f (t , w) 6 4 f (t + f (t + h, w hf (t , w)
h ,w+ 1 2 2

Si f satisface la condicin de Lipschitz en {(t , w) a t b, < w < } con constante L, entonces, como
(t , w, h) (t , w , h) = 1 [ f (t , w) 6
4 f (t + h ,w+ 1 hf (t , w)) + 2 2 f (t + h, w hf (t , w)

hf (t , w)) +

+ 2hf (t + h ,w+ 1 hf (t , w)))] 2 2 1 [ f (t , w ) 6


4 f (t + h ,w + 1 hf (t , w )) + 2 2 f (t + h, w hf (t , w )

+ 2hf (t + h ,w+ 1 hf (t , w)))] 2 2

para i = 0, 1, , N-1. Para este mtodo tenemos


(t , w, h) = 1 [ f (t , w) 4
+ 3 f (t + 2 h, w + 2 hf (t , w))] 3 3

+ 2hf (t + h ,w + 1 hf (t , w )))] 2 2

para explotar la condicin de Lipschitz, tomamos valor absoluto


(t , w, h) (t , w , h) 1 f (t , w) f (t , w ) 6
+
4 f (t + h ,w+ 1 hf (t , w)) 2 2 6 f (t + h ,w + 1 hf (t , w )) 2 2

(t , w, h) = 1 [ f (t , w) + 6
4 f (t + h ,w+ 1 hf (t , w)) 2 2 + f (t + h, w hf (t , w)

+ 2hf (t + h ,w+ 1 hf (t , w)))] 2 2

Tomando

h = 0,

(t , w, 0) = 1 [ f (t , w) 6
4 f (t + 0, w +

f (t + h, w hf (t , w )
1 0f 2

1 f (t + h, w hf (t , w) 6 + 2hf (t + h ,w+ 1 hf (t , w))) 2 2

f (t + 0, w 0 f (t , w)

Trabajamos individualmente cada valor absoluto y luego sumamos: 1 + 2 0 f (t + 0 , w + 0 f ( t , w )))] 2 2 1 f (t , w) f (t , w ) = L w w ; 6


6 4 f (t + h ,w+ 1 hf (t , w)) 2 2 6 f (t + h ,w + 1 hf (t , w )) 2 2 4L 4L ww + w+ 1 hf (t , w) 2 6 6 w1 hf (t , w )) 2
A. Sangiacomo C.

(t , w)) +

+ 2hf (t + 1 ,w + 1 hf (t , w ))) 2 2

(t , w, 0) = 1 [ f (t , w) + 4 f (t , w) + f (t , w)] 6

(t , w,0) = f (t , w)

as que se satisface la condicin de consistencia expresada en el teorema anterior parte (ii).


F. Antoine S.

62

Captulo 2

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

4L 4L ww + ww 6 6 4 L2 h + f (t , w) h f (t , w ) 2 6 2 4L 4L 2 L2 ww + ww + ww 6 6 6

2L 2 L2 L2 ww + ww + ww 6 6 6 L3 + ww 6

(t , w, h) (t , w , h)

1 f (t + h, w hf (t , w) 6 + 2hf (t + h ,w+ 1 hf (t , w))) 2 2

11L ww 6 L3 5 L2 + ww + ww 6 6

(t , w, h) (t , w , h)
( 11L 5 L2 L3 L3 + + ) ww + ww 6 6 6 6 11L 5 L2 L3 L= + + . 6 6 6

f (t + h, w hf (t , w ) + 2hf (t +
1 ,w 2 1 2

+ hf (t , w )))

L ww 6 L + w hf (t , w) w + hf (t , w ) 6 L + 2hf (t + h ,w+ 1 hf (t , w)) 2 2 6 2hf (t + h ,w + 1 hf (t , w )) 2 2

2L ww 6 L + hf (t , w) hf (t , w ) 6 2 L2 + w+ 1 hf (t , w) w + 1 hf (t , w ) 2 2 6 2L 2 L2 L2 ww + ww + ww 6 6 6 L2 + hf (t , w) hf (t , w ) 6 2L 2 L2 L2 ww + ww + ww 6 6 6 L3 + ww 6

Finalmente, si f es continua en {(t , w) a t b, < w < } , entonces es continua en {(t , w, h) a t b, < w < , 0 h h0 } ; as el teorema implica que el mtodo de Runge - Kutta de tercer orden es convergente y estable. Problema: Quedar hacer el mismo proceso para Euler Modificado y para Runge - Kutta de cuarto orden.

(t , w, h) (t , w , h)

L ww 6 4L 4L 2 L2 + ww + ww + ww 6 6 6

Para el caso de multipaso, la consistencia, la convergencia y la estabilidad se complican debido al nmero de aproximaciones que tiene involucradas en cada paso. En los mtodos de un paso, la
A. Sangiacomo C.

F. Antoine S.

63

Captulo 2

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

wi +1 aproximacin depende directamente slo de la aproximacin previa wi mientras que los mtodos de multipaso usan por lo menos dos de las aproximaciones anteriores y los mtodos que se usan comnmente utilizan an ms. El mtodo de multipaso general para aproximar la solucin del problema de valor inicial

Como en los mtodos de un paso, mide que tanto la solucin y(t ) de la ecuacin diferencial ordinaria falla en satisfacer la ecuacin de diferencias. Hemos tenido el error para Adams-Bashforth de cuatro pasos
ri +1 =
251h 4 720

y (5) (qi ) ,

para

t i 3 < qi < t i +1 ,

y = f (t , y ) , a t b , y (a) = .

(5)

mientras que el error de truncamiento local para AdamsBashforth de tres pasos es


h ri +1 = 95 y (6) (qi ) , 288
5

se puede escribir en la forma


w0 = , w1 = 1 , w2 = 2 , ,
wm 1 = m 1 ,
wi +1 = am 1wi + am 2 wi 1 + ... + ao wi +1 m

para ti 2 < qi < ti +1 , que, desde luego y C 5 [ a , b] . A lo largo del anlisis se harn dos suposiciones concernientes a la funcin F: i) Si f 0 (esto es, la ecuacin diferencial es homognea) entonces tambin F 0 lo es; ii) F satisface un tipo de condicin de Lipschitz con respecto a la sucesin
1 {w j }ij+ = i +1 m , en el sentido de

siempre

+ h[bm f (ti +1 , wi +1 ) + bm 1 f (ti , wi )

+ ... + b0 f (ti +1 m , wi +1 m )] , (6)

para i = m 1 , m, , N-1, donde los a0 , a1 , , am 1 , son constantes y, el paso es h dado por h = (b a) / N , ti = t0 + ih .


ri +1 = y (ti +1 ) am 1 y (ti ) ... a0 y (ti m ) h
F [ti , h, y (ti +1 ), y (ti ),..., y (ti +1 m )]

para cada i = m, m+1, , N-1;

que existe una constante K con


A. Sangiacomo C.

F. Antoine S.

64

Captulo 2

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

_r = extended; _i = integer; _s = string; _v=array[0..10] of _r; _M=array[0..21] of _v; K wi +1 j vi +1 j TForm1_Adams_rug = class(TForm) j =0 Memo1, MainMenu1, Archivos1, Calculos1, DATOS1, N1, FinExit1, RunEjecutar1, Datos2: TMenuItem; para cada i = m-1, m, , N y Calcular1, Limpiar1, Exit1: TMenuItem; PopupMenu1, RadioButton1, RadioButton2, RadioButton3, {w j }N sucesivamente y RadioButton4, RadioButton5, RadioButton6, RadioButton7, j =0 RadioButton8, RadioButton9: TRadioButton; Edit1, Edit2, Edit3, Edit4: TEdit; {v j }N . j =0 Label6, Label7, Label8, Label9: TLabel; TCheckBox; BitBtn1, BitBtn2: TBitBtn; Los mtodos de Adams- CheckBox1: procedure BitBtn2Click(Sender: TObject); Bashforth y Adams-Moulton procedure BitBtn1Click(Sender: TObject); procedure FormCreate(Sender: TObject); satisfacen estas condiciones Procedure Adamas(Sender: TObject); Adams_brashf2(Sender: TObject); siempre que f satisfaga la procedure procedure Adams_brashf3(Sender: TObject); procedure Adams_brashf4(Sender: TObject); condicin de Lipschitz. procedure Adams_brashf5(Sender: TObject); procedure Adams_Moulton2(Sender: TObject); procedure Adams_Moulton3(Sender: TObject); procedure Adams_Moulton4(Sender: TObject); Apndice procedure Milne11(Sender: TObject); procedure Datos(Sender: TObject); Programa integrado que resuelve cada uno procedure BitBtn3Click(Sender: TObject); de los mtodos desde Adams, Adams- end;

F [ti , h, wi +1 ,..., wi +1 m ] F [ti , h, vi +1 ,..., vi +1 m ] type

Bashforth de 2do, 3ro , 4to , 5to orden, Adams- var Form1_Adams_rug: TForm1_Adams_rug; Moulton de 2do , 3ro , 4to orden y Milne. Con caja de mltiples elecciones implementation
{$R *.DFM}

, resuelve usando mtodo de Runge-Kutta de cuarto orden.

el

Var a,b,c,x,y,y0,y1,y2,z,t,t1,t2,h,k1,k2,k3,k4:_r; i,j,k,n,m,lx:_i; v1,v2,v3:_v; m1,ma:_m; d,s:string; Function fxy(t,y: _r):_r; {funcin de clculo} Begin {CAMBIAR AQU LA FUNCIN DE LA EC. DIFERENCIAL} {===============================} fxy:= 1+t-y ; {===============================} End;

Procedure recal; Begin k1:=h*fxy(t,y); k2:=h*fxy(t+h/2, y+k1/2); k3:=h*fxy(t+h/2, y+k2/2); k4:=h*fxy(t+h, y+k3); t:=t+h; y:=y +(k1+2*k2+2*k3+k4)/6; End; Procedure pro2; var as1:_i; Begin {cuerpo de ejecucin del mtodo de Runge-Kutta4 } if n>20 then n:=20; y:=y0; t:=t1; h:=(t2-t1)/n; as1:=0; unit Adam_Rug_2xT; ma[as1+1,1]:=0;ma[as1+1,2]:=t; ma[as1+1,3]:=y; {FUNCIONA TODOS LOS MTODOS DE BRASHFORTH Y DE Repeat a:=y; MOULTON} recal;ma[as1+2,1]:=as1+1; ma[as1+2,2]:=t; ma[as1+2, 3]:=y; interface ma[as1+1,5]:=k1/h; ma[as1+1,6]:=k1; as1:=as1+1; uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Until (as1>3); Forms, Dialogs, StdCtrls, Buttons, ExtCtrls, Menus, ComCtrls, End; ToolWin;
F. Antoine S. A. Sangiacomo C.

65

Captulo 2

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

procedure TForm1_Adams_rug.BitBtn2Click(Sender: TObject); begin close; end; Procedure Publicar; var i,j:_i; Begin Form1_Adams_rug.Memo1.Lines.Add(' Mtodo de Adams 4to Orden'); Form1_Adams_rug.Memo1.Lines.Add( ' i ti '+ 'yi Ayi y''i q'+ ' Aq AAq AAAq'); for i:=1 to n+1 do Begin s:=''; For j:=1 to 9 do begin str(ma[i,j]:1:8,d); s:=s+' '+d; end; Form1_Adams_rug.Memo1.Lines.Add(s); End; End; Procedure TForm1_Adams_rug.Adamas(Sender: TObject); begin fillchar(ma,sizeof(ma),0); Datos(Sender); pro2; For i:=1 to 3 do Begin For j:=1 to 4-i do Begin ma[j, 6+i] :=ma[j+1, 5+i]-ma[j, 5+i] end End; i:=3; Repeat i:=i+1; k2:=ma[i, 6]+ma[i-1, 7]/2 +5*ma[i-2, 8]/12+3*ma[i-3, 9]/8; ma[i, 4]:=k2; ma[i+1, 3]:=k2+ma[i,3]; ma[i+1, 2]:=t; ma[i+1, 1]:=i; ma[i+1, 5]:=fxy(t,ma[i+1, 3]); ma[i+1, 6]:=h*ma[i+1, 5]; ma[i, 7] :=ma[i+1, 6]-ma[i, 6]; ma[i-1, 8] :=ma[i, 7]-ma[i-1, 7]; ma[i-2, 9] :=ma[i-1, 8]-ma[i-2, 8]; t:=t+h; Until (t>t2+h/1000); Publicar; end; procedure TForm1_Adams_rug.Datos(Sender: TObject); begin t1 := StrToFloat(Edit1.text); t2 := StrToFloat(Edit2.text); y0 := StrToFloat(Edit3.text); N := StrToInt(Edit4.text);// nmero de pasos end; procedure TForm1_Adams_rug.Adams_brashf2(Sender: TObject); begin Datos(Sender); y:=y0; t:=t1; h:=(t2-t1)/n; k:=0; v1[0]:=y; Repeat recal; k:=k+1; v1[k]:=y; Until (k>0); Memo1.Lines.Add('Mtodo de Adams Brashforth 2do Orden'); For i:=0 to 1 do Memo1.Lines.Add(IntToStr(i)+' t =' +FloatToStr(t-h*(1-i))+' y = '+FloattoStr(v1[i])); For i:=1 to n-1 do Begin y:=y + (3*fxy(t,v1[1])-fxy(t-h,v1[0])) * h/2; v1[0]:=v1[1];v1[1]:=y; Memo1.Lines.Add(IntToStr(i+1)+' t =' +FloatToStr(t+h)+' y = '+FloattoStr(y));
F. Antoine S.

t:=t+h; End; end; procedure TForm1_Adams_rug.Adams_brashf3(Sender: TObject); begin Datos(Sender); y:=y0; t:=t1; h:=(t2-t1)/n; k:=0; v1[0]:=y; Repeat recal; k:=k+1; v1[k]:=y; Until (k>1); Memo1.Lines.Add('Mtodo de Adams Brashforth 3er Orden'); For i:=0 to 2 do Memo1.Lines.Add(IntToStr(i)+' t =' +FloatToStr(t-h*(2-i))+' y = '+FloattoStr(v1[i])); For i:=2 to n-1 do Begin y:=y + (23*fxy(t,v1[2])-16*fxy(t-h,v1[1])+ 5*fxy(t-2*h,v1[0])) * h/12; v1[0]:=v1[1];v1[1]:=v1[2];v1[2]:=y; Memo1.Lines.Add(IntToStr(i+1)+' t =' +FloatToStr(t+h)+' y = '+FloattoStr(y)); t:=t+h; End; end; procedure TForm1_Adams_rug.Adams_brashf4(Sender: TObject); begin Datos(Sender); y:=y0; t:=t1; h:=(t2-t1)/n; k:=0; v1[0]:=y; Repeat recal; k:=k+1; v1[k]:=y; Until (k>2); Memo1.Lines.Add('Mtodo de Adams Brashforth 4to Orden'); For i:=0 to 3 do Memo1.Lines.Add(IntToStr(i)+' t =' +FloatToStr(t-h*(3-i))+' y = '+FloattoStr(v1[i])); For i:=3 to n-1 do Begin y:=y + (55*fxy(t,v1[3])-59*fxy(t-h,v1[2])+ 37*fxy(t-2*h,v1[1])-9*fxy(t-3*h, v1[0])) * h/24; v1[0]:=v1[1];v1[1]:=v1[2];v1[2]:=v1[3]; v1[3]:=y; Memo1.Lines.Add(IntToStr(i+1)+' t =' +FloatToStr(t+h)+' y = '+FloattoStr(y)); t:=t+h; End; end; procedure TForm1_Adams_rug.Adams_brashf5(Sender: TObject); begin Datos(Sender); y:=y0; t:=t1; h:=(t2-t1)/n; k:=0; v1[0]:=y; Repeat recal; k:=k+1; v1[k]:=y; Until (k>3); Memo1.Lines.Add('Mtodo de Adams Brashforth 5to Orden'); For i:=0 to 4 do Memo1.Lines.Add(IntToStr(i)+' t =' +FloatToStr(t-h*(4-i))+' y = '+FloattoStr(v1[i])); For i:=4 to n-1 do Begin y:=y + (1901*fxy(t,v1[4])-2774*fxy(t-h,v1[3]) +2616*fxy(t-2*h,v1[2])-1274*fxy(t-3*h,v1[1]) +251*fxy(t-4*h, v1[0])) * h/720; v1[0]:=v1[1];v1[1]:=v1[2];v1[2]:=v1[3]; v1[3]:=v1[4]; v1[4]:=y; Memo1.Lines.Add(IntToStr(i+1)+' t =' +FloatToStr(t+h)+' y = '+FloattoStr(y)); t:=t+h; End;
A. Sangiacomo C.

66

Captulo 2

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

end; procedure TForm1_Adams_rug.Adams_Moulton2(Sender: TObject); begin Datos(Sender); y:=y0; t:=t1; h:=(t2-t1)/n; k:=0; v1[0]:=y; Repeat recal; k:=k+1; v1[k]:=y; Until (k>0); Memo1.Lines.Add(' Mtodo de Adams Moulton 2do Orden'); For i:=0 to 1 do Memo1.Lines.Add(IntToStr(i)+' t =' +FloatToStr(t-h*(1-i))+' y = '+FloattoStr(v1[i])); For i:=1 to n-1 do Begin v1[10]:=fxy(t , v1[1])*8 - fxy(t- h, v1[0]); v1[4]:=y; k:=0; t:=t+h; repeat v1[7]:=v1[4]; k:=k+1; v1[4]:=y + (5*fxy(t,v1[4])+ v1[10] ) * h/12; if k>100 then break; until Abs(v1[4]-v1[7])<0.000000001;y:=v1[4]; v1[0]:=v1[1];v1[1]:=y; Memo1.Lines.Add(IntToStr(i+1)+' t ='+FloatToStr(t) +' y = '+FloattoStr(y)); End; end; procedure TForm1_Adams_rug.Adams_Moulton3(Sender: TObject); begin Datos(Sender); y:=y0; t:=t1; h:=(t2-t1)/n; k:=0; v1[0]:=y; Repeat recal; k:=k+1; v1[k]:=y; Until (k>1); Memo1.Lines.Add(' Mtodo de Adams Moulton 3er Orden'); For i:=0 to 2 do Memo1.Lines.Add(IntToStr(i)+' t =' +FloatToStr(t-h*(2-i))+' y = '+FloattoStr(v1[i])); For i:=2 to n-1 do Begin v1[10]:=fxy(t , v1[2])*19 - 5*fxy(t- h, v1[1])+ fxy(t-2*h, v1[0]); v1[4]:=y; k:=0; t:=t+h; repeat v1[7]:=v1[4]; k:=k+1; v1[4]:=y + (9*fxy(t,v1[4])+ v1[10] ) * h/24; if k>100 then break; until Abs(v1[4]-v1[7])<0.000000001;y:=v1[4]; v1[0]:=v1[1];v1[1]:=v1[2];v1[2]:=y; Memo1.Lines.Add(IntToStr(i+1)+' t ='+FloatToStr(t)+ ' y = '+FloattoStr(y)); End; end; procedure TForm1_Adams_rug.Adams_Moulton4(Sender: TObject); begin Datos(Sender); y:=y0; t:=t1; h:=(t2-t1)/n; k:=0; v1[0]:=y; Repeat recal; k:=k+1; v1[k]:=y; Until (k>2); Memo1.Lines.Add(' Mtodo de Adams Moulton 4to Orden'); For i:=0 to 3 do Memo1.Lines.Add(IntToStr(i)+' t =' +FloatToStr(t-h*(3-i))+' y = '+FloattoStr(v1[i])); For i:=3 to n-1 do Begin v1[10]:=fxy(t , v1[3])*646 - 264*fxy(t- h, v1[2])+ 106*fxy(t-2*h, v1[1])-19*fxy(t-3*h, v1[0]); v1[4]:=y; k:=0; t:=t+h; repeat v1[7]:=v1[4]; k:=k+1; v1[4]:=y + (251*fxy(t,v1[4])+ v1[10] ) * h/720;
F. Antoine S.

if k>100 then break; until Abs(v1[4]-v1[7])<0.000000001;y:=v1[4]; v1[0]:=v1[1];v1[1]:=v1[2];v1[2]:=v1[3]; v1[3]:=y; Memo1.Lines.Add(IntToStr(i+1)+' t =' +FloatToStr(t+h)+' y = '+FloattoStr(y)); End; end; procedure TForm1_Adams_rug.Milne11(Sender: TObject); begin Datos(Sender); y:=y0; t:=t1; h:=(t2-t1)/n; k:=0; v1[0]:=y; Repeat recal; k:=k+1; v1[k]:=y; Until (k>2); Memo1.Lines.Add(' Mtodo de Milne'); For i:=0 to 3 do Memo1.Lines.Add(IntToStr(i)+' t =' +FloatToStr(t-h*(3-i))+' y = '+FloattoStr(v1[i])); For i:=3 to n-1 do Begin v1[10]:=v1[0]+(2*fxy(t-2*h, v1[1]) -fxy(t-h, v1[2])+2*fxy(t, v1[3]))*4*h/3; v1[9]:= fxy(t+h, v1[10]); y:=v1[2]+ (v1[9]+ 4*fxy(t, v1[3])+fxy(t-h, v1[2])) * h/3; v1[0]:=v1[1]; v1[1]:=v1[2]; v1[2]:=v1[3]; v1[3]:=y; Memo1.Lines.Add(IntToStr(i+1)+' t =' +FloatToStr(t+h)+' y = '+FloattoStr(y)); t:=t+h; End; end; procedure TForm1_Adams_rug.BitBtn1Click(Sender: TObject); begin if CheckBox1.Checked then memo1.Clear; if RadioButton1.Checked then Adamas(Sender) else if RadioButton4.Checked then Adams_brashf4(Sender) else if RadioButton2.Checked then Adams_brashf2(Sender) else if RadioButton3.Checked then Adams_brashf3(Sender) else if RadioButton5.Checked then Adams_brashf5(Sender) else if RadioButton8.Checked then Adams_Moulton4(Sender) else if RadioButton6.Checked then Adams_Moulton2(Sender) else if RadioButton7.Checked then Adams_Moulton3(Sender) else if RadioButton9.Checked then Milne11(Sender); end; procedure TForm1_Adams_rug.FormCreate(Sender: TObject); begin Memo1.Clear; RadioButton1.Checked :=true; CheckBox1.Checked := true; end; procedure TForm1_Adams_rug.BitBtn3Click(Sender: TObject); begin Close; end; end.

A. Sangiacomo C.

67

Captulo 3

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

CAPTULO 3

Objetivo: Es estudiar una ecuacin diferencial de segundo orden lineal y no lineal con valor de frontera, por mtodos aproximados y numricos.

3.0. PROBLEMA DE VALOR DE FRONTERA PARA ECUA- y ' ' = f ( x, y, y ) , a x b , CIONES DIFERENCIALES junto a sus condiciones ORDINARIAS frontera Los mtodos ya vistos en los captulos anteriores nos dieron slo la solucin de las ecuaciones diferenciales ordinarias sujetas a condiciones iniciales, o sea, sujetas en uno de sus extremos, en cambio en este captulo nos ocuparemos de las ecuaciones diferenciales ordinarias que estn sujetas al comienzo y al final, o sea, en sus fronteras.
y(a) =

Los problemas fsicos que dependen de la posicin en vez de depender del tiempo se describen por lo general en trminos de ecuaciones diferenciales con condiciones impuestas en ms de un punto. El problema general de valor de frontera en dos puntos que trataremos aqu, involucra a una ecuacin diferencial de segundo orden de la forma
(1)

de

y (b) = .

La mayora del material que trataremos puede extenderse a las condiciones generales
1 y(a) + 1 y(a) =

y 2 y (b) + 2 y(b) = , donde 1 + 1 0 y 2 + 2 0 , a pesar que las tcnicas son pesadas, pero con auxilio del computador se puede paliar un tanto.

3.1. El Mtodo del Disparo Lineal Figura 1.


F. Antoine S. A. Sangiacomo C.

68

Captulo 3

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Las condiciones generales que aseguran que la solucin de un problema de valor de frontera de segundo orden, la existencia y unicidad, nos las da el teorema siguiente:

3.1.2. Ejemplo Hacer que se cumpla el teorema 3.1.1. en el problema de valor de frontera
y ' '+e xy + sin( y) = 0 ,

1 x 2 , y (1) = y (2) = 0 , 3.1.1. Teorema Supngase que la funcin f en el Solucin: problema de valor de frontera Se puede representar como y ' ' = f ( x, y, y) , a x b , f ( x, y, y) = e xy sin( y ) , y (a ) = , y (b) = , y como es continua en el conjunto f ( x, y, y)

D = {( x, y, y) a x b,

= xe xy > 0

< y < , < y < } ,

y que

f y

f , y

f ( x, y, y) = cos( y) 1 . y

son tambin

continuas en D. Si
i)

Por tanto este problema tiene solucin nica. puede

f ( x, y, y) >0 y
( x, y , y ) D ,

para

y ii) existe una constante M, con


f ( x, y , y) M y

todo Cuando f ( x, y, y) expresarse en forma

f ( x, y, y) = p( x) y + q( x) y + r ( x) ,

para

todo

la ecuacin diferencial ordinaria y ' ' = f ( x, y , y)

( x, y , y ) D ,

entonces el problema de valor de la EDO se llama lineal. Estos frontera tiene una solucin nica. problemas son los ms comunes. Aclaremos ejemplo. con el siguiente 3.1.3. Corolario Si el problema lineal de valor de frontera
A. Sangiacomo C.

F. Antoine S.

69

Captulo 3

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

y ' ' = p ( x) y + q ( x) y + r ( x) , a x b , y (a ) = , y (b) = , (2)

y ( x) = y1 ( x) +

y1 (b)
y2 (b)

y2 ( x) ,

(5)

que satisface:
i)

p( x) , q( x)

r ( x)

son

continuas en [a, b] .
ii) q( x) > 0

en [a, b] ,

entonces tiene solucin nica. El mtodo del disparo lineal garantiza la aproximacin a la solucin nica, cuando se satisfacen las hiptesis del corolario anterior, consideremos primero los problemas de valor inicial
y = p ( x ) y + q ( x) y + r ( x ) , a x b , y (a ) = , y(a ) = 0 ,
(3)

es la solucin a nuestro problema de valor de frontera, siempre y cuando, desde luego y2 (b) 0 . El mtodo del disparo se basa en este reemplazo del problema (2) por dos problemas (3) y (4) de valor inicial. Para aproximar las soluciones y1 ( x) y y2 ( x) se puede utilizar cualquiera de los mtodos vistos en el captulo 1, una vez aproximada la solucin, la solucin del problema de valor de frontera puede aproximarse usando la ecuacin (5). Una idea grfica est en la figura 2.

y = p ( x) y + q ( x) y , a x b , y (a) = 0 , y ( a ) = 1 . (4)

Figura 2. La solucin nica se establece 3.1.4. Algoritmo de Disparo por el teorema de sistemas, dado Lineal en la primera parte. Si y1 ( x) denota la solucin de (3) Paso 1: Definir f ( x, y, u ) = p( x)u + q( x) y + r ( x) yf = u y y2 ( x) la solucin de (4) no es Paso 2: g ( x, w, v) = p( x)v + q( x) w difcil verificar que
F. Antoine S. A. Sangiacomo C.

70

Captulo 3

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

yg = v
Paso 3: Entrar a, b, y las , y N.
{ intervalo, condiciones de frontera y nmero de pasos}

Paso 7: Publicar (i; Yfi ; Y f i ) Paso 8: Parar.

Paso 4: Hacer h=(b-a)/N; wy f ,0 = , wu0 = 0 ,


wy g ,0 = 0 , y=; u=0; wv0 = 1 ,

3.1.5. Programa en Delphi del Disparo Lineal

w=0; v=1; x=a; Paso 5: Para i = 0 hasta N-1 hacer k1,1 = h u , k1,2 = h f ( x, y, u ) ,

k 2,1 = h (u +

k1, 2

k 2, 2 = h f ( x + h ,y+ 2
k3,1 = h (u + k3, 2 = h f ( x +
h , 2

2 k1,1 2

), ,u +
k1, 2 2

),
unit Run_Dis2_1;

k 2, 2

y+

2 k 2 ,1 2

), ,u +
k 2, 2 2

),

interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TDisparo_Lineal1 = class(TForm) GroupBox1: TGroupBox; Label1: TLabel; Edit1: TEdit; Edit2: TEdit; Label2: TLabel; Label4: TLabel; CheckBox1: TCheckBox; CheckBox2: TCheckBox; Label5: TLabel; Edit4: TEdit; Button1: TButton; Button2: TButton; Memo2: TMemo; Edit5: TEdit; Edit6: TEdit; Label6: TLabel; Label7: TLabel; procedure Button2Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); Procedure Calculo(sender: TObject); end; _r = double; _i = integer; _s = string; _v = array [0..200] of _r; _m = array [0..4] of _v; var Disparo_Lineal1: TDisparo_Lineal1; implementation {$R *.DFM} var wj, v1, v2, dis1, dis2 :_v; kj :_m; mm, Lx :_i; Lim_a, lim_b, h :_r; procedure TDisparo_Lineal1.Button2Click(Sender: TObject); begin Close; end; procedure TDisparo_Lineal1.FormCreate(Sender: TObject); begin CheckBox1.Checked:=true; Memo2.Clear; end; Procedure TDisparo_Lineal1.Calculo(sender: TObject); var m:_i; t:_r; sx1 : _s; aa : _v; Procedure funcion(va:_v;var vR:_v); begin { Poner aqui el SISTEMA de la EDO y"+ay'+by=c y'=u ; u'=-au-by + c Usamos vr[ i ] representa y', u' ... va[ 0 ] es x; va[1] es y; va[2] es u; ... repectivamente } vr[1]:=va[2]; // y " = -y if v2[5]>1 then vr[2]:=-va[1] // la No homognea else vr[2]:= - va[1] ; // la homognea end; function f(ii:_i;va:_v):_r; {funcin de clculo} begin funcion(va,va);f:=va[ii] end; procedure recal(vx,v:_v); var i,k:_I; procedure ir_;var j:_I; begin for j:=1 to MM do begin kj[i,j]:=h*f(j,v); end end; begin {calculo de los Kij[ ]}m:=0;t:=vx[1];// Runge - Kutta h:=(vx[2]-vx[1])/lx;wj:=v1; str(t:1:8,sx1);// memo2.Lines.Add(' Y(a) = '+ FloatToStr(wj[1])+ ' Y '+chr(39)+' (a) = '+ FloatToStr(wj[2])); repeat m:=m+1 ; i:=1; v[0]:=t; for k:=1 to MM do v[k]:=wj[k]; ir_;

k 4,1 = h (u + k3, 2 ) , k 4, 2 = h f ( x + h, y + k3,1 , u + k3, 2 ) , u = u + ( k1, 2 + 2k 2, 2 + 2k 3, 2 + k 4, 2 ) / 6 ,


y = y + (k1,1 + 2k 2,1 + 2k 3,1 + k 4,1 ) / 6 ;

wu i +1 = u wy f ,i +1 = y { * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *}

k1,1 = h v , k1,2 = h g ( x, w, v) ,

k 2,1 = h (v +

k1, 2

k 2, 2 = h g ( x + h ,w+ 2
k3,1 = h (v +
2

2 k1,1 2

), ,v +
k1, 2 2

),

k 2, 2

),
k 2 ,1 2

k3, 2 = h g ( x + h ,w+ 2

,v +

k 2, 2 2

),

k 4,1 = h (v + k 3, 2 ) ,

k 4, 2 = h g ( x + h, w + k 3,1 , v + k 3, 2 ) ,
v = v + (k1,2 + 2k 2,2 + 2k 3,2 + k 4,2 ) / 6 ,
w = w + ( k1,1 + 2k 2,1 + 2k 3,1 + k 4,1 ) / 6 ,

wvi +1 = v ; wy g ,i +1 = w ;

x := x + h

Paso 6: Para i = 1 hasta N hacer wy f , N Yf i = wy f , i + wy g , i , wy g , N

Y ' f i = wu i +

wy f , N
wy g , N

wvi ;

F. Antoine S.

A. Sangiacomo C.

71

Captulo 3

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

i:=2; v[0]:=t+h/2;for k:=1 to MM do v[k]:=wj[k]+kj[1,k]/2; ir_; i:=3; v[0]:=t+h/2;for k:=1 to MM do v[k]:=wj[k]+kj[2,k]/2; ir_; i:=4; v[0]:=t+h; for k:=1 to MM do v[k]:=wj[k]+kj[3,k]; ir_; {calculo de wij[ ]} for k:=1 to MM do begin wj[k]:=wj[k]+(kj[1,k]+2*kj[2,k]+2*kj[3,k]+kj[4,k])/6; if CheckBox2.Checked then begin memo2.Lines.Add(FloatToStr(kj[1,k])+' '+FloatToStr(kj[2,k]) +' '+FloatToStr(kj[3,k])+' '+FloatToStr(kj[4,k])); memo2.Lines.Add(IntToStr(m)+' w['+IntToStr(k)+']= ' +FloatToStr(wj[k]) ); end; end; if v2[5]>=1 then dis1[m]:=wj[1] else dis2[m]:=wj[1]; t:=t+h Until lx<=m; end; begin aa := v1; // Ir a calcular la no Homognea Y0 = a Y'0 = 0 v2[5] := 10; v1[1]:=aa[1]; v1[2]:=0; recal(v2,v1); // Ir a calcular la Homognea Y0 = 0 Y'0 = 1 v2[5] := 0; v1[1]:=0 ; v1[2]:=1; recal(v2,v1);// Calcula Y = Y1 - (beta-y1(b))/Y2(b)*y2 memo2.Lines.Add(' alfa ='+FloatToStr(aa[1])+' beta =' +FloatToStr(aa[2])+ ' Y1(b) ='+FloatToStr(dis1[Lx])+' Y2(b) =' +FloatToStr(Dis2[Lx])); memo2.Lines.Add(IntToStr(0)+' y1 = '+FloatToStr(aa[1])+' y2 = '+ FloatToStr(0)+' y = '+FloatToStr(aa[1])); for m:=1 to lx do begin v2[7]:=Dis1[m]+(aa[2]-dis1[lx])/Dis2[lx]*dis2[m]; memo2.Lines.Add(IntToStr(m)+' y1 = '+FloatToStr(Dis1[m]) +' y2 = '+ FloatToStr(Dis2[m])+' y = '+FloatToStr(v2[7])) end; end; procedure TDisparo_Lineal1.Button1Click(Sender: TObject); var nx : word; i:_i; begin Lim_a:= StrToFloat(Edit1.text); v2[1]:=Lim_a; Lim_b:= StrToFloat(Edit2.text); v2[2]:=Lim_b; mm:=2; // Valor iniciales v1[1]:= StrToFloat(Edit5.text);v1[2]:= StrToFloat(Edit6.text); Lx := StrToInt(Edit4.text); if Lx>200 then nx:=MessageDlg('Slo un Mximo de 200 particiones ! ! ! ', mtConfirmation,[MByes,MBno],0); if Lx>200 then Lx:=200; if CheckBox1.Checked then memo2.Clear; Calculo(Sender); end; end.

Ejemplo: y ' '+4 y = cos( x) , 0 x 4 ,


y (0) = 0 ,
y( ) = 0; 4

ky3 = 0.196349540849*(0+0.195404064142/2 ) = 0.0191837491372282 ku3 = 0.196349540849*(0*0.09770203 4*0.0096382855 + cos(0.098174770424681)) = 0.187834172374732 ky4 = 0.196349540849*(0+0.187834172375 ) = 0.0368811535015986 ku4 = 0.196349540849362*(0*0.187834172375 - 4*0.0191837491372 + cos(0.196349540849)) = 0.177509858139531 1 wf[1]= 0.0189669656613017 wf[2]= 0.190055978670521 Para x= 0.196349540849362 ky1 = 0.196349540849*0.19005597867 = 0.0373174041476 ku1 = 0.196349540849*(0*0.19005597867 4*0.0189669656613 + cos(0.196349540849)) = 0.177680119483378 ky2 = 0.196349540849*(0.19005597867 +0.177680119483/2 ) = 0.0547611090869 ku2 = 0.196349540849362*(0*0.27889603841 4*0.0376256677351 + cos(0.294524311274)) = 0.158343665205489 ky3 = 0.196349540849*(0.19005597867 +0.158343665205/2 ) = 0.0528627571273 ku3 = 0.196349540849*(0*0.269227811273 4*0.0463475202048 + cos(0.294524311274)) = 0.151493538294398 ky4 = 0.196349540849*(0.19005597867 +0.151493538294398 ) = 0.0670630908334 ku4 = 0.196349540849362*(0*0.341549516965 - 4*0.0718297227887 + cos(0.392699081699)) = 0.124988389653 2 wf[1]= 0.072238336896247 wf[2]= 0.343779798026569
Para x= 0.392699081698724 ky1 = 0.0675010054958032 ku1 = 0.124667464883516 ky2 = 0.0797402052401693 ku2 = 0.0899213953229474 ky3 = 0.0763290178379005 ku3 = 0.0851150728226076 ky4 = 0.0842133109638822 ku4 = 0.0465741490567852 3 wf[1]= 0.149547130665551 wf[2]= 0.43066555639847 Para x= 0.589048622548086 ky1 = 0.0845609842584747 ku1 = 0.0458046348397197 ky2 = 0.0890578437682505 ku2 = 0.0011191849576052 ky3 = 0.084670859984750 ku3 = - 0.0006467276424119 ky4 = 0.0844339995828325 ku4 = - 0.0451142878739386 4 wf[1]= 0.235622529223436 wf[2]= 0.430938099997832

n = 4.

y " = 0 * y ' + -4 * y +cos(x); Y(a) = 0 Y ' (a) = 0 Para x= 0 ky1 = 0.196349540849362*(0) = 0 ku1 = 0.196349540849362*(0*0 - 4*0 + cos(0)) = 0.196349540849362 ky2 = 0.196349540849362*(0 +0.196349540849 y " = 0 * y ' + -4 * y; Y(a) = 0 Y ' (a) = 1 /2 ) = .01927657109587 Para x= 0 ku2 = 0.196349540849*(0*0.098174770425 ky1 = 0.196349540849*(1) = 0.196349540849 4*0 + cos(0.098174770424)) = 0.195404064142 ku1 = 0.196349540849*(0*1 - 4*0) = 0
F. Antoine S. A. Sangiacomo C.

72

Captulo 3

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

ky2 = 0.196349540849*(1+0/2 ) = 0.196349540849362 ku2 = 0.196349540849362*(0*1 4*0.098174770425) = -0.0771062843835106 ky3 = 0.196349540849362*(1 0.0771062843835/2 ) = 0.188779649081711 ku3 = 0.196349540849362*(0*0.961446857808245 4*0.098174770425) = -0.0771062843835 ky4 = 0.196349540849362*(1 0.0771062843835) = 0.181209757314059 ku4 = 0.196349540849362*(0*0.922893715616 - 4*0.188779649082) = - 0.148267189676 1 wg[1]= 0.191302946337595 wg[2]= 0.923884612131728 Para x= 0.196349540849362 ky1 = 0.196349540849*(0.923884612131728) = 0.181404319389856 ku1 = 0.196349540849*(0*0.923884612132 4*0.1913029463376) = -0.1502489827061 ky2 = 0.196349540849*(0.923884612132 0.1502489827061/2 ) = 0.166653660006 ku2 = 0.196349540849*(0*0.8487601207787 4*0.282005106032) = -0.2214862923467 ky3 = 0.196349540849*(0.923884612131728 0.221486292346/2 ) = 0.159659953487 ku3 = 0.196349540849*(0*0.813141465958 4*0.2746297763407) = - 0.215693721952 ky4 = 0.196349540849*(0.923884612132 0.215693721952) = 0.139052956120 ku4 = 0.196349540849*(0*0.708190890179 4*0.350962899824) = - 0.275645616942 2 wg[1]= 0.353483696753531 wg[2]= 0.707175507424015
Para x= 0.392699081698724 ky1 = 0.13885358618262 ku1 = - 0.277625446221163 ky2 = 0.11159777173580 ku2 = - 0.332153122005653 ky3 = 0.106244529683874 ku3 = - 0.321449788701439 ky4 = 0.075737067764968 ku4 = - 0.361069704705904 3 wg[1]= 0.461862906218022 wg[2]= 0.382858678700473 Para x= 0.589048622548086 ky1 = 0.075174125773031 ku1 = - 0.362746278285043 ky2 = 0.0395615931799898 ku2 = - 0.392267088443616 ky3 = 0.0366633944199212 ku3 = - 0.378282079597363 ky4 = 0.0008986131325472 ku4 = - 0.391541640926365 4 wg[1]= 0.499950025235589 wg[2]= 0.000294302818245256

y = -0.0711926138741102 2 y1 = 0.072238337 y2 = 0.353483697 y = -0.0943557594418203 3 y1 = 0.14954713 y2 = 0.461862906 y = -0.0681252378202706 4 y1 = 0.235622529 y2 = 0.49995002 y=0

3.1.5. Problemas
1.

Use el algoritmo anterior para aproximar la solucin de los siguientes problemas de valor de frontera. a) y ' '+ y = 0 , 0 x , y (0) = 1 , y ( ) = 1 . Use h = / 3 . b) Haga la parte (a) pero para
; los h = 4

; 5

; 8

10 .

2.

Use el algoritmo anterior para aproximar la solucin de los siguientes problemas de valor de frontera. y ' '+4 y = cos( x) , 0 x 4 ,
y (0) = 0 ,
y( ) = 0 . Use h = 12 . 4

3.

alfa =0 beta =0 Y1(b) =0.235622529223436 Y2(b) =0.499950025235589 0 y1 = 0 y2 = 0 y=0 1 y1 = 0.01896697 y2 = 0.19130295


F. Antoine S.

Haga ver que el corolario 3.1.3 no se aplica a los siguientes problemas de valor de frontera, pero que el algoritmo lo aproxima an.

A. Sangiacomo C.

73

Captulo 3

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

a)

y ''=

4 2 2 y 2 y + 2 ln( x) , x x x

y (2) = ln(2) . 1 x 2 , y (1) = 1 2,


Use h = 12 .

w=25; P=500; E= 12(105 ) ; I=5.72 y(0)=0; y(L)=y(3)=0 6.4. y ' ' = ( x + 1) y '+2 y + (1 x 2 )e x ;

y (0) = 0 = y (1) . Sol: y = ( x 1)e x .


6.5. y ' '+4 y = 4 x(1 e 2 ) ; y (0) = 0 = y (1) .

y ( 0) = 1 , b) y ' ' = y , 0 x 4 ,

y( ) = 1. 4
4.

Use h =

40 .

6.6. y ' '+ y = x ; y (0) = 1 ; y (1) = 1 + e 1 . 6.7. y ' ' x = sin( x) ;

y (0) = 0 , y (1) =
Sol: y = x +
x3 6

7 6

sin(1)

Use el algoritmo anterior para aproximar la solucin de los siguientes problemas de valor de frontera.
y ' '+4 y = cos( x ) ,
0 x 4 ,

sin( x)

6.8. y ' ' = ln( x) ; y (1) = 5 , y (2) = 2 ln(2) . 4


Sol: y = Sol: y = 6.9. xy' ' = y ' ; y (0) = 1 , y (2) = 3 .
x2 2 x2 2

(ln( x) 3 ) + x +1 2 +1

y ( 0) = 0 ,
5.

y( )
4

= 0 . Use h = 12 .

6.10. ( x 2 + 1) y ' ' = 2 xy ' ; y (0) = 1 , y (2) = 15 . Sol: y = x 3 + 3 x + 1 6.11. y ' 'tan( x) y '+2 y = 0 ;
2x Sol: y = sin( x) + (1 sin( x) ln(tan( + ))) 4

Haga ver que el corolario 3.1.3 no se aplica a los siguientes problemas de valor de frontera, pero que el algoritmo lo aproxima an. 4 2 2 a) y ' ' = y 2 y + 2 ln( x) ,
x x x

y (0) = 0 , y ( ) = 1.42200152559493 4

6.12. y ' ' x x y '+ x1 y = x 1 1 1

y (0) = 0 , y (1) = e + 1
2x x 2 +1

Sol: y = e x + 3 x x 2 1 6.13. y ' '


y '+
2 x +1
2

1 x 2 , y (1) = , y (2) = ln(2) .


1 2

y=0

Use h = 12 . b) y ' ' = y ,


6. Varios:

y (0) = 1 , y(1)=1.
Sol: y = x + ( x 2 1) 6.14. (3x + 2 x 2 ) y ' '6(1 + x) y '+6 y = 6 y (1) = 6 , y(2)=15. Sol: y = x 3 + 2 x + 3 .

0 x , 4
40 .

y ( 0) = 1 ,

y( ) = 1 . Use h = 4
6.1. y ' '+ xy = x 3
4 x3 2

; y(1) = 1; y(2)=3.

Solucin: y = x 2 / x 6.2. y ' ' = 3 x + 1 ; y(0)=0; y(1)=0. 6.3. EI y ' ' = Py


F. Antoine S.

wx 2 2

3.2. Mtodo del Disparo para Ecuaciones Diferenciales Ordinarias No Lineales


A. Sangiacomo C.

74

Captulo 3

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

solucin del problema de valor de La tcnica del disparo para un frontera (6). problema no lineal de valor de Lo que aqu se ve claramente es un disparo a un blanco, con frontera de segundo orden diferentes pendientes como se y ' ' = f ( x, y, y) , a x b , muestra en la figura y (a ) = , y (b) = . (6) Las soluciones previas son iguales al caso lineal, lo que diferencia el caso es al final pues no se puede expresar como una simple combinacin lineal de las soluciones de dos problemas de valor inicial. Debemos usar una sucesin de soluciones al Figura 3. problema de valor inicial dado por El cambio de la pendiente y ' ' = f ( x, y, y) , a x b , y(a ) = t k , partiendo de t0 nos va y (a) = , y(a ) = t , (7) acercando al valor de , en cuanto cambiemos apropiadaque involucran un parmetro t, mente los valores de t , as k para aproximar la solucin de sucesivamente con la idea de que nuestro problema de valor de se debe cumplir (8), en la figura 4 frontera. Esta t lo escogemos de se muestra un conjunto de forma discreta, o sea, t = t k y que disparos: al final cumpla
k

lm = y (b, t k ) = y (b) = ,

(8)

donde y ( x, t k ) denota la solucin del problema de valor inicial (7) con un valor particular de t y como de costumbre y(x) es la

F. Antoine S.

A. Sangiacomo C.

75

Captulo 3

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Figura 4. Con las hiptesis del teorema y ( x, t ) para 3.1.1 y con representar la solucin del problema de valor inicial (6) el problema de escoger el parmetro t de la pendiente y(a ) = t k para disparar, se convierte en un problema de determinar t tal que
y (b, t ) = 0 .
(9)

k 2,1 = h (u +

k1, 2 ), 2

k 2, 2 = h f ( x + h ,yf + 2

k1,1 k ,2 ,u + 1 ), 2 2

k 3,1 = h (u +

k 2, 2 2

),
k 2,1 2

k3,2 = h f ( x + h ,yf + 2
k 4,1 = h (u + k3,2 ) ,

,u +

k 2, 2 2

),

k 4,2 = h f ( x + h, y f + k3,1 , u + k3, 2 ) ,


y f = y f + (k1,1 + 2k 2,1 + 2k3,1 + k 4,1 ) / 6 ,
u = u + (k1,2 + 2k 2, 2 + 2k 3,2 + k 4,2 ) / 6

x = x + h ; wyf,i+1=yf; wui+1=u;
terminar Retornar
{Retorno al lugar de llamado}

Como esta es una ecuacin no lineal, se dispone de una serie de mtodos (Biseccin, Secantes, . . . (ver el apndice B.1 del final)) para encontrar sus races. Por ejemplo si usamos el mtodo de la Secante, necesitamos escoger dos aproximaciones iniciales t0 y t1 generando con estas la sucesin iterativa para t
t k +1 = t k ( y (b, t k ) )(t k t k 1 ) , y (b, t k ) y (b, t k 1 )

Paso 3: Entrar a, b, y las , . {intervalo, condiciones de } Entrar ER, t , t0 ; {frontera, error permisible, pendientes} Paso 4: Hacer h = (b a) / N ;

tx = t

Paso 5: Mientras t x t0 > ER Hacer

yf = ,

{ inicio de proceso iterativo

u = t0 , t = t x
{ de mtodo de la secante}

Efectuar paso 2; { ir y retornar} wt = y f , y f = , u = t , Efectuar paso 2;


{ ir y retornar}

tx = t t0 = t

( y f )(t t 0 ) ( y f wt )

{ frmula de la secante}

k = 1, 2,

(10)

Paso 5: Para i = 1 hasta N hacer Publicar (i; wui ; wy f , i = Y f i ) Paso 6: Parar.

3.2.1. Algoritmo de Disparo No 3.2.2. Ejemplo Lineal Resolver Usando el algoritmo Paso 1: Definir y ' = u ; y = f ( x, y, u ) . desarrollado arriba para {EDO no lineal despejada} Paso 2: Para i = 0 hasta N-1 hacer aproximar el problema de valor {Procedimiento repetido} de frontera empezar
k1,1 = h u , k1, 2 = h f ( x, y f , u ) ,

y ''= 1 (32 + 2 x 3 yy) , 1 x 3 , 8


A. Sangiacomo C.

F. Antoine S.

76

Captulo 3

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

y (1) = 17 ,

y (3) = 43 / 3 .

k y1 = 44.8390241 018 ,

Solucin: (La solucin exacta es y ( x ) = x 2 + 16 ). x En este caso usamos el mtodo de la secante como en el algoritmo: Usando Runge-Kutta de un paso:
y(1) = t0 = 22.2195120509
k y1 = 2(-22.2195120509 ) = - 44.4390241018

ku1 = 103.7829262163 ,
k y 2 = 58.9439021145 , ku 2 = 51.9308984795 ,
k y 3 = 7.0918743777

ku 3 = 29.1966548 733 ,

k y 4 = 103.2323338485 ,
ku 4 = 332.382552 3499 ,

originando
y (b, t ) = 14.3333658390

u = 57 .8528155789

ku1 = 2 1 (32 + 2(1) 3 (17)(22.2195120509) 8

Calculando nuevo t
t k +1 = t k

= 102.9329262163
k y 2 = 2(-22.2195120509 + 102.9329262163 ) 2

( y (b, t k ) )(t k t k 1 ) y (b, t k ) y (b, t k 1 )


0.000006502 ) 2.228613168

= 58.4939021145
ku 2 = 2 1 (32 + 2(2) 3 (17 + 8 44.4390241018 ) 2 102.9329262163 (22.2195120509 + )) 2

t k +1 = 22.419512051 (

t k +1 = 22.419514968

= 50.1637033737
50.1637033737 ) 2 58.4939021145 ku 3 = 2 1 (32 + 2(2) 3 (17 + )) 8 2 50.1637033737 (22.2195120509 + ) 2 k y 3 = 2(-22.2195120509 +

As sucesivamente, en las tablas de abajo se ven clculos semejantes.

= 21.0936202637 k y 4 = 2(-22.2195120509 21.0936202637)

= 86.6262646293
ku 4 = 2 1 (32 + 2(3) 3 (17 + 5.7246792720) 8

Para Runge-Kutta con de un paso (dos iteraciones):


n
0 1 0 1

(22.2195120509 21.0936202637))
= 267.5692600287 ,

x
1.0 3.0 1.0 3.0

wi
17.0000000000 14.3214994635

yi
-22.4205623460 57.9011581640

y ( x)
17.0000000000 14.3333333333

Error
0.00 1.2 103 0.00 3.3 10 5

originando
y (b, t ) = 16.561979007 ; u = 49.2208800 266 . y (1) = t1 = 22.4195120509
F. Antoine S.

17.000000000 14.3333658394

-22.4195120509 57.8528155773

17.0000000000 14.3333333333

A. Sangiacomo C.

77

Captulo 3

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Para Runge-Kutta con 4 pasos (una iteracin):


n
0 1 2 4

x
1.0 1.5 2.0 3.0

wi
17.0000000000 12.9604508918 12.0235377667 14.3333334761

yi
-14.2353486725 -4.2120037027 0.0507659518 4.2100836839

y ( x)
17.0000000000 12.9166666667 12.0000000000 14.3333333333

Error
0.00 4.4 10 2.4 10

1.4 10 7

Label5: TLabel; Button1: TButton; Button2: TButton; Edit7: TEdit; Memo2: TMemo; Label6: TLabel; Label7: TLabel; Edit6: TEdit; Edit8: TEdit; Label8: TLabel; Label9: TLabel; procedure Button2Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); Procedure Calculo(sender: TObject); end; _r = double; _i = integer; _s = string; _v = array [0..200] of _r; _m = array [0..4] of _v; var Disp_No_Lin1: TDisp_No_Lin1; wj, v1, v2, dis1, dis2, wjj :_v; kj :_m; mm, Lx :_i; Lim_a, lim_b, h, alfa, Beta, error, Pendi :_r; Matriz_s : _s; Math11 : _m; implementation

Para Runge-Kutta con 10 pasos (una iteracin):


n
0 1 2 3 4 5 6 7 8 9 10

{$R *.DFM} procedure TDisp_No_Lin1.Button2Click(Sender: TObject); begin Close; end; procedure TDisp_No_Lin1.FormCreate(Sender: TObject); begin CheckBox1.Checked:=true; Memo2.Clear; end; Procedure TDisp_No_Lin1.Calculo(sender: TObject); var m:_i; t:_r; sx1, s : _s; aa : _v; Procedure funcion(va : _v; var vR : _v); begin { Poner aqui el SISTEMA de EDO No Lineal} vr[1]:=va[2]; vr[2]:=4+va[0]*va[0]*va[0]/4-va[1]*va[2]/8; //(32+2*x^3-y'*y)/8 end; function f(ii : _i; va : _v) : _r; {funcin de clculo} begin funcion(va,va); f := va[ii] end; procedure recal(vx,v:_v); var i,k:_I; procedure ir_;var j:_I; begin for j:=1 to MM do begin kj[i,j]:=h*f(j,v); end; end; begin {calculo de los Kij[ ]}m:=0;t:=vx[1]; h:=(vx[2]-vx[1])/lx;wj:=v1; str(t:1:8,sx1);// memo2.Lines.Add(' Ya = '+ FloatToStr(wj[1]) +' Y '+chr(39)+'a = '+ FloatToStr(wj[2])); repeat m:=m+1 ; i:=1; v[0]:=t; for k:=1 to MM do v[k]:=wj[k]; ir_; i:=2; v[0]:=t+h/2;for k:=1 to MM do v[k]:=wj[k]+kj[1,k]/2; ir_; i:=3; v[0]:=t+h/2;for k:=1 to MM do v[k]:=wj[k]+kj[2,k]/2; ir_; i:=4; v[0]:=t+h; for k:=1 to MM do v[k]:=wj[k]+kj[3,k]; ir_; {calculo de wij[ ]} for k:=1 to MM do begin wj[k]:=wj[k]+(kj[1,k]+2*kj[2,k]+2*kj[3,k]+kj[4,k])/6; if k=1 then wjj[m]:=wj[k]; end; Memo2.Lines.Add(' wj '+ FloatToStr(wj[1])); t:=t+h Until lx<=m; end; procedure Disapro_no_lineal; var tx,ty,td,tw:_r;c:char; {NUEVO DISPARO} begin tx:=Pendi+pendi/500;ty:=v1[1]; td:=Pendi; v1[2]:=tx; v1[1]:=ty; recal(v2,v1);tw:=wjj[m]; repeat Pendi:=td; v1[2]:=td; v1[1]:=ty; recal(v2,v1); // calcular por Runge - Kutta td:=Pendi-(wjj[m]-beta)*(Pendi-tx)/(wjj[m]-tw); sx1:=FloatToStrF(td,ffGeneral,10,10)+' = '; sx1:=sx1+FloatToStrF(pendi,ffGeneral,10,10)+' - ('; sx1:=sx1+FloatToStrF(wjj[m]-beta,ffGeneral,10,10)+ ') * ('+FloatToStrF(pendi-tx,ffGeneral,10,10)+' / '; sx1:=sx1+FloatToStrF(wjj[m]-tw,ffGeneral,10,10)+' )'; Memo2.Lines.Add(sx1); tx:=Pendi;v1[1]:=ty;tw:=wjj[m]; until abs(Pendi-td)<error; end; begin {P P Clculo} memo2.Lines.Add(' alfa ='+FloatToStr(v1[1]) +' beta ='+FloatToStr(beta)); Disapro_no_lineal; end; // fin calculo procedure TDisp_No_Lin1.Button1Click(Sender: TObject); begin Lim_a:= StrToFloat(Edit1.text); v2[1]:=Lim_a; Lim_b:= StrToFloat(Edit2.text); v2[2]:=Lim_b; mm:= 2; // Valor iniciales

x
1.0 1.2 1.4 1.6 1.8 2.0 2.2 2.4 2.6 2.8 3.0

wi
17.0000000000 14.7743907503 13.3896722079 12.5609215155 12.1296020909 12.0005250725 12.1130946718 12.4269062532 12.9139844107 13.5543453145 14.3333333333

yi
-14.0036220956 -8.7144592403 -5.3658323952 -3.0519237789 -1.3397231076 -0.0011059849 1.0933678827 2.0215752758 2.8326478867 3.5588239506 4.2219676959

y ( x)
17.0000000000 14.7733333333

Error
0.00 1.1

10 3 10 3 10 4 10 4 10 4 10 4 10 4 10 4 10 5

13.3885714286 1.1 12.5600000000 9.2 12.1288888889 7.1 12.0000000000 5.3 12.1127272727 3.7 12.4266666667 2.4 12.9138461539 1.4 13.5542857143 6.0 14.3333333333 0.0

Tabla 1.

3.2.3. Programa en Pascal

{ES SLO MODIFICAR EL PROGRAMA 2.5.5 } { Mtodo_Disparo_no_Lineal_R_K_para_S; E.D. de primer orden}


unit Run_DisNo1_1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TDisp_No_Lin1 = class(TForm) GroupBox1: TGroupBox; Label1: TLabel; Edit1: TEdit; Label2: TLabel; Edit2: TEdit; Label4: TLabel; Edit4: TEdit; CheckBox1: TCheckBox; CheckBox2: TCheckBox; Edit5: TEdit;

F. Antoine S.

A. Sangiacomo C.

78

Captulo 3

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

v1[1]:=StrToFloat(Edit7.text);v1[2]:=StrToFloat(Edit8.text); Lx := StrToInt(Edit4.text); if Lx>200 then MessageDlg( ' Slo un Mximo de 200 particiones ! ! ! ', mtConfirmation,[MByes,MBno],0); if Lx>200 then Lx:=200; Pendi := StrToFloat(Edit5.text); Error := StrToFloat(Edit6.text); if CheckBox1.Checked then memo2.Clear; beta:= v1[2];v1[2]:=pendi; Calculo(Sender); end; End.

El problema lineal de segundo orden de valor de frontera


y ' ' = p ( x) y + q ( x) y + r ( x) , a x b , y (a) = , y (b) = ,
(1)

3.2.4. Problemas Use el algoritmo para aproximar la EDO con valor de frontera y ' ' = ( y) 2 y + ln( x) , 1 x 2 , y (1) = 0 , y (2) = ln(2) . h = 0.5, 0.4, 0.25, 0.1 . La Con solucin exacta es y( x) = ln( x) . 2. Use el algoritmo para aproximar la EDO con valor de frontera
1.

requieren que se usen diferencias finitas cocientes para aproximar y y y . Para esto tenemos que seleccionar un nmero N > 0 y dividimos el intervalo [a, b] en (N+1) subintervalos, cuyos puntos extremos son los de red xi = a + ih , para i = 0, 1, , h = (b a ) /( N + 1) . N+1, donde Escogiendo la constante h as facilitar la aplicacin de un algoritmo de matrices, de dimensiones NN. En los puntos o nodos interiores de red i = 1, 2, , N, la ecuacin diferencial a aproximar es
y ' ' ( xi ) = p( xi ) y( xi ) + q( xi ) y ( xi ) + r ( xi ) ,
(2)

y ''=

xy y x2

, 1 x 1 .6 ,

y (1) = 1 ,

y (1.6) = 0.847994 .

Con h = 0.15, 0.04, 0.025, 0.1 . 3. Resolver los problemas del tem 3.4.9. 4. Desarrollar el mtodo de Newton para aproximar la ecuacin diferencial ordinaria no lineal como en el punto 3.2. 3.3. Mtodos de Diferencias Finitas para Problemas Lineales
F. Antoine S.

Mediante la expansin de Taylor de tercer grado alrededor de xi y la evaluacin en los puntos xi +1 y xi 1 nos da la frmula
y ' ' ( xi ) = y ( xi +1 ) 2 y ( xi ) + y ( xi 1 ) h2 h 2 ( 4) y ( qi ) , 12

A. Sangiacomo C.

79

Captulo 3

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

(3)

= r ( xi )

(5)

para

qi , algn punto xi 1 < qi < xi +1 . La ecuacin (3) se llama frmula de diferencias finitas centrales para y ' ' ( xi ) . Tambin tendremos en cuenta la frmula para las derivadas de primer orden
y ( xi ) = y ( xi +1 ) y ( xi 1 ) h 2 2h 6

para cada i = 1, 2, , N. Si reorganizamos la ecuacin (5) nos quedar una forma ms manipulable como

hp( xi ) 2 1 + wi 1 + (2 + h q( xi ))wi 2 hp( xi ) 2 1 wi +1 = h r ( xi ) , (3) y (ri ) , (4) 2

para

algn punto xi 1 < ri < xi +1 . El uso de esta frmula diferencias centrales en ecuacin (2) da lugar a ecuacin
y ( xi +1 ) 2 y ( xi ) + y ( xi 1 ) h2
= p ( xi )

ri ,

de la la

Red unidimensional para una lmina. Figura 5.

y ( xi +1 ) y ( xi 1 ) + q ( xi ) y ( xi ) 2h h 2 (3) h 2 ( 4) + r ( xi ) y (ri ) y (qi ) 6 12

y el sistema resultante de ecuaciones se expresa en al forma matricial tridiagonal de NN que mostramos


Aw = b ,
(6)

donde la matriz A se presenta as


hp(x1) 2 0 0 L 2 + h q( x1) 1 + 2 hp(x2 ) hp( x2 ) 1 2 + h2q( x2 ) 1 + O M 2 2 0 O O O 0 hp(xN 1) hp( xN 1) M 2 1 2 ( ) 1 h q x O + + N 1 2 2 hp(xN ) 0 2 + h2q( xN ) L 1 0 2

Un mtodo de diferencias finitas con un error de truncamiento de orden O(h 2 ) resulta de usar esta ecuacin junto con las condiciones de frontera y (a) = y y (b) = para definir
w0 = , wN +1 = ,

2wi wi +1 wi 1 h
2

+ p( xi )

wi +1 wi 1 + q( xi ) wi , 2h
A. Sangiacomo C.

F. Antoine S.

80

Captulo 3

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

w1 w 2 w= M w N 1 w N

,y

hp( x1 ) 2 1 + 2 w0 h r ( x1 ) 2 h r ( x1 ) b= M h 2 r ( x N 1 ) hp( x N ) 2 1 w h r ( x ) N +1 N +1 2

2 y ' ' ( x) + y ( x) = e 0.2 x , 0 x 10 , y (0) = 1 , y(10) = 4 .

Usando h = 1 . Solucin:

Para garantizar una solucin nica del sistema tridiagonal En la ecuacin diferencial las frmulas lineal (6) enunciaremos el reemplazamos equivalentes de y y y por sus siguiente teorema: valores en diferencias finitas de 3.3.1. Teorema (3) y (4). Supngase que p, q y r son continuas en [a, b] . Si q ( x ) 0 en [a, b] , entonces el sistema Figura 6. lineal tridiagonal (6) tiene solucin nica siempre que De la retcula mostrada en la h < 2 / L donde L = mx p ( x) . a x b figura las ecuaciones en los Este teorema en sus hiptesis nodos i = 1, 2, , 9 son los garantiza la solucin nica del siguientes problema de valor de frontera (1), pero no garantiza que y C 4 [a, b] sea continua. Este requisito de la continuidad es necesario para que el error de truncamiento sea de orden O(h 2 ) . 3.3.2. Ejemplo
2( yi 1 + 2 yi yi +1 ) + yi = e 0.2i ,

donde se deja notar que xi = i en este caso particular. Para los extremos tenemos que sustituir la condicin de frontera izquierda y0 = y (0) = 1 , en las ecuaciones anteriores y nos queda:

Determinar las ecuaciones en 5 y1 2 y2 = e 0.2 + 2 , diferencias para el siguiente problema con valor de frontera y derecha y10 = y (10) = 4 dando
F. Antoine S. A. Sangiacomo C.

81

Captulo 3

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

2 y8 + 5 y9 = e 1.8 + 8 .

Ponindolo problema
y0
5 y1 2 y2

como

sistema
=1
= e 0 .2 + 2

Los espacios vacos son los ceros, pues es una matriz banda. el La forma de resolver consiste en utilizar una variante del mtodo de Gauss, cuya presentacin es: 3.3.4. Algoritmo de Tridiagonales
Paso 1: Asimilar (7). {Cargar los datos de tridiagonal } Paso 2: Iniciar las variables Paso 3: Para i = 2 hasta N hacer {eliminar las Ci de (7)} Paso 4: T = Ai / Bi 1 , Paso 5: Bi = Bi TCi 1 , Paso 6: Di = Di TDi 1 . Paso 7: Calculamos wN = DN / BN Paso 8: Para i = N-1 hasta 2 hacer {proceso hacia atrs}

2( yi 1 + 2 yi yi +1 ) + yi = e 0.2i ,

para i = 2, 3, , 8
2 y8 + 5 y9 = e 1.8 + 8

y10 = 4 .

Cualquier mtodo para resolver sistemas lineales existentes, permite encontrar la solucin al problema de frontera.

wi = ( Di Ci wi 1 ) / Bi

El sistema tridiagonal anterior Paso 9: Parar. tiene solucin particular la cual es bastante fcil y es como sigue: 3.3.5. Algoritmo de Diferencias Finitas para el Problema Lineal 3.3.3. Solucin de Sistemas por Paso 1: Definir p ( x) , q ( x) , r ( x) . Medio de Tridiagonales Paso 2: Entrar a, b; , ; N. Para simplificar escribamos el sistema tridiagonal de la forma:
B1 A 2 C1 B2 A3 C2 B3
O

C3
O Ai O Bi Ci O O

AN

w1 D1 w D 2 2 w3 D3 M = M wi Di C N 1 M M BN wN D N

Paso 3: Hacer h = (b a ) /( N + 1) , Paso 4: Para i = 1 hasta N hacer Paso 5: x = a + ih , Paso 6: Bi = 2 + h 2 q ( xi );

{Intervalo, valor de frontera y nmero de pasos}

Paso 7: Si i < N Ci = 1 + hp( xi ) / 2 ; Paso 9: Ai = 1 hp( xi ) / 2; Paso 10: Si i=1 Di = h 2 r ( xi ) + (1 + hp( xi ) / 2) Si i=N Di = h 2 r ( xi ) + (1 hp( xi ) / 2) En otro caso Di = h 2 r ( xi ) . Paso 11: Ir a algoritmo tridiagonal y resolver el sistema Paso 12: Para i=0 hasta N+1 hacer

(7)

F. Antoine S.

A. Sangiacomo C.

82

Captulo 3

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Publicar (i, xi = a + ih, wi ) . Paso 13: Parar.

3.3.6.

Programa en Delphi Pascal para Diferencias Finitas Lineales

{Programa Ec_Diferenciales_con_Valores_en_la_FRONTERA_p_Tridiagonal; } unit Difere_FintaX2_1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TDifere_Finit1 = class(TForm) GroupBox1: TGroupBox; Label1: TLabel; Edit1: TEdit; Edit4: TEdit; Label2: TLabel; Edit2: TEdit; Label4: TLabel; Label5: TLabel; CheckBox1: TCheckBox; CheckBox2: TCheckBox; Edit3: TEdit; Button1: TButton; Button2: TButton; Memo2: TMemo; Edit5: TEdit; Label3: TLabel; Label6: TLabel; procedure Button2Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); procedure publicador; procedure datoS_resultado; Procedure Calculo(sender: TObject); end;// Aqu se define las variables y matrices para usar _r = double; _i = integer; _s = string; _v = array [0..10000] of _r; _m = array [0..4] of _v; var Difere_Finit1: TDifere_Finit1; implementation {$R *.DFM} var Ma, Mb, Mc, bt, r1, v1 :_v; Lx :_i; Lim_a, lim_b, h1, alfa, Beta :_r; sx1, s : _s; procedure TDifere_Finit1.Button2Click(Sender: TObject); begin Close; end; procedure TDifere_Finit1.FormCreate(Sender: TObject); begin CheckBox1.Checked:=true;Memo2.Clear; end; { ****** Y" = p(x)y' + q(x)y + r(x) ***** } function fp(x:_r):_r; begin fp:= -2/x;{ P(x) :=-2/x} end; function fq(x:_r):_r; begin fq:= 2/x/x;{q(x):=2/x^2} end; function fr(x:_r):_r; begin fr:= sin(ln(x))/x/x;{r(x):=sin(ln(x))/x^2} end; procedure resol_Por_tridiagonal;Var i,n1:_i; {tridiagonal } begin n1:=Lx-1; // resuelve el sistema Tridiagonal for i:=2 to n1 do begin mb[i]:=mb[i]-ma[i]*mc[i-1]/mb[i-1]; bt[i]:=bt[i]-ma[i]*bt[i-1]/mb[i-1];ma[i]:=0 end; r1[n1]:=bt[n1]/mb[n1]; for i:=n1-1 downTo 1 do r1[i]:=(bt[i]-mc[i]*r1[i+1])/mb[i]; end;

procedure TDifere_Finit1.publicador;var i:_i; begin if not CheckBox2.Checked then exit; Memo2.Lines.Add(''); for i:=1 to Lx-1 do begin str(ma[i]:1:3,s);sx1:=' Ma['+IntToStr(i)+']= '+s; str(mb[i]:1:3,s);sx1:=sx1+' Mb['+IntToStr(i)+']= '+s; str(mc[i]:1:3,s);sx1:=sx1+' Mc['+IntToStr(i)+']= '+s; str(bt[i]:1:6,s);sx1:=sx1+' bt['+IntToStr(i)+']= '+s; Memo2.Lines.Add(sx1); end; Memo2.Lines.Add(''); end; procedure TDifere_Finit1.datoS_resultado;var i:_i; begin r1[0]:=alfa; r1[Lx]:=beta; Memo2.Lines.Add(' Resultados '); for i:=0 to Lx do begin str(Lim_a+i*h1:1:3,s);sx1 := ' x= '+s; str(r1[i]:1:9,s); sx1 := sx1+' r1['+IntToStr(i)+']= '+s; Memo2.Lines.Add(sx1); end; end;{****************************************} procedure Ecuac_Doferen_fronte;var i:_i; x:_r; begin h1:=(Lim_b-Lim_a)/(Lx); x:=Lim_a+h1; mb[1]:=2+ h1*h1*fq(x); mc[1]:=-1+h1*fp(x)/2; bt[1]:=-h1*h1*fr(x)+(1+h1*fp(x)/2)*alfa; {S(x) o Fuentes} for i:=2 to Lx-2 do begin x:=Lim_a+i*h1; ma[i]:=-1-h1*fp(x)/2; mb[i]:=2+ h1*h1*fq(x); mc[i]:=-1+h1*fp(x)/2; bt[i]:=-h1*h1*fr(x); end; x:=Lim_b-h1; ma[Lx-1]:=-1-h1*fp(x)/2;mc[Lx-1]:=0; mb[Lx-1]:=2+h1*h1*fq(x); bt[Lx-1]:=-h1*h1*fr(x)+(1-h1*fp(x)/2)*beta; end; { ************************************* } Procedure TDifere_Finit1.Calculo(sender: TObject); begin sx1:=' y"(x) = p(x) * y ''(x) + q(x) * y(x) + r(x)'; Memo2.Lines.Add(sx1); str(Lim_a:1:5,s);sx1:=' '+S+' <= x <= '; str(Lim_b:1:5,s);sx1:=sx1+S+' alfa ='+FloatToStr(v1[1]) +' beta ='+FloatToStr(beta); memo2.Lines.Add(sx1); // Ejecuta el mtodo de Diferencia Finita Ecuac_Doferen_fronte; Publicador; Resol_Por_Tridiagonal; Publicador; DatoS_resultado; end; procedure TDifere_Finit1.Button1Click(Sender: TObject); begin Lim_a:= StrToFloat(Edit1.text); // Limite Inferior Lim_b:= StrToFloat(Edit2.text); // Limite Superior // Valores iniciales y Carga de los valores iniciales v1[1]:=StrToFloat(Edit3.text);v1[2]:=StrToFloat(Edit5.text); Lx := StrToInt(Edit4.text); //nmero de pasos o particiones if Lx>1500 then MessageDlg('Slo un Mximo de 1500 particiones ! ! ! ', mtConfirmation,[MByes,MBno],0); if Lx>1500 then Lx:=1500; if CheckBox1.Checked then memo2.Clear; alfa:= v1[1]; beta:= v1[2]; Calculo(Sender); // Va a calcular el Mtodo de Diferencias Finitas end; End.

Ejemplo:
d x (e y) + e x y = x + (2 x)e x , 0 x 1 , dx y (0) = y (1) = 0 . Solucin: e x y ' 'e x y '+ e x y = x + (2 x)e x

y ' ' = y '+ y e x x ( 2 x)


b=(2 + 0.0625*1) c=(-1 + 0.25*-1/2) f=(0.0625*(exp(-0.25)*(0.25)+(2-0.25))+0)
A. Sangiacomo C.

F. Antoine S.

83

Captulo 3

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

a=(-1 - 0.25*-1/2) b=(2 + 0.0625*1) c=(-1 + 0.25*-1/2) f=(-0.0625*-(exp(-(0.5))*(0.5)+(2-(0.5)))) a=(-1 - 0.25*-1/2) b=(2 + 0.0625*1) f=(-0.0625*-(exp(-(0.75))*(0.75)+(2(0.75)))+0) Ma[1]= 0.000 Mb[1]= 2.063 Mc[1]= -1.125 bt[1]= 0.121544 Ma[2]= -0.875 Mb[2]= 2.063 Mc[2]= -1.125 bt[2]= 0.112704 Ma[3]= -0.875 Mb[3]= 2.063 Mc[3]= 0.000 bt[3]= 0.100267 Resultados x= 0 x= 0.25 x= 0.5 x= 0.75 x= 1

1 x 2,

y (1) = 1 , y ( 2) = 2 .

Usando h = 0.5; 0.1; 0.05; 0.025 . Solucin: (La solucin exacta


y( x) = C1x + C2 x2 3 sin(ln(x)) + cos(ln(x)) ). 10

Aqu resolveremos para h = 0.1 , o sea para n = 10


N

ti
1.00 1.10 1.20 1.30 1.40 1.50 1.60 1.70 1.80 1.90 2.00

wi
1.0000000000 1.0926005207 1.1870431288 1.2833368702 1.3814020462 1.4811202621 1.5823598957 1.6849890184 1.7888817462 1.8939210992 2.0000000000

r1[0]= 0 r1[1]= 0.166725653566869 r1[2]= 0.197624798441046 r1[3]= 0.132455214931225 r1[4]= 0

0 1 2 3 4 5 6 7 8 9 10

Tabla 2.

Problemas: Resolver los problemas del punto 3.1.5. anterior usando el mtodo Usando el algoritmo anterior y el de diferencias finitas. programa daremos solucin al ejemplo siguiente. Pero las condiciones se presentan de tres tipos que mostraremos en la tabla y sus respectivas figuras: 3.3.7. Ejemplo Tipo Explicacin Ejemplos Resolver por diferencias finitas la EDO con valor de frontera
y ''= 2 y + x
F. Antoine S.

2 x2

y+

sin(ln( x)) x2

a) condicin en la frontera con un valor fijo (Dirichlet) b) condicin en la frontera para la

Se da un valor y (0) = 0 de la funcin y (0) = 1 solucin

Se da la y (0) = 0 derivada de la y(0) = 1 solucin


A. Sangiacomo C.

84

Captulo 3

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

derivada (tipo Neumann) c) condicin Se relaciona un y(0) + y(0) de la en la frontera valor =k de tipo mixto funcin con la derivada.
Tabla 3.

Simplificando un poco tambin tenemos


p ( xi ) = pi , q( xi ) = qi , f ( xi ) = f i , y ( xi ) = yi

x = xi , en lugar de la para ecuacin diferencial (8), la ecuacin de las diferencias finitas


a b c

Figura 7.

yi =

yi +1 2 yi + yi 1 h2
y =

Sea la ecuacin ordinaria lineal

diferencial

yi +1 yi 1 ; 2h

y ' '+ p ( x ) y + q ( x) y = f ( x ) ,

para i= 1, 2, , n.
(8)

remplazando
yi +1 2 yi + yi 1 h
2

con las condiciones de frontera o contorno lineal


a0 y (a ) + a1 y(a ) = ,
b0 y (b) + b1 y(b) =
a0 + a1 0 ,

+ pi

yi +1 yi 1 + qi yi = f i , 2h

a0 y0 + a1

b0 + b1 0 .

b0 yn + b1

(9)

yn yn 1 =. h

y1 y0 = , h

esto nos lleva a un sistema de Suponiendo que las funciones ecuaciones lineales tridiagonales p ( x) , q ( x) y f ( x) son continuas de la siguiente forma: en el intervalo [a, b] . De la ecuacin (8) pasemos a la (a0 h a1 ) y0 + a1 y1 = h ecuacin en diferencias finitas. A (1 pi h ) y + (2 + h 2 q ) y i 1 i i 2 tal efecto, subdividimos el ph intervalo [ a, b] en n partes de + (1 + i ) yi +1 = h 2 f i , tamao
xi = x0 + ih ,
h= ba . n
2

Ponemos i=1, 2,n-1


xn = b ,

x0 = a ,

b1 yn 1 + (b0 h + b1 ) yn = h , (10)

i = 0, 1, , n.

que es el caso de mixto.

F. Antoine S.

A. Sangiacomo C.

85

Captulo 3

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Los casos Neumann se tomarn de acuerdo al problema anterior de la frmula (6, 9, 10) respectivamente para las fronteras izquierda o derecha. Ejemplo:
y' ' = y ;
y (0) 2 y ' (0) = 3 . y (1) + 2 y ' (1) = e 1
x Sol: y = e

Lineal con Valores en Frontera para Diferencias Finitas Una ecuacin diferencial ordinaria es no lineal si la incgnita y aparece en forma no lineal, o bien si sus coeficientes dependen de la solucin. Por ejemplo una ecuacin de conduccin del calor en un tubo refrigerante se vuelve no lineal si existe transferencia de calor por radiacin hacia afuera de la superficie. En fsica matemtica, en los problemas de reactores es donde ocurren la mayora de estos fenmenos. Los mtodos para la solucin de problemas no lineales con valores de frontera requieren de la aplicacin iterativa de un mtodo para resolver los problemas lineales. Analizaremos el proceso iterativo en un problema particular para despus pasar al mtodo con el uso de sistemas no lineales de Newton.

Solucin: y' ' (x) = 0 * y ' (x) + 1 * y(x) + 0 0.00000 <= x <= 1.00000 Con Frontera: 1*y(a) + -2*y ' (a) = 3; 1*y(b) + 2*y ' (b) = - exp(-1). b= 2.2 c= - 2 f= 0.6 a=(-1 - 0.2*0/2) b=(2 + 0.04*1) c=(-1 + 0.2*0/2) f=(-0.04*0) a=(-1 - 0.2*0/2) b=(2 + 0.04*1) c=(-1 + 0.2*0/2) f=(-0.04*0) a=(-1 - 0.2*0/2) b=(2 + 0.04*1) c=(-1 + 0.2*0/2) f=(-0.04*0) a=(-1 - 0.2*0/2) b=(2 + 0.04*1) c=(-1 + 0.2*0/2) f=(-0.04*0) a= -1.8 b= 2 f= -0.0735758882342885

Resultados x= 0 r1[0]= 1.07197046068192 x= 0.2 r1[1]= 0.879167506750107 x= 0.4 r1[2]= 0.721531253088303 x= 0.6 r1[3]= 0.592756249550031 x= 0.8 r1[4]= 0.487691495993761 x= 1 r1[5]= 0.40213440227724

Problemas: Resolver los problemas del punto Consideremos la ecuacin 3.1.5. anterior usando el mtodo diferencial ordinaria no lineal de diferencias finitas. y2 y ' '+ = e x , 0 x b , 3.4. Problema de Ecuaciones Diferenciales Ordinarias No
F. Antoine S.

100 y (0) = 0 , y (b) = 0 .

(11)

A. Sangiacomo C.

86

Captulo 3

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Observacin: Para dar una xk [0, b] y se desarrolla como aclaracin a los algoritmos de sigue: solucin numrica, debemos ver lo siguiente. En primer lugar, a 1) Se hace una primera diferencia de los lineales, no se estimacin de g(x); por garantiza la existencia de la podemos hacer solucin. En segundo lugar, un ejemplo problema no lineal con valores en g ( x) = 0.01 (o sea, un y = 1 de la frontera puede tener ms de (12)). una solucin. De hecho, mediante 2) Se resuelve la ecuacin (11) y un algoritmo iterativo se podra resolvemos la EDO lineal obtener distintas soluciones con x distintas estimaciones iniciales. y ' '+0.01 y = e , con valores Por lo tanto, al obtener una en la frontera. solucin numrica hay que 3) Aqu se toma como nuevo g a investigar si tiene significado la solucin de y anterior y se fsico. actualiza g ( x) = 0.01 y ( x) , para 3.4.1. Primer mtodo: de todo x en [0, b] . sustitucin sucesiva. La ecuacin 4) Si g i +1 ( x) g i ( x) ER ir al (11) la ponemos de la forma paso 5, en otro caso se regresa x y ' '+ g ( x) y = e (12) a al paso 2. Aqu ER es la tolerancia. donde 5) Publicar la solucin. y g ( x) = .
100

El mtodo es una extensin del mtodo de sustitucin sucesiva para la solucin de ecuaciones no lineales de una variable. Lo que creamos es una sucesin de valores de g { g i ( xk ) } in= 0 , tal que

3.4.2. Segundo mtodo: (llamado mtodo de Newton). Supongamos que disponemos de una primera estimacin de la solucin de y, la cual denotaremos por w( x) . Y la solucin exacta la expresaremos como
A. Sangiacomo C.

F. Antoine S.

87

Captulo 3

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

y ( x) = w( x) + w( x) ,

(13)

donde w( x) es una correccin de la estimacin. Reemplazando (13) en (11) nos queda


1 ( w 2 + 2 w w + ( w) 2 ) = e x , 100 1 1 2 w ' '+ w + ex . (2w w + ( w) 2 ) = w ' ' 100 100 ( w ' '+ w) +

La ecuacin linealizada asociada es:


w ' '+ 2 1 2 ( w w) = w ' ' w + e x . 100 100

(14)

Con un h = 0.2 , escribimos las ecuaciones en diferencias para este caso de las funciones w p :
wi 1 + 2 wi wi +1 + 2 (h 2 wi wi ) = 100 1 2 2 = wi 1 2 wi + wi +1 h wi + h 2 e ih 100

Si despreciamos queda
w ' '+

( w) 2 ,

nos

donde xi = ih , esta ecuacin la cual se puede resolver como puede ponerse en la forma una EDO lineal con valores en la tridiagonal frontera. Siendo entonces haciendo lo que sigue w( x ) + w ( x ) una solucin 2 + 0.02h w 1 0 0 L aproximada de (11). 1 2 + 0.02h w O M 1
2 1 2

2 1 2 w + e x , ( w w) = w ' ' 100 100 (15)

3.4.3. Ejemplo

0 M 0

O O L

1 2 + 0.02h wN 1 1 0
2

1 2 + 0.02h2wN 0

Resolver el problema EDO con y los Di son dados por valor en la frontera 1
y ' '+ y = e x , 0 x 2 , 100 y (0) = 0 , y (2) = 0 .
2

Di = wi 1 2wi + wi +1

100

h 2 wi2 + h 2e ih

para i = 1, 2, , 9. Empezamos la iteracin con la estimacin inicial wi = 0 . Solucin: Despus de la primera 0 w = 0 hallamos la aproximacin i Usaremos el segundo mtodo de 0 0 aproximaciones sucesivas segunda por w1 i = wi + wi , quedando para el lector la wi0 es el primer clculo donde primera forma.
F. Antoine S. A. Sangiacomo C.

88

Captulo 3

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

y proseguiremos as sucesivamente hasta cumplir la tolerancia. Los resultados se muestran en las tablas 4 de valores y de errores:
n
0 1 2 3 4 5 6 7 8 9 10

ti
0.0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 1.8 2.0

w1 i
0.000000000 0.094451926 0.156154623 0.191053011 0.204010217 0.199006585 0.179299696 0.147555383 0.105954996 0.056283224 0.000000000

wi2
0.000000000 0.094439485 0.156133309 0.191024081 0.203976985 0.198973372 0.179270418 0.147532550 0.105939511 0.056275099 0.000000000

wi3
0.00000000000 0.09443948599 0.15613330937 0.19102408197 0.20397698519 0.19897337250 0.17927041832 0.14753255082 0.10593951111 0.05627509994 0.00000000000

n
0 1 2 3 4 5 6 7 8 9 10

ti
0.0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 1.8 2.0

w1 i
0.000000000 0.094451926 0.056154623 0.091053011 0.104010217 0.099006585 0.079299696 0.047555383 0.005954996 -0.043716775 0.000000000

wi2
0.000000000 -0.000012440 -0.000021314 -0.000028929 -0.000033232 -0.000033213 -0.000029278 -0.000022832 -0.000015485 -0.000008124 0.0000000000

wi3
0.000000000 -0.000000000 -0.000000000 -0.000000000 -0.000000000 -0.000000000 -0.000000000 -0.000000000 -0.000000000 -0.000000000 0.000000000

Tabla 4.

3.4.4. Programa en Pascal para el Caso No Lineal por Iteraciones de Newton


{ No lineales por iteraciones MODIFICAR EL PROGRAMA 3.3.6.} { diferencias finitas } Program Ec_Dif_c_Val_e_l_FR_Tridiagonal_Diferencial_no_Lineal; Uses crt; Type _t=text; _r=double; _i=integer; _v=array[0..100] of _r;_s=string; Var alf,bet,h1,error1,error:_r; ma,mb,mc,bt,r1,r2:_v; c:char; x,la,lb :_r; xi1,xi2,n:_i; _as:array[0..3] of _s; Procedure sonido; var xi:_i; Begin for xi:=1 to 10 do Begin sound(4500);delay(30) end; nosound End; Function fp(x:_r):_r; begin fp:=-0; _as[2]:='0' end; Function fq(x:_r):_r; begin fq:= x/100; _as[3]:='0.001*y' end; Function fr(x:_r):_r; begin fr:= exp(-x); _as[0]:='exp(-x)' end; Procedure resol_Por_tridiagonal; var i,n1:_i; {tridiagonal } Begin For i:=2 to n-1 do {SE MODIFIC AQU}

Begin mb[i]:=mb[i]-ma[i]*mc[i-1]/mb[i-1]; bt[i]:=bt[i]-ma[i]*bt[i-1]/mb[i-1]; ma[i]:=0 End; r1[n-1]:=bt[n-1]/mb[n-1]; For i:=n-2 downTo 1 do r1[i]:=(bt[i]-mc[i]*r1[i+1])/mb[i]; End; Procedure publi; var i:_i; Begin For i:=1 to n-1 do Begin writeln('ma[',i:2,']=',ma[i]:10:4,' mb[',i:2,']=',mb[i]:10:4, ' mc[',i:2,']=',mc[i]:10:4,' bt=',bt[i]:1:9); if (i mod 20=0) and (i>1) then readkey End; writeln(' y"(x) = (', _as[2],')*y',chr(39),'(x) +(',_as[3],')*y(x) + ',_as[0]); End; Procedure datoS_resultado(var rv:_v); var r:_r;i:_i; Begin r1[0]:=alf; r1[n]:=bet; For i:=0 to n do Begin write(' x=',la+i*h1:2:2,' r[',i:3,']= ',rv[i]:1:11) ; if (i>0)and((i+1) mod 2=0) then writeln; if (i>0)and(i mod 42=0) then readkey End; writeln End; Procedure edfroso; var i:_i; {Se Modific Aqu } Begin h1:=(lb-la)/(n); x:=la+h1; i:=1; For i:=1 to n-1 do Begin x:=la+(i)*h1; ma[i]:=-1; mb[i]:=2+ h1*h1*r2[i]*2/100; mc[i]:=-1; bt[i]:=h1*h1*fr(x)+r2[i-1]-2*r2[i]+r2[i+1]-h1*h1*r2[i]*r2[i]/100; End; mc[n-1]:=0; ma[1]:=0; End; Procedure datos; var i:_i; Begin write('Lmite inferior a='); read(la); write('Lmite superior b='); read(lb); write('Condicin Izquierda alfa='); read(alf); r2[0]:=alf; write('Condicin Derecha beta='); read(bet); {SE MODIFIC AQU} write('Error Er='); read(error); write(' Nmero de particiones N= '); read(n); if n>100 then n:=100; r2[n]:=bet; {reclculo de los y0 iniciales } For i:=2 to n-1 do r2[i]:=0.10 End; Procedure Calculo; var k:_i; rg:_v; Procedure revisar_error(var rg:_v); var i:_i; {Se Agreg Aqu} Begin error1:=0; For i:=2 to n-1 do error1:=error1+abs(r2[i]-rg[i]) End; Begin datos; edfroso; publi; sonido; readkey; Repeat edfroso; resol_Por_tridiagonal; rg:=r2; For k:=1 to n-1 do r2[k]:=r1[k]+r2[k]; revisar_error(rg); writeln(' ********* Solucin intermedia ************'); datoS_resultado(r2); sonido; writeln(' ********* ERROR ************'); datoS_resultado(r1); Until error1<=error; writeln(' ********* Solucin ************'); datoS_resultado(r2); sonido; readkey; End; Begin {Programa Principal} calculo; End.

3.4.4.1. Problemas Resolver:


A. Sangiacomo C.

F. Antoine S.

89

Captulo 3

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

f ( x, y, y) Suponiendo que las siguientes y (1) = 0 ; y (2) = ln(2) . h = 0.5 , h = 0.005 . satisface 2. y ' ' = 1 ; condiciones: 1 x 2; y3 , y (1) = 2 2 3 y (2) = 1 . h = 0.05 , h = 0.005 . 3. y ' ' = 2 y 3 , 1 x 5 ; y(1) = 1 ; y (5) = 1 . 1. f y las derivadas parciales 4 8 f y = f / y y f y = f / y son h = 0.2 , h = 0.02 . ; todas continuas en 4. y ' ' = y 3 yy ' , 1 x 2 ; y (1) = 1 2 D = {( x, y, y ) a x b, < y, y < } ; . h = 0.1 , h = 0.001 . y ( 2) = 1 3 5. y ' ' = 2 y 3 6 y 2 x 3 , 1 x 2 ; y(1) = 2 ; 2. f y ( x, y, y) > 0 en D para . h = 0.05 , h = 0.005 . y ( 2) = 5 2 algn > 0 ;

1.

y ' ' = ( y ) 2 y + ln( x) ,

1 x 2;

6. Hacer el programa en Delphi para el caso 3. de sustituciones sucesivas.

Existen constantes k y L con


k=
( x , y , y )D

mx

f y ( x, y, y)

3.4.5. Mtodo de Solucin de L = mx f y ( x, y, y) . Ecuacin Diferencial Ordinaria ( x, y , y )D No Lineal Mediante la Solucin Esto asegura que existe una nica de Sistemas No Lineales solucin a la ecuacin (16). Para el problema general no Dividimos a [a, b] en (N+1) lineal de valor de frontera partes iguales cuyos extremos y ' ' = f ( x, y, y) , a x b , estn en los puntos de red y ( a ) = , y (b) = (16) xi = a + ih para i=0, 1, 2, , el mtodo de diferencias es N+1. La suposicin de que la similar siempre al mtodo solucin exacta tiene una cuarta aplicado anteriormente en los derivada acotada nos permite casos lineales. Aqu la diferencia reemplazar a y ' ' ( xi ) y a y ( xi ) es que el sistema de ecuaciones en cada ecuacin resultante no ser lineal, as que se requiere de un proceso de y ' ' ( xi ) = f ( x, y ( xi ), y ( xi )) (17) iteraciones para resolverlo. por una frmula de diferencias apropiada, para obtener cada
F. Antoine S. A. Sangiacomo C.

90

Captulo 3

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

ecuacin de i=1, 2, , N, de la Con el mtodo de Newton para sistemas no lineales, construimos siguiente forma: (k ) (k ) T , ..., wN ) } una sucesin { ( w1( k ) , w2 y ( xi +1 ) 2 y ( xi ) + y ( xi 1 ) h 2 ( 4) y ( qi ) que converger a la solucin del 12 h2 sistema (19) siempre y cuando la y ( xi +1 ) y ( xi 1 ) h 2 y ( ri ) = f xi , y ( xi ), aproximacin inicial est bastante 2h 6 de la solucin (18) cerca T ( w1 , w2 ,..., wN ) , y que la matriz para algn qi y ri en el intervalo jacobiana del sistema sea no ( xi 1 , xi +1 ) . singular. Para este sistema Tomando en cuenta los valores particularmente por ser la de frontera y las partes jacobiana tridiagonal asegura que principales y despreciando los es no singular. trminos de error en (18), nos 2 + h ( f ) 1 + ( f ) L 0 0 resulta 1 + ( f ) O M 1 ( f ) 2 + h ( f )
2 y 1

w0 = ,

wN +1 =

y
wi +1 2wi + wi 1 h
2

h 2

y 2

h 2 2

y 1

y 2

h 2

y 2

0 M 0

O O L

1 h (f ) 2 y N 1 0

2 + h ( f y ) N 1
2

1 h (f ) 2 y N

1 + h (f ) 2 y N 1 2 + h2 ( f y ) N

w wi 1 + f xi , wi , i +1 = 0, 2h

= J ( w1 , w2 ,..., wN ) ,

(20)

para cada i=1, 2, , N. donde Obtenindose un sistema NN de


w 2 w1 w2 + h f x1 , w1 , 2 = 0 2h
2

( f y )1 = f y ( x1 , w1 , w2 ) 2h

w2 ), 2h

( f y ' )1 = f y' ( x1 , w1 ,

y en forma
wi +1 wi 1 ), 2h

(19) ( f y ) i = f y ' ( xi , wi , wi +1 wi 1 ) 2h w N w N 2 w N 2 + 2 w N 1 w N + h 2 f =0 x N 1 , w N 1 , 2h wN 1 ( f y ) N = f y ( xN , wN , ), 2h wN 1 wN 1 wN 1 + 2wN + h 2 f x N , wN , =0 ( f y ) N = f y' ( xN , wN , ). 2h 2h

w w1 w1 + 2 w2 w3 + h 2 f x2 , w2 , 3 =0 2h

iterativa

( f y ) i = f y ( xi , wi ,

y para N

que tendr una solucin nica El mtodo de Newton para sistemas no lineal requiere de la siempre que h < 2 / L .
F. Antoine S. A. Sangiacomo C.

91

Captulo 3

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

solucin en cada iteracin del sistema lineal N N

AN = 1 hf y ( x, wN , z ) / 2 B N = 2 + h 2 f y ( x, w N , z )
DN = wN 1 2 wN + h 2 f ( x, wN , z )

J ( w1 , w2 ,..., wN )(v1 , v2 ,..., v N )T


= g ( w1 ), g ( w 2 ),..., g ( w N )

Paso 7: Retornar

),
T

Paso 8: Entrar a, b y , y N

{ retorna a lugar de partida despus de efectuar los pasos 4, 5 y 6 } { extremos, condiciones iniciales y nmero de}

para las vi respectivamente ya que


wik = wik 1 + vi ,

Entrar ER { particiones y el error o tolerancia} Paso 9: Hacer h = (b a ) / n

w0 = , wi = + i

wN =

Paso 10: Para i=1 hasta N hacer

( )h .

ba

{ o cualquier valor} { apropiado}

para cada i=1, 2, , N. y donde g ( wi ) son las ecuaciones de (19) respectivamente. 3.4.6. Algoritmo de Diferencias Finitas No Lineal (Newton)
f ( x, y , z ) ; { z = y } Paso 2: Definir f y ( x, y, z ) ; { f / y }
Paso 1: Definir Paso 3: Definir f y ( x, y, z ) ; { f / y } Paso 4: Hacer x = a + h {procedimiento iterativo de ida y vuelta}

Paso 11: Efectuar los pasos 4, 5, 6 Paso 12: Efectuar Solucin por tridiagonal y asignar resultados a vi Paso 13: Si v ER ir al paso 16. Paso 14: En otro caso hacer w k +1 = w k + v Paso 15: ir al paso 11 Paso 16: Publicar ( xi , wik ) Paso 17: Parar.

3.4.7. Ejemplo Resolver por diferencias finitas la EDO con valor de frontera
y ' ' = (32 + 2 x 3 yy ) / 8 , 1 x 3 ,

z = ( w2 ) /( 2h)

B1 = 2 + h 2 f y ( x, w1 , z ) C1 = 1 + hf y ( x, w1 , z ) / 2
D1 = 2 w1 + w2 + h 2 f ( x, w1 , z )
Paso 5: Para i=2 hasta N-1 hacer

y (1) = 17 , y (3) = 43 / 3 .

Usando

h = 0.5; 0.2; 0.05; 0.025 .

x = a + ih z = ( wi +1 wi 1 ) /(2h)

Ai = 1 hf y ( x, wi , z ) / 2 Bi = 2 + h 2 f y ( x, wi , z ) Ci = 1 + hf y ( x, wi , z ) / 2
Paso 6: Hacer x = b h
Di = wi 1 2 wi + wi +1 h 2 f ( x, wi , z )

Solucin: (La solucin exacta es y ( x) = x 2 + 16 / x ). Aqu resolveremos para h = 0.2 , o sea para n = 10 :

z = ( wN 1 ) /( h)
A. Sangiacomo C.

F. Antoine S.

92

Captulo 3

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

N
0 1 2 3 4 5 6 7 8 9 10

ti
1.0 1.2 1.4 1.6 1.8 2.0 2.2 2.4 2.6 2.8 3.0

w1 i
17.000000000 13.459048975 12.938602047 12.590632388 12.444240680 12.516261935 12.827803736 13.404714971 14.278053393 15.484552020 14.333333333

wi2
17.00000000 14.75780270 13.36959271 12.53327905 12.09773900 11.96811050 12.08335981 12.40353708 12.90279939 13.56608839 14.33333333

wi3
17.00000000 14.76688656 13.37937180 12.55004700 12.11935115 11.99158029 12.10583559 12.42151098 12.91048588 13.55267010 14.33333333

wi4
17.00000000 14.76688796 13.37937329 12.55004778 12.11934928 11.99157489 12.10582736 12.42150203 12.91047937 13.55266802 14.33333333

wi5
17.00000000 14.76688796 13.37937329 12.55004778 12.11934928 11.99157489 12.10582736 12.42150203 12.91047937 13.55266802 14.33333333

Dialogs, StdCtrls; type _r = double; _i = integer; _s = string; _v = array [0..200] of _r; _m = array [0..4] of _v; TDif_Finit_No_Lin1 = class(TForm) GroupBox1: TGroupBox; Label1: TLabel; Edit1: TEdit; Label2: TLabel; Edit2: TEdit; Label4: TLabel; CheckBox1: TCheckBox; CheckBox2: TCheckBox; Label5: TLabel; Edit4: TEdit; Button1: TButton; Button2: TButton; Memo2: TMemo; Label7: TLabel; Edit6: TEdit; Edit7: TEdit; Edit8: TEdit; Label8: TLabel; Label9: TLabel; procedure Button2Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); procedure publicador; procedure datoS_resultado(vv:_v); Procedure Calculo(sender: TObject); end; var Dif_Finit_No_Lin1: TDif_Finit_No_Lin1; implementation {$R *.DFM} var Ma, Mb, Mc, bt, r1, v1, r2 :_v; kj :_m; mm, Lx, n :_i; Lim_a, lim_b, h1, alfa, Beta, error, Pendi :_r; Matriz_s, sx1, s : _s; Math11 : _m; procedure TDif_Finit_No_Lin1.Button2Click(Sender: TObject); begin Close; end; procedure TDif_Finit_No_Lin1.FormCreate(Sender: TObject); begin CheckBox1.Checked:=true; Memo2.Clear; end; { ****** y'' = (32+2*x*x*x-y*z)/8; z=y' ****** } function y1(w1,w2,h:_r):_r; begin y1:= (w2-w1)/2/h end; {y' -->y1} function fy(x,y,z:_r):_r; begin fy:=-z/8 end; {df/dy } function fy1(x,y,z:_r):_r; begin fy1:=-y/8 end; {df/dy' } function f1(x,y,z:_r):_r; begin f1:=(32+2*x*x*x-y*z)/8 end; {f(x,y,y'} procedure resol_Por_tridiagonal;Var i,n1:_i; {tridiagonal } begin n:=lx; // resuelve por mtodo de tridiagonales for i:=2 to n do begin mb[i]:=mb[i]-ma[i]*mc[i-1]/mb[i-1]; bt[i]:=bt[i]-ma[i]*bt[i-1]/mb[i-1];ma[i]:=0 end; r1[n]:=bt[n]/mb[n]; for i:=n-1 downTo 1 do r1[i]:=(bt[i]-mc[i]*r1[i+1])/mb[i]; end; procedure TDif_Finit_No_Lin1.publicador;var i:_i; begin for i:=1 to Lx-1 do begin str(ma[i]:1:3,s);sx1:=' Ma['+IntToStr(i)+']= '+s; str(mb[i]:1:3,s);sx1:=sx1+' Mb['+IntToStr(i)+']= '+s; str(mc[i]:1:3,s);sx1:=sx1+' Mc['+IntToStr(i)+']= '+s; str(bt[i]:1:6,s);sx1:=sx1+' bt['+IntToStr(i)+']= '+s; Memo2.Lines.Add(sx1); end; sx1:=' y"(x) + p(x) * y '+chr(39)+' (x) + q(x) * y(x) + r(x)'; Memo2.Lines.Add(sx1); end; procedure TDif_Finit_No_Lin1.datoS_resultado(vv:_v);var r:_r;i:_i; begin Memo2.Lines.Add(' Resultados '); for i:=0 to Lx do begin str(Lim_a+i*h1:1:3,s);sx1 := ' x= '+s; str(vv[i]:1:9,s); sx1 := sx1+' r1['+IntToStr(i)+']= '+s; Memo2.Lines.Add(sx1); end; end;{****************************************} procedure edfroso;var i:_i; x, z:_r; begin h1:=(Lim_b-Lim_a)/(Lx);x:=Lim_a+h1;i:=1; z:=y1(alfa,r2[2],h1); mb[i]:=2+ h1*h1*fy(x,r2[1],z); mc[i]:= -1+h1*fy1(x,r2[1],z)/2; bt[i]:= -(h1*h1*f1(x,r2[1],z)+2*r2[i]-r2[i+1]-alfa); for i:=2 to Lx-1 do begin x:=Lim_a+(i)*h1; z:=y1(r2[i-1],r2[i+1],h1); ma[i]:= -1-h1*fy1(x,r2[i],z)/2; mb[i]:=2+ h1*h1*fy(x,r2[i],z); mc[i]:= -1+h1*fy1(x,r2[i],z)/2; bt[i]:= -(h1*h1*f1(x,r2[i],z)+2*r2[i]-r2[i+1]-r2[i-1]); end; z:=y1(r2[n-1],beta,h1/2); mb[Lx]:=2+ h1*h1*fy(x,r2[Lx],z); ma[Lx]:= -1-h1*fy1(x,r2[Lx],z)/2; bt[Lx]:= -(h1*h1*f1(x,r2[Lx],z)+2*r2[Lx]-r2[Lx-1]-beta); mc[Lx-1]:=0;ma[1]:=0; end; { ************************************* }

Tabla de errores vi .
N
0 1 2 3 4 5 6 7 8 9 10

ti
1.0 1.2 1.4 1.6 1.8 2.0 2.2 2.4 2.6 2.8 3.0

v1
0.00000000 13.45904897 12.83860204 12.49063238 12.34424068 12.41626193 12.72780373 13.30471497 14.17805339 15.38455202 0.000000000

v2
0.00000000 1.29875372 0.43099067 -0.05735333 -0.34650167 -0.54815142 -0.74444392 -1.00117788 -1.37525399 -1.91846362 0.000000000

v3
0.0000000 0.00908385 0.00977908 0.01676794 0.02161214 0.02346978 0.02247578 0.01797390 0.00768649 -0.01341829 0.000000000

v4
0.00000000 0.000001407 0.000001492 0.000000783 -0.00000186 -0.00000540 -0.00000823 -0.00000894 -0.00000651 -0.00000207 0.00000000

v5
0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 -0.00000000 -0.00000000 -0.00000000 0.000000000

Tabla 5.

3.4.8. Programa Pascal

en

Delphi

{ No lineales por Newton Sistemas MODIFICAR EL PROGRAMA 3.4.4.} { diferencias finitas } unit Difere_FinNO1_1;
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,

F. Antoine S.

A. Sangiacomo C.

93

Captulo 3

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Procedure TDif_Finit_No_Lin1.Calculo(sender: TObject);var k:_i;rg:_v;error1:_r; procedure revisar_error(var rg:_v); var i:_i; begin error1:=0; for i:=2 to Lx-1 do error1:=error1+abs(r2[i]-rg[i]) end; begin str(Lim_a:1:5,s);sx1:=' '+S+' <= x <= '; str(Lim_b:1:5,s);sx1:=sx1+S+' alfa ='+FloatToStr(v1[1]) +' beta ='+FloatToStr(beta); memo2.Lines.Add(sx1); // Ejecuta el mtodo de Diferencia Finita Edfroso; Publicador; Resol_Por_Tridiagonal; Publicador; // y arreglado para una proceso iterativo repeat Edfroso; Resol_Por_Tridiagonal; rg:=r2; for k:=1 to Lx-1 do r2[k]:=r1[k]+r2[k]; revisar_error(rg); memo2.Lines.Add(' **** Solucin intermedia ****'); DatoS_resultado(r2); r1[0]:=0;r1[lx]:=0; memo2.Lines.Add(' **** ERROR ****'); DatoS_resultado(r1); until error1<=error; end; procedure TDif_Finit_No_Lin1.Button1Click(Sender: TObject); var i:_i; begin Lim_a:= StrToFloat(Edit1.text); // Limite Inferior Lim_b:= StrToFloat(Edit2.text); // Limite Superior // Valores iniciales y Carga o entrada de dichos alfa:= StrToFloat(Edit7.Text); beta:= StrToFloat(Edit8.Text); Lx := StrToInt(Edit4.text); // nmero de pasos o particiones if Lx>200 then MessageDlg( ' Slo un Mximo de 200 particiones ! ! ! ', mtConfirmation,[MByes,MBno],0); if Lx>200 then Lx:=200; Error := StrToFloat(Edit6.text); // Error o permitividad if CheckBox1.Checked then memo2.Clear; r2[0]:=alfa;r2[Lx]:=beta; for i:=2-1 to Lx-1 do begin r2[i]:=0.10;r1[i]:=0 end; Calculo(Sender); // Va a calcular el Mtodo de Diferencias Finitas end; End.

Apndice:
A1. Fronteras del Tipo Completo

0 = L( y (a), y ' (a ), A) 0 = U ( y (b), y ' (b), B) y

Aqu trataremos las fronteras del tipo no lineal de la forma

donde a es el lmite inferior de a x b , y b es el lmite superior de:

y ' ' = f ( x, y, y) , a x b ,
0 = L( y (a), y ' (a), A) , 0 = U ( y (b), y ' (b), B )

(16)

Ejemplo:

i. y ' (a) = y(a) + 5 ; y ' (b) y (b) = 255 ; ii. y ' (a) ( y (a )) 2 = y (a) + 1 ; y (b) ( y ' (b)) 2 = y (b) + 1 .

3.4.9. Problemas

1. Resolver los problemas de 3.4.4.1. por los mtodos de Ahora los trasladamos a la forma: sistemas No lineales. 0 = y (a) + 5 y ' (a) = L ; y
2. (1 + x 2 ) y ' '+ ( y ' ) 2 + 1 = 0 ; y (0) = 0 ; y (2) = 2 ln(3) 2 . Sol: y = ln( x + 1) x . 3. ( y ' ' ) = y ' ; y (1) = 1 ; y (2) = 1 / 4 .
3

y (a) + 5 = L = y ' (a) . 0=


255 y (b )

y ' (b) = U ; y
255 y (b )

Sol: y = ( y + 2) 3 + 1 . ; y (3) = 2 . 4. yy ' '+ ( y ' ) 2 = 1 ; y (2.5) = 1 2 Sol: y 2 = 2 + ( x 1) 2 . 5. xy ' ' = y ' ln( x ) ; y (1) = 1 ; y (3) = 3e 4 + 1 . Sol: y = ( x 1)e x +1 + 1 . 6. 2 y ' ' = x y ' y ; y(1)=5; y(3)=13/3 Sol: y = x +
F. Antoine S.

= U = y ' (b) .

0=

( y ( a )) 2 +1 y(a)

y ' (a) = L ; y
= L = y ' (a)

y'

( y ( a )) 2 +1 y(a)

4 x

0=

y (b ) +1 y (b )

y ' (b) = U ; y
A. Sangiacomo C.

94

Captulo 3

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

y (b ) +1 y (b )

= U = y ' (b)

Nota: Aqu se entiende que L es el despeje de y = 1 o (b ) y N 1 = 1 . (a) en funcin de y(a) y A; [ y N 1 b Poniendo esto en las matrices se tiene: y ' (a ) = L ( y (a ), A) ].

o ( b ) y N = 1 h U y N ( y (b), B) ; y tambin:

Damos la forma de las entradas para la w0 + w1 h L ( w0 , A) = 0 matriz A de Ax=b para frontera izquierda. w w1 Haciendo: w1 + 2 w2 w3 + h 2 f x2 , w2 , 3 =0 2h y ' (a ) = L ( y (a ), A) , (1)

y0 = y (a) , y1 = y (a + h) ,

y ' (a) =
y1 y 0 h

y (a + h) y (a) h

= y0 =

y1 y 0 h

w wi 1 wi 1 + 2 wi wi +1 + h 2 f xi , wi , i +1 =0 2h

Reemplazando en (1) se tiene:

.
w N 2

(19)

= L ( y0 , A) ;

w w N 2 + 2 w N 1 w N + h 2 f x N 1 , w N 1 , N =0 2h

y0 + y1 h L ( y0 , A) = 0 ;
para el Jacobiano nos queda:

a = y0 + y1 h L ( y0 , A) ;
y0 a

wN 1 wN hU ( wN , B) = 0
Sistemas no lineales, construimos una

= 1 h L ( y0 , A) ; y
0

o ( a ) y0 = 1 h Ly0 ( y0 , A) ; y tambin:
y1 a

= 1 o ( a ) y1 = 1 .

( w1 , w2 , ..., wN )T que sucesin converger a la solucin del sistema (19) siempre y cuando la aproximacin inicial est bastante cerca de la solucin ( w0 , w1 , w2 ,..., wN )T ,
tridiagonal: (2)
1 h( L y ) 0 h 1 2 ( f y ) 2 0 M 0 1 2 + h2 ( f y )2 O O L 0 L 0 f 1+ h ( ) O M y 2 2 O O 0 2 h ( f ) 2 h ( f ) 1 ( f ) 1 h + + y N 1 y N 1 2 2 y N 1 0 1 h(U y N ) 1

(k )

(k )

(k )

la

jacobiana

Para frontera derecha. Haciendo:

y ' (b) = U ( y (b), B) , y N 1 = y (b h) , y N = y (b) ,

y ' (b) =
y N y N 1 h

y (b ) y (b h ) h

= yN =

y N y N 1 h

Reemplazando en (1) se tiene:

= U ( y (b), B ) ;

= J ( w0 , w1 , w2 ,..., wN ) ,

(20)

y N 1 y N h U ( y (b), B) = 0 ;
para el Jacobiano nos queda:

J ( w0 , w1, w2 ,..., wN )(v0 , v1, v2 ,..., vN )T


= g ( w0 ), g ( w1 ), g ( w2 ),..., g ( w N )
para las vi respectivamente ya que

b = y N 1 y N hU ( y (b), B) ;
yN

),
T

b = 1 h U ( y(b), B) ; y
N

F. Antoine S.

A. Sangiacomo C.

95

Captulo 3

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

wik = wik 1 + vi ,
para cada i= 0, 1, 2, , N.
i

x= 3.000

Y E [400]= 2.31736516365265E-14 Y[500]= 14.32270687176 Y E [500]= 7.99677339306213E-13

y donde g ( w ) son las ecuaciones de (19) A2. Programa en Delphi del 3.4.4. para el respectivamente. caso no lineal por iteraciones de Newton slo como un caso particular de la EDO. Ejemplo: Veamos el caso de:

y ' ' = (32 + 2 x 3 yy ) / 8 , 1 x 3 ,


y (1) y ' (1) = 238 , y (3) y ' (3) =
91 9

Pongamos aqu de la siguiente forma:

y ' (1) =

238 y(a)

y ' (3) = y (3) 91 9

y2 y ' '+ = e x , 0 x 2 , 100 y (0) = 0 , y (2) = 0 .

Para N=5 o h=0.4, aplicando (20) se tiene:


b=(-1 - 0.4*238/(0.1)^2) c= 1 f=(0.4*238/(0.1)^2+0) a=(-1 - 0.4*(-0.1)/8/2) b=(2 + 0.16*(-0)/8) c=(-1 + 0.4 *(-0.1)/8/2) f=-(0.16*(32+2*1.4^3-0.1*0)/8+0) a=(-1 - 0.4*(-0.1)/8/2) b=(2 + 0.16*(-0)/8) c=(-1 + 0.4*(-0.1)/8/2) f=-(0.16*(32+2*1.8^3-0.1*0)/8+0) a=(-1 - 0.4*(-0.1)/8/2) b=(2 + 0.16*(-0)/8) c=(-1 + 0.4*(-0.1)/8/2) f=-(0.16*(32+2*2.2^3-0.1*0)/8+0) a=(-1 - 0.4*(-0.1)/8/2) b=(2 + 0.16*(-0)/8) c=(-1 + 0.4*(-0.1)/8/2) f=-(0.16*(32+2*2.6^3-0.1*0)/8+0) a=(-1 ) b=(1 - 0.4*1) f=(0.4*0.1-91/9-0+0)

unit Edo_N_Li_Newt1_1;

y llegamos a:
Resultados con N# = 11 de iteraciones x= 1.000 Y[0]= 18.61966958729 Y E [0]= 1.54398383818152E-7 x= 1.400 Y[1]= 13.50679690426 Y E [1]= 2.02989698753659E-8 x= 1.800 Y[2]= 11.53572069532 Y E [2]= 4.71829783611055E-9 x= 2.200 Y[3]= 11.12485880271 Y E [3]= 1.12951386821603E-9 x= 2.600 Y[4]= 11.72677938614 Y E [4]= 4.03919564309283E-11 x= 3.000 Y[5]= 13.09434632704 Y E [5]= -4.81696562726398E-10

interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;

type _r = double; _i = integer; _s = string; _v = array [0..200] of _r; _m = array [0..4] of _v; TDif_Finit_No_Lin1 = class(TForm) GroupBox1: TGroupBox; Label1: TLabel; Edit1: TEdit; Label2: TLabel; Edit2: TEdit; Label4: TLabel; CheckBox1: TCheckBox; CheckBox2: TCheckBox; si tuviramos el mismo clculo con 500 Label5: TLabel; Edit4: TEdit; Button1: TButton; Button2: TButton; Memo2: TMemo; Label7: TLabel; particiones: Edit6: TEdit; Edit7: TEdit; Edit8: TEdit; Label8: TLabel; x= 1.000 Y[0]= 17.01657931840 Label9: TLabel; Y E [0]= 1.16201678495714E-12 procedure Button2Click(Sender: TObject); x= 1.400 Y[100]= 13.390960850224 Y E [100]= 1.26385493895198E-12 procedure FormCreate(Sender: TObject); x= 1.800 Y[200]= 12.1244562250586 procedure Button1Click(Sender: TObject); Y E [200]= -1.57606429983033E-12 procedure datoS_resultado(vv:_v); x= 2.200 Y[300]= 12.1045501122401 Procedure Calculo(sender: TObject); Y E [300]= -1.637341284303E-12 end; // Aqu se define las variables y matrices para usar
x= 2.600 Y[400]= 12.9037826385579
F. Antoine S. A. Sangiacomo C.

96

Captulo 3

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

var Dif_Finit_No_Lin1: TDif_Finit_No_Lin1; implementation {$R *.DFM} var Ma, Mb, Mc, bt, r1, v1, r2 :_v; Lx, n :_i; Lim_a, lim_b, h1, alfa, Beta, error, x :_r; sx1, s : _s; procedure TDif_Finit_No_Lin1.Button2Click(Sender: TObject); begin Close; end; procedure TDif_Finit_No_Lin1.FormCreate(Sender: TObject); begin CheckBox1.Checked:=true; Memo2.Clear; end; { ****** y'' + y^2/100 = exp(- x ); ****** } Function fp(x:_r):_r; begin fp:=-0; {p(x):='0'} end; Function fq(x:_r):_r; begin fq:= x/100; {q(x):='0.001*y'} end; Function fr(x:_r):_r; begin fr:= exp(-x); { r(x):='exp(-x)'} end; Procedure resol_Por_tridiagonal; var i:_i; {tridiagonal } Begin For i:=2 to n-1 do {SE MODIFIC AQU} Begin mb[i]:=mb[i]-ma[i]*mc[i-1]/mb[i-1]; bt[i]:=bt[i]-ma[i]*bt[i-1]/mb[i-1]; ma[i]:=0 End; r1[n-1]:=bt[n-1]/mb[n-1]; For i:=n-2 downTo 1 do r1[i]:=(bt[i]mc[i]*r1[i+1])/mb[i]; End; procedure TDif_Finit_No_Lin1.datoS_resultado(vv:_v);var i:_i; begin //r1[0]:=alfa; r1[Lx]:=beta; Memo2.Lines.Add(' Resultados '); for i:=0 to Lx do begin str(Lim_a+i*h1:1:4,s);sx1 := ' x= '+s; sx1 := sx1+' r1['+IntToStr(i)+']= '+FloatToStr(vv[i]); Memo2.Lines.Add(sx1); end; end;{***********************************} Procedure Ecuac_Dif_No_line_Front; var i:_i; {Se Modific Aqu } Begin h1:=(Lim_b-Lim_a)/(n); x:=Lim_a+h1; For i:=1 to n-1 do Begin x:=Lim_a+(i)*h1; ma[i]:=-1; mb[i]:=2+ h1*h1*r2[i]*2/100; mc[i]:=-1; bt[i]:=h1*h1*fr(x)+r2[i-1]-2*r2[i] +r2[i+1]-h1*h1*r2[i]*r2[i]/100; End; mc[n-1]:=0; ma[1]:=0;
F. Antoine S.

End; { ******************************** } Procedure TDif_Finit_No_Lin1.Calculo(sender: TObject); var k:_i;rg:_v;error1:_r; procedure revisar_error(var rg:_v); var i:_i; begin error1:=0; for i:=2 to Lx-1 do error1:=error1+abs(r2[i]-rg[i]) end; begin str(Lim_a:1:5,s);sx1:=' '+S+' <= x <= '; str(Lim_b:1:5,s);sx1:=sx1+S+' alfa =' +FloatToStr(v1[1])+' beta ='+FloatToStr(beta); memo2.Lines.Add(sx1); // Ejecuta el mtodo de Diferencia Finita Ecuac_Dif_No_line_Front; Resol_Por_Tridiagonal; //y arreglado para una proceso iterativo repeat Ecuac_Dif_No_line_Front; Resol_Por_Tridiagonal; rg:=r2; for k:=1 to Lx-1 do r2[k]:=r1[k]+r2[k]; revisar_error(rg); memo2.Lines.Add(' **** Solucin intermedia ****'); DatoS_resultado(r2); r1[0]:=0;r1[lx]:=0; memo2.Lines.Add(' **** ERROR ****'); DatoS_resultado(r1); until error1<=error; end; procedure TDif_Finit_No_Lin1.Button1Click(Sender: TObject); var i:_i; begin Lim_a:= StrToFloat(Edit1.text); // Limite Inferior Lim_b:= StrToFloat(Edit2.text); // Limite Superior // Valores iniciales y Carga o entrada de dichos alfa:= StrToFloat(Edit7.Text); beta:= StrToFloat(Edit8.Text); Lx := StrToInt(Edit4.text); n:=Lx; // nmero de pasos o particiones if Lx>200 then MessageDlg( ' Slo un Mximo de 200+ particiones ! ! ! ', mtConfirmation,[MByes,MBno],0); if Lx>200 then Lx:=200; Error := StrToFloat(Edit6.text); // Error o permitividad if CheckBox1.Checked then memo2.Clear; r2[0]:=alfa;r2[Lx]:=beta; for i:=2-1 to Lx-1 do begin r2[i]:=0.10;r1[i]:=0 end; Calculo(Sender); // Va a calcular el Mtodo de Diferencias Finitas end; end.

A. Sangiacomo C.

97

Captulo 3

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

B1. Mtodo del Disparo para Ecuaciones Para facilitar los clculos el problema (2) lo Diferenciales Ordinarias No Lineales escribiremos de la forma usando el mtodo de Newton y ' ' = f ( x, y ( x, t ), y( x, t )) , a x b ,

y (a) = , y(a) = t , (5) La tcnica del disparo para un problema no lineal de valor de frontera de segundo orden recordando la prima () es la derivada respecto de x, pero, nosotros ahora estamos y ' ' = f ( x, y, y) , a x b , interesados en derivadas respeto de t, o sea d y (a ) = , y (b) = . (1) dt y (b, t )
cuando t=tk, aplicando regla de la cadena (o Las soluciones previas son iguales al caso derivada total) nos resulta: lineal y al usado en el punto 3.2, lo que d y ' ' (b, t ) = d f ( x, y ( x, t ), y ' ( x, t )) dt diferencia el caso es usamos la derivada de dt d y ( x, t ) d y '( x, t ) funcin g(t)=y(b, t)- respecto a t. De = f ( x, y ( x, t ), y ' ( x, t )) ( dx , dt , dt ) dt

y ' ' = f ( x, y, y) , a x b , y (a) = , y(a) = t , (2)


involucran un parmetro t, para aproximar la solucin de nuestro problema de valor de frontera. Este t lo escogemos de forma

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

d y ( x, t ) d y '( x, t ) , dt ) dt d y ( x, t ) f y ( x, y ( x, t ), y ' ( x, t )) dt d y '( x, t ) + f y ' ( x, y ( x, t ), y ' ( x, t )) dt

(6) las condiciones iniciales son la discreta, o sea, t = t k y que al final cumpla correspondientes derivadas de las del problema (5) o sea lm = y (b, t k ) = y (b) = , d (3) d y (a) = 0 , dt y (a ) = dt =1, k dt dt en axb. donde y ( x, t k ) denota la solucin del La expresin (6) se puede representa ms problema de valor inicial (2), ver figuras 3 y simple si hacemos u = d y ( x, t ) , entonces se dt 4 del punto 3.2. tiene Sin embargo la iteracin tendr la u ' ' = f y ' ( x, y, y ' )u '+ f y ( x, y, y ' )u , (7) presentacin siguiente (Burden y Faires o u ' ' = f y ' u '+ f y u p.573): con axb, u(a)=0, u ( a)=1. ( y (b , t k ) ) Esto nos lleva a que el mtodo de Newton, t k +1 = t k d , requiere de valor inicial del problema (2) y ( y (b, t k ) ) dt del problema (7). Teniendo la presentacin k = 1, 2, (4) final d ( y (b, t ) ) . y requeriremos conocer dt k ( y (b , t ) ) Esto representa un escollo, pues poseemos la representacin explicita de t); y notamos que slo conocemos valores discretos de y(b, t0), y(b, t1), ..., tk). no y(b, los y(b,

t k +1 = t k

u (b , t k )

B2.1. Algoritmo de Disparo No Lineal con mtodo de Newton

F. Antoine S.

A. Sangiacomo C.

98

Captulo 3

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Paso 1: Definir

y' = u ;

y ' ' = f ( x, y , u ) .
{EDO no lineal despejada} {Procedimiento repetido}

Entrar ER, t0; {frontera, error permisible, pendientes} Paso 5: Hacer h = (b a) / N ; tx=t Paso 6: Mientras t x t0 > ER Hacer
{ inicio de proceso iterativo

Paso 2: Para i = 0 hasta N-1 hacer empezar


k1,1 = h u , k1, 2 = h f ( x, y, u ) ,

y = ,

u = t0 , t = t x
{ de mtodo de Newton}

k 2,1 = h (u +

k1, 2 ), 2

k 2, 2 = h f ( x + h ,y+ 2

k1,1 k ,2 ,u + 1 ), 2 2

Efectuar paso 2; { ir y retornar} wt = y , y = 0 , u = 1 , Efectuar paso 3; { ir y retornar}

k 3,1 = h (u +

k 2, 2 2

),

tx = t t0 = t

k3,2 = h f ( x +

k ,1 k ,2 h ,y+ 2 ,u + 2 ), 2 2 2

wt , y

{ frmula de Newton}

k 4,1 = h (u + k3,2 ) ,

k 4,2 = h f ( x + h, y + k3,1 , u + k3,2 ) , u = u + ( k1,1 + 2k 2,1 + 2k3,1 + k 4,1 ) / 6 ,


y = y + (k1, 2 + 2k 2, 2 + 2k 3, 2 + k 4, 2 ) / 6

Paso 7: Para i = 1 hasta N hacer Publicar (i; wyi ; wui = Y f i ) Paso 8: Parar.

x = x + h ; wyi=y; wui=u;
terminar Retornar
{Retorno al lugar de llamado}

Paso 3: Para i = 0 hasta N-1 hacer


{Procedimiento repetido}

empezar
k1,1 = h u ,
k1, 2 = h( f y ( x, y, u ) y + f y ' ( x, y, u )u ) ,

k 2,1 = h (u +

k1, 2 ), 2

k 2, 2 = h ( f y ( x + h ,y+ 2
+ f y ' (x + h ,y+ 2
k 2, 2 2

k1,1 ,u 2

k1, 2 )y 2

k1,1 k ,2 ,u + 1 )u ) , 2 2

k 3,1 = h (u +

),
k2,1 k ,2 ,u + 2 )y 2 2 k2,1 k ,2 ,u + 2 )u ) , 2 2

k3,2 = h( f y ( x + h ,y+ 2
+ f y ' (x + h ,y+ 2
k 4,1 = h (u + k3,2 ) ,

k 4, 2 = h( f y ( x + h, y + k31 , u + k32 ) y
+ f y ' ( x + h, y + k31 , u + k32 )u ) ,

y = y + ( k1,1 + 2k 2,1 + 2k3,1 + k 4,1 ) / 6 ,


u = u + (k1, 2 + 2k 2, 2 + 2k 3, 2 + k 4, 2 ) / 6

x = x+h;
terminar Retornar
{Retorno al lugar de llamado}
{intervalo, condiciones de }

Paso 4: Entrar a, b, y las , .


F. Antoine S.

A. Sangiacomo C.

99

Captulo 4

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

CAPTULO 4

Busquemos una funcin y = y( x) que satisfaga la ecuacin diferencial lineal


L[ y ] = y ' '+ p( x) y ' + q( x) y = f ( x) ,
(1)

Objetivo: Estudiar una ecuacin diferencial de segundo orden lineal con valor de frontera, por mtodos aproximados por expresiones analticas y numricas.

y las condiciones de contorno o valor de frontera


Va [ y ] = a1 y (a ) + a2 y ' (a ) = Vb [ y ] = b1 y (a ) + b2 y ' (a ) =
(2)

en donde
a1 + a2 0 ,
b1 + b2 0 .

4.0. SOLUCIN DE ECUACIONES DIFERENCIALES ORDINARIAS CON VALOR DE FRONTERA CON APROXIMACIONES POR EXPRESIONES ANALTICAS

Para resolver este problema elijamos, en primer lugar, un conjunto de funciones linealmente independientes
u0 ( x), u1 ( x), ..., u n ( x)
(3)

(funciones bsicas), de las cuales la funcin u0 ( x) satisface las 4.1. Procedimiento de la Colocacondiciones de contorno no cin homogneas El procedimiento de diferencias finitas para la resolver problemas de contorno (frontera), es un mtodo numrico y nos proporciona una tabla de valores de la funcin buscada. Aqu consideraremos un procedimiento con cuya ayuda obtendremos la solucin de aproximaciones del problema de las condiciones de contorno en forma de una expresin analtica.
Va [u0 ] = , Vb [u0 ] = ;
(4)

mientras que las otras funciones ui ( x) , i=1, 2, , n, satisfacen las condiciones de contorno homogneas:
Va [ui ] = 0 , Vb [ui ] = 0 ; i=1, 2, , n. (5)

Si las condiciones de contorno (2) son homogneas ( = = 0),


A. Sangiacomo C.

F. Antoine S.

99

Captulo 4

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

podemos poner y i=1, 2, , n, puede cumplirse la u0 ( x) = 0 considerar nicamente el sistema ecuacin de funciones R ( x, C , C , ..., C ) = 0 para a x b ,
1 2 n

ui ( x ) ,

i=1, 2, , n.

Busquemos ahora una combinacin lineal de estas funciones bsicas


y = u0 ( x) + Ci ui ( x) ,
i =1 n

(6)

como la solucin de aproximacin del problema de las condiciones de frontera (1) y (2). Claramente, la funcin y satisface las condiciones de frontera (2); que luego a causa de la linealidad de las condiciones de contorno se cumple que n n Va [ y] = Va [u0 ] + CiVa [ui ] = + Ci 0 = ,
i =1 i =1

y anlogamente
Vb [ y ] = .

Si sustituimos la expresin (6) en la ecuacin diferencial (1), obtenemos


R ( x, C1, C2 , ..., Cn ) = L[ y ] f ( x )

entonces la funcin y es la solucin exacta del problema de las condiciones de frontera (1), (2). Una eleccin adecuada de esta naturaleza de los coeficientes Ci no es en general posible. Por consiguiente, hay que limitarse al postulado de que la funcin R ( x, C1 , C2 , ..., Cn ) debe ser cero, para un sistema de puntos dados suficientemente compactos, en el intervalo [a, b] (es decir el sistema de puntos de colocacin). En estos puntos se cumple exacta-mente la ecuacin diferencial (1). Como puntos de colocacin puede elegirse, por ejemplo, puntos tales que dividan al intervalo [a, b] en un nmero de partes iguales. Como resultado obtenemos el sistema de ecuaciones lineales:
R( x1 , C1 , C2 , ..., Cn ) = 0

= L[u0 ] f ( x) + Ci L[ui ] .
i =1

R( x2 , C1 , C2 , ..., Cn ) = 0
(7)

. . . . . . . .

. .

(8)

R( xn , C1 , C2 , ..., Cn ) = 0

Si adems con una eleccin ms Si el sistema (8) tiene solucin, apropiada de los coeficientes Ci , podemos de ah averiguar los coeficientes C1 , C2 , ..., Cn .
F. Antoine S. A. Sangiacomo C.

100

Captulo 4

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

La solucin aproximada del En los puntos de colocacin problema de condiciones de x = 1 , x = 0 , x1 = 1 se cumple 2 frontera se da entonces por la 1 2 0 frmula (6). R ( x1 ) = 0 , R ( x0 ) = 0 , R ( x1 ) = 0 . De ah obtenemos, si empleamos la frmula (1), el sistema de Aproximar por medio del ecuaciones lineales para la procedimiento de colocacin el determinacin de los coeficientes C1 y C 2 : problema de valor de frontera 4.1.1. Ejemplo
y ' '+ (1 + x 2 ) y + 1 = 0 ,

1 x 1,
(9)

1 C1 + 2C 2 = 0
1 17 C 49 C = 0 . 16 1 64 2

y (1) = y (1) = 0 .

Solucin:

Luego resulta
C1 = 0.957 , C 2 = 0.022 .

Como funciones bsicas elegimos Por consiguiente obtenemos la en este caso los polinomios solucin aproximada u n ( x ) = x 2 n 2 (1 x 2 ) , n=1, 2, , (10) y 0.957 (1 x 2 ) 0.022( x 2 x 4 ) . que satisfacen evidentemente las En especial se cumple que condiciones de contorno y(0) = 0.957 . u n (1) = 0 . Como puntos de colocacin elegimos
x1 = 1 , 2
x0 = 0 ,

x1 =

1 2

Limitndonos a dos funciones bsicas; sustituimos


y = C1 (1 x 2 ) + C 2 ( x 2 x 4 )

en la ecuacin diferencial (9), Para comprobar Usted puede obtenemos resolver el problema por 2 R( x) = 2C1 + C2 (2 12 x ) diferencias finitas y ver que la 2 2 2 4 + (1 + x )[C1 (1 x ) + C2 ( x x )] + 1 solucin aproximada cumple con = 1 C1 (1 + x 4 ) + C2 (2 11x 2 x 6 ) .
F. Antoine S. A. Sangiacomo C.

101

Captulo 4

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

y (0) = y0 = 0.967 .

y
2

para i = 0 Va [ui ] = 0 para i > 0


para i = 0 Vb [ui ] = 0 para i > 0.

Problemas
1. Resolver y ' ' + y = 3x , x [0, 2] con y(0)=0, y y(2)=3.5; usando el mtodo de colocacin. 2. Resolver los problemas del punto 4.4.5 del final por colocacin.

Si sustituimos la expresin (3) en la ecuacin diferencial (1), obtenemos entonces la desviacin (error):
R ( x, C1 , C2 , ..., Cn ) =
= L[ y] f ( x) = L[u0 ] f ( x) + Ci L[ui ] , (4)
i =1 n

4.2. Mtodo de los Mnimos Cuadrados

Consideramos el mismo que en el intervalo a x b debe problema de valor de frontera ser un valor absoluto lo ms anterior pequea posible. Por pongamos la L[ y ] = y ' '+ p( x) y + q( x) y = f ( x) , (1) consiguiente, condicin y las condiciones de contorno o b 2 I = R ( x, C1 , C 2 , ..., C n ) valor de frontera a (5) es mnimo Va [ y ] = a1 y ( a ) + a2 y ' (a ) = 4.2.1. (mtodo de la integral de los mnimos cuadrados). b1 + b2 0 . a1 + a2 0 , La existencia de un mnimo para la integral I est condicionada por Manteniendo las expresiones la existencia de una solucin del introducidas anteriormente sistema de ecuaciones lineales pongamos siguiente: n b 1 I R y = u0 ( x) + Ci ui ( x) , (3) = R dx = 0 en donde
i =1

Vb [ y ] = b1 y (a ) + b2 y ' (a ) =

(2)

En donde las funciones ui = ui ( x) son tales que se cumplan las condiciones


F. Antoine S.

2 C1 a C1 b 1 I R = R dx = 0 a 2 C2 C2

. .

(6)

A. Sangiacomo C.

102

Captulo 4

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

b 1 I R = R dx = 0 . a 2 Cn Cn

Esto es, determinan a coeficientes C1 , C 2 , ..., Cn . 4.2.2. Ejemplo

En virtud del procedimiento de los mnimos cuadrados descrito formemos la los anteriormente, expresin
I = R 2 ( x) dx
= 1 (1 + x 4 )C1 + (2 11x 2 x 6 )C2
0 1

] dx
2

Con el mtodo de los mnimos cuadrados, aproxime el problema de condiciones de frontera o contorno

y determinemos los coeficientes C1 y C 2 de tal forma que la integral I sea mnima. Entonces obtenemos el sistema de y ' ' + (1 + x 2 ) y + 1 = 0 , 1 x 1 , ecuaciones 1 1 I y(1) = y (1) = 0 . (7) = (1 + x 4 )[1 (1 + x 4 )C1
2 C1
0

Solucin: Utilizando de nuevo las aproximaciones con la funciones


u1 = 1 x 2 , u 2 = x 2 x 4 ,

+ (2 11x 2 x 6 )C 2 ]dx = 0
1 1 I = (2 11x 2 x 6 )[1 (1 + x 4 )C1 0 2 C2

+ (2 11x 2 x 6 )C 2 ]dx = 0

o
68 3548 5 C1 + C2 = 45 1155 4 3548 63404 38 C1 + C2 = . 1155 4095 21

resultando entonces
y = C1 (1 x 2 ) + C2 ( x 2 x 4 ) .
(8)

Si sustituimos esta expresin en De ah resulta C1 = 0.985 , C 2 = 0.078 . la ecuacin diferencial (7), y luego en (4); obtenemos la Por consiguiente es desviacin: y = 0.985(1 x 2 ) 0.078( x 2 x 4 ) .
R ( x) = 1 (1 + x 4 )C1 + (2 11x 2 x 6 )C 2 . (9)

(10)

Del proceso (5) a (6) en lugar del Debido a la simetra de este mnimo de la integral (5), se problema, es suficiente puede emplear tambin el considerar como intervalo bsico mnimo de la sumatoria finita llamado tambin: a [0, 1] .
F. Antoine S. A. Sangiacomo C.

103

Captulo 4

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

4.2.3. (mtodo de los puntos de los mnimos cuadrados):


I N = R 2 ( xi , C1 , C2 ,..., Cn ) ,
i =1 N

x 3 = 3 x 2 = 1 4, 2,
x1 = 1 x0 = 0 , 4,

(11)

para la determinacin de los Ci . En donde x1, x2, , xN representa un sistema de puntos suficientemente compacto del intervalo [a, b] (para simplificar, se elige de ordinario un sistema de puntos equidistantes). En este mtodo de los mnimos cuadrados, se tiene que elegirse Nn, es decir, el nmero de puntos xi , i=1, 2, , N, tiene que ser mayor que el nmero de parmetros Ci , i=1, 2, , N. Cuando N=n, los parmetros C j pueden determinarse a partir del sistema de ecuaciones
R ( xi , C1 , C2 , ..., Cn ) = 0 ,

x1 = 1 x2 = 1 x3 = 3 4, 2, 4.

Se eligen como interpolacin. Solucin:

puntos

de

Debido a la simetra de este problema, elegimos el intervalo [0, 1] como intervalo bsico (o sea, la mitad solamente). Pongamos u1 = 1 x 2 , u 2 = x 2 x 4 , resultando entonces
y = C1 (1 x 2 ) + C 2 ( x 2 x 4 ) .

En la desviacin o error
R( x) = 1 + i C1 + i C2 ,

i=0, 1, 2, 3.

para

i=1, 2, , n,

En donde
i = (1 + xi4 ) ,
i = 2 11xi2 xi6 .
3

es decir, con el uso del Entonces es procedimiento de colocacin. 3 4.2.4. Ejemplo Con el mtodo de los puntos de los mnimos cuadrados, determinar la solucin del problema de condiciones de frontera anterior, cuando los puntos son
F. Antoine S.

I = R 2 ( xi ) = (1 + i C1 + i C2 ) 2 .
i =0 i =0

(12)

Empleando las condiciones precisas para la existencia de un mnimo de la funcin I, obtenemos el sistema normal

A. Sangiacomo C.

104

Captulo 4

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

1 I = i + C1 i i + C2 i2 = 0 . 2 C2 i i i

1 I = i + C1 i2 + C2 i i = 0 2 C1 i i i

i i i i i
M

i i i i2 i i ii
M

i i i i i i2 ii
M

i L i i L ii L ii L i2 L
M

i2 i i i i ii
M

(13)

Los valores de i , i , i i , i2 , i2 , i , i2 , i , i i ,
i

i2
i

se los mostramos en la Problemas

2 1.3123 -0.7656 -4.3655 -1.8188

tabla 6
x
0
1 4

-1 -1.0030 -1.0625 -1.3164 -.4.3828

2
1 1.0078 1.1289 1.7329 4.8696

-2 -1.3174 0.8134 5.7465 3.2425

2
4 1.7222 0.5861 19.0576 25.3659

1 2
3 4

Tabla 6.

1. Resolver y ' ' + y = 3 x 2 , x [0, 2] con y(0)=0, y y(2)=3.5; usando el mtodo de Mnimos Cuadrados. 2. Resolver los problemas del punto 4.4.5 del final por Mnimos Cuadrados.

De ah obtenemos para la 4.3. Mtodo de Galerkin determinacin de los coeficientes C1 y C 2 el sistema de ecuaciones El procedimiento de Galerkin se basa, en esencia, en un teorema 4.8696C1 + 3.2425C 2 = 4.3828 de la teora de las series de 3.2425C1 + 25.3659C 2 = 1.8188 Fourier. y de ah se hallan las soluciones 4.3.1. Teorema C1 = 0.9317 , C 2 = 0.0474 , Sea { un ( x)} un sistema ortogonal luego y = 0.9317 (1 x 2 ) 0.0474( x 2 x 4 ) . completo, en el intervalo [a, b] con norma distinta de cero. Si la Nota: Para generalizar la frmula funcin continua f(x) es ortogonal (13) se puede usar la tabla en el intervalo [a, b] a todas las funciones un ( x) , es decir, si se siguiente: cumple b a f ( x)un ( x)dx = 0 , n=1, 2, , (1)
F. Antoine S. A. Sangiacomo C.

105

Captulo 4

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

entonces es
f (x) 0

para a x b .

f 2 ( x)dx = 0 ,

Prueba:

y por consiguiente f ( x) = 0 , para a x b .

Consideremos la serie de Fourier 4.3.2. Observacin: De la de la funcin f(x) referente al frmula (6) podemos deducir que sistema ortogonal { un ( x)} : para cualquier funcin continua f(x), que sea ortogonal al sistema f ( x ) = cn u n ( x ) . (2) finito de funciones n =1 u1 ( x ) , u 2 ( x) , , u N ( x) Como es sabido, se determinan los coeficientes de Fourier cn (es decir, c1 = c2 = ... = c N = 0 , se cumple siempre la expresin por medio de la frmula
cn = 1 un
2 a b

f ( x)un ( x)dx ,

(3)

f 2 ( x) dx =

n = N +1

un

2 2 cn

<

para N suficientemente grande. Esto significa que la funcin f ( x) b 2 2 es en el intervalo [a, b] en media un = un ( x)dx > 0 , (4) a (norma) es tan pequea como se Mediante algunas En virtud de la condicin (1), quiera. suposiciones adicionales, resulta obtenemos, por consiguiente, de ah que tambin f ( x) es cn = 0 , para n=1, 2, (5) pequeo en el intervalo [a, b] . Para un sistema de funciones { un ( x)} completo en lo que Ahora ya podemos proceder en la respecta a cada funcin continua explicacin del procedimiento de Galerkin. f ( x) Sea dado el problema lineal de b 2 2 2 f ( x ) dx = u c (6) condiciones de contorno lineales n n. a n =1 L[ y ] = f ( x) , (7) De ah obtenemos, teniendo en en donde cuenta (6) en donde
L[ y ] = y ' ' + p( x) y ' + q ( x) y
A. Sangiacomo C. F. Antoine S.

106

Captulo 4

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

y las condiciones lineales de Cualquiera que sea la eleccin de frontera las funciones coordinantes ui ( x) , Va [ y ] = a1 y (a ) + a2 y ' (a ) = la funcin y definida mediante la Vb [ y ] = b1 y (a) + b2 y ' (a ) = (8) frmula (9) satisface, evidentemente, para coeficientes cualescon quiera ci las condiciones de b1 + b2 0 . a1 + a2 0 , contorno o frontera (8). SustituElijamos un sistema finito de yamos ahora la expresin (9) en funciones coordinantes { ui ( x)}, la ecuacin diferencial (7), i=0, 1, .., n, las cuales deben entonces obtenemos la desviacin pertenecer a un sistema ortogonal (error) de funciones completo. La R ( x, C1, C2 ,..., Cn ) = eleccin se realiza de forma que n la funcin u0 ( x) satisfaga las = L[u0 ] + Ci L[ui ] f ( x) . condiciones de frontera no i =1 homogneas Para la solucin exacta y de Va [ y ] = , Vb [ y ] = , nuestro problema de condiciones de frontera, la funcin R es y las funciones ui ( x) , i=1, 2, , idnticamente cero. Para determin deben satisfacer las condiciones nar una aproximacin que se de frontera homogneas diferencie lo menos posible de la exacta, es conveniente para ello Va [ y ] = 0 , Vb [ y ] = 0 , elegir los coeficientes Ci tales para i=1, 2, , n. que la funcin R, en un sentido La solucin del problema de determinado, sea lo ms pequeo condiciones de frontera (7) y (8) posible. la buscamos como en los El procedimiento de Galerkin procedimientos de colocacin en exige que la desviacin R debe ser ortogonal a toda las funciones la forma n coordinantes ui ( x ) , i=1, 2, , n. y = u 0 ( x ) + Ci ui ( x ) . (9) Con un nmero suficientemente i =1 grande de funciones coordinantes, la desviacin en media es tan pequea como se quiera, en
F. Antoine S. A. Sangiacomo C.

107

Captulo 4

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

virtud de la observacin dada Como funcin coordinante ui ( x) , anteriormente. En general, no i=0, 1, 2, 3. Elijamos aqu puede decirse que en media la u0 ( x) = 1 x , u1 ( x ) = x (1 x ) , solucin de aproximacin as u ( x) = x 2 (1 x) , u ( x) = x 3 (1 x) , 2 3 determinada se diferencie de la (11) exacta. Los coeficientes Ci , i=1, 2, , n se obtienen del sistema de ecuaciones lineales

a u1( x)R( x, C1, C2 , ..., Cn )dx = 0


a u2 ( x)R( x, C1, C2 , ..., Cn )dx = 0
. . . . . . . . . .
b

a un ( x)R( x, C1, C2 , ..., Cn )dx = 0


o de forma ms simple

Busquemos la aproximacin en forma de un polinomio


y = (1 x) + C1x(1 x) + C2 x 2 (1 x) + C3 x 3 (1 x) ,

la solucin de aproximacin del n problema. b Ci a ui ( x) L[ui ]dx = Si sustituimos este polinomio en i =1 el primer miembro de la ecuacin b = ui ( x){ f ( x) L[u0 ]}dx , diferencial (10), obtenemos a entonces la desviacin (error) para i=1,2,n. 4.3.3. Ejemplo
R( x, C1 , C2 , C3 ) = (1 4 x) + C1 (2 + 2 x 3x 2 )
+ C2 (2 6 x + 3x 2 4 x3 ) + C3 (6 x 12x 2 + 4 x3 5x 4 )

Con el procedimiento de Galerkin, aproximar una solucin Las condiciones de ortogonalidad a la ecuacin diferencial de la funcin R y de las funciones ordinaria con valores de frontera coordinantes u1 ( x) , u 2 ( x) , u3 ( x) nos proporcionan el sistema de y ' ' + xy ' + y = 2 x , 0 x 1 , ecuaciones y (0) = 1 , y (1) = 0 . (10) 1 2

(12)

0 (x x 0 (x
1 2

) R( x,C1 , C2 , C3 )dx = 0

Solucin:
F. Antoine S.

x 3 ) R( x,C1, C2 , C3 )dx = 0

A. Sangiacomo C.

108

Captulo 4

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

0 (x

x 4 ) R( x,C1 , C2 , C3 )dx = 0 .

Si sustituimos aqu en vez de R( x) la expresin (12) e integramos con respecto a x, obtenemos as el sistema de ecuaciones
133C1 + 63C2 + 36C3 = 70 140C1 + 108C2 + 79C3 = 98 264C1 + 252C2 + 211C3 = 210 .

Un problema lineal de valor de frontera en dos puntos que es importante en el anlisis de fuerzas aplicadas a vigas, est dado de manera especial por la ecuacin diferencial ordinaria
d dy p ( x) + q ( x) y = f ( x) , dx dx

0 x 1,
(1)

y con condiciones de contorno o frontera


y (0) = y (1) = 0 .
(2)

De ah resulta
C1 = 0.2090 , C2 = 0.7894 , C3 = 0.2090 ,

y por consiguiente
y = (1 x)(1 0.2090x 0.7894x 2 + 0.2090x 3 ) .

Figura 1.

Figura 2.

4.4. Mtodo de Rayleigh-Ritz

Esta ecuacin diferencial describe la defleccin y(x) de una viga de longitud unitaria (uno) con seccin transversal variable representada por q(x). La causa de la defleccin son las cargas extras p(x) y f(x).
A. Sangiacomo C.

F. Antoine S.

109

Captulo 4

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

En los desarrollos posteriores Sean p C1[a, b] , q, f C[0,1] , y supondremos que p C1[0,1] y p( x) > 0 , para 0 x 1 . (3) q, f C[ a, b] . Adems, se requerir que exista una La funcin y C02 [0,1] es la nica solucin de la EDO constante > 0 tal que p( x) > 0 , para 0 x 1 , d dy p( x) + q ( x) y = f ( x) , dx dx y que (4) 0 x 1, q( x) 0 , para 0 x 1 . si y slo si y es la nica funcin 2 Suponiendo esto es suficiente en C0 [0,1] que minimiza la para garantizar que el problema integral de valor de frontera (1) y (2) I [u ] = 1 ( p( x)[u( x)]2 + q( x)[u ( x)]2 2 f ( x)u ( x))dx 0 tienen una solucin nica. (5) En muchos problemas de valor de frontera que describen fenmenos fsicos, la solucin de la ecuacin Para el procedimiento de de la viga satisface una propiedad Rayleigh-Ritz, la integral I se varicional. El principio minimiza, no sobre todas las variacional para la ecuacin de la funciones en C02 [0,1] , sino sobre viga es fundamental en el desarrollo del mtodo de un conjunto ms pequeo de Rayleigh-Ritz y caracteriza a la funciones que consiste de solucin de la ecuacin de la viga combinaciones lineales de cierta como la funcin que minimiza base de funciones 1 , 2 , , n . n cierta integral sobre todas las Las funciones de la base { k } k =1 2 [0,1] , (el conjunto deben ser linealmente funciones en C0 de aquellas funciones u en independientes y satisfacer C 2 [0,1] con la propiedad de que i (0) = i (1) = 0 , u(0)=u(1)=0). para cada i=1, 2, , n. El siguiente teorema da la n caracterizacin. ( x ) = Una aproximacin cii ( x)
i =1

4.4.1. Teorema
F. Antoine S.

a la solucin y( x) de la ecuacin
A. Sangiacomo C.

110

Captulo 4

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

(4) se obtiene entonces hallando Las ecuaciones en (8) se c1, c2, , cn, que minimicen a consideran normalmente como un n sistema lineal Ac=b, donde la I cii ( x) . matriz A es simtrica y esta dada i =1 por De la ecuacin (5),
n I [ ] = I cii ( x) i =1
2 2 n n 1 = p ( x) cii( x) + q ( x) cii ( x) 0 i =1 i =1

a ij =

( p( x)i( x) j ( x) + q( x)i ( x) j ( x) )dx


1

y b se halla por
bi = f ( x)i ( x)dx .
0

Aqu trataremos el primer tipo de (6) funciones bases que involucran polinomios lineales segmentarios. El mnimo es alcanzado al El primer paso consiste en formar considerar I como funcin de c1, una particin de [0, 1] escogiendo c2, , cn y cuando puntos x0, x1, , xn+1, con I 0 = x0 < x1 < ... < xn +1 = 1 . = 0,
c j

n 2 f ( x) cii ( x) dx i =1

para cada j=1, 2, , n.

Tomando h = xi +1 xi para cada i=0, 1, , n, definimos las Diferenciando entonces (6) nos funciones 1 ( x) , 2 ( x) , , n ( x) resultar mediante n
(7)
1 I = 2 p( x) cii( x) j ( x) 0 c j i =1 n

+ 2q ( x) cii ( x) j ( x) 2 f ( x) j ( x) dx i =1

y sustituyendo en (7) queda


1 0 = p( x)i( x) j ( x) + q( x)i ( x) j ( x) dx 0 i =1 n

0, x xi 1 , h i ( x) = i 1 x x i +1 , hi 0,

0 x xi 1 xi 1 < x xi xi < x xi +1 xi +1 < x 1,

(9)

para cada i=1, 2, , n.

f ( x) j ( x)dx
0

para cada j=1, 2, , n.

(8)

F. Antoine S.

A. Sangiacomo C.

111

Captulo 4

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

a ii = p( x)[i( x)]2 + q( x)[i ( x)]2 dx


1 0
xi +1 1 1 p( x)dx = p ( x)dx + xi 1 h xi h i 1 i xi 2 2

Figura 3.

1 2 + ( x xi 1 ) q( x)dx xi 1 h i 1
xi

Como las funciones i son i=1, 2, , n. lineales por pedazos, las para cada 1 i , derivadas aunque no a i,i +1 = 0 ( p( x)i( x)i+1 ( x) + q( x)i ( x)i +1 ( x) )dx 2 xi +1 1 continuas, son constantes en el = h p ( x)dx xi subintervalo abierto ( x j , x j +1 ) para i 2 xi +1 1 cada j=0, 1, , n. Por lo tanto, + ( x xi )( xi +1 x)q( x)dx , xi h i tenemos que
0, 1 , hi 1 i( x) = 1 , hi 0, 0 x xi 1 xi 1 < x xi xi < x xi +1 xi +1 < x 1,

xi +1 1 xi

2 h ( xi +1 x) q ( x)dx i

para cada i=1, 2, , n-1.


(10)
a i ,i 1 =
1 0

( p( x)i( x)i1 ( x) + q( x)i ( x)i 1 ( x) )dx


1 = p ( x)dx xi 1 h i 1
xi 2 2

xi 1 para cada i=1, 2, , n. + ( xi x)( x xi 1 )q ( x)dx xi 1 h i 1 Debido a que i y i , son diferentes de cero solamente en para cada i=2, 3, , n. ( x j , x j +1 ) , Para las componentes de b tenemos i( x) j ( x) 0 y i ( x) j ( x) 0 , 1

excepto cuando j es i-1, i o i+1. xi 1 = ( x xi 1 ) f ( x )dx En consecuencia, el sistema xi 1 h i 1 xi +1 1 lineal (8) se reduce a un sistema + ( xi +1 x) f ( x)dx , xi h tridiagonal n n. Las i componentes distintas de cero de para cada i=1, 2, , n. A estn dadas por Las componentes c son las desconocidas; la solucin c1, c2,
F. Antoine S. A. Sangiacomo C.

bi = f ( x)i ( x)dx
0

112

Captulo 4

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

, cn, nos proporcionan la aproximacin de Rayleigh-Ritz dada por


( x) = cii ( x) .
i =1 n

beti = I pN + I b ; bi = I c + I d ; I p1 = I pN ; I q1 = I qN ;
Paso 7: Hacer

I pN

4.4.2. Algoritmo Segmentario Lineal de Rayleigh-Ritz


Paso 1: Entrar n para i=1 hasta n entrar xi Paso 2: Hacer x0 = 0 , xn +1 = 1 . Paso 3: Para i=0 hasta n hacer hi = xi +1 xi , Paso 4: Para i=1 hasta n hacer
0, x xi 1 , h i ( x) = i 1 x x i +1 , hi 0, 0 x xi 1 xi 1 < x xi xi < x xi +1 xi +1 < x 1,
2

1 = h n
2

x n +1
n

p ( x)dx ;

1 x n+1 2 Ia = h x n ( xn +1 x) q ( x)dx ; n xn 1 Ic = ( x xn 1 ) f ( x)dx ; hn 1 x n1 1 x n+1 Id = ( xn +1 x) f ( x)dx ; hn x n alf n = I p1 + I pN + I q1 + I a ;


bn = I c + I d ;
Paso 8: Resolver por tridiagonal el sistema formado por beti , alf i , beti , bi , y asignar la solucin a ci .
{por simetra de la tridiagonal}

1 Paso 5: Calcular I p1 = h0 I q1 1 = h 0
2

x1
0

p ( x )dx

x
2

x1
0

( x x0 ) 2 q ( x ) dx .

Paso 9: Publicar ci Paso 10: Parar.

Paso 6: Para i=1 hasta n-1 hacer


I pN 1 = h i

x
2

xi +1
i

4.4.3. Ejemplo
2

p( x)dx ;

I qN

1 = h i
2

x
i

xi +1
i

( x xi ) q ( x)dx ;
2

Considere el problema de valor de frontera


y ' '+ 2 y = 2 2 sin( x) ,
y (0) = y (1) = 0 .
0 x 1,

1 Ia = h i 1 Ib = h i
2

xi +1

( xi +1 x) q ( x)dx ;

xi +1
i

( xi +1 x)( x xi )q ( x)dx ;
xi

( x xi 1 ) f ( x)dx ; hi 1 xi 1 1 xi +1 Id = ( xi +1 x) f ( x)dx ; hi xi alf i = I p1 + I pN + I q1 + I a ; Ic =


F. Antoine S.

Solucin: En este problema asumiremos hi = h = 0.1 , y los nodos xi = ih = i 0.1 para cada i=1, 2, , 9. Ahora continuamos con los pasos del algoritmo
A. Sangiacomo C.

113

Captulo 4

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Paso 5:
1 I p1 = 0.1 1 I q1 = 0.1
2

I c = 2 cos(0.9 ) + 20[ sin(0.9 ) sin (0.8 )]

0.1
0

(1)dx = 100

0.1
0

dx = 10 ;

I d = 2 cos(0.9 ) 20[ sin( ) sin(0.9 )]

0.1

( x 0) 2 2 dx

15 b9 = 40 sin(0.9 ) 20[ sin( ) + sin (0.8 )] ;

alf i = 20 +

= 100

0.1 2 2 x dx 0

2
30

Paso 8: Resolver tridiagonal


alf1 bet 1 0 M 0 bet1 0 alf 2 bet2 O O O L betn 2 0 L O O alf n 1 bet n 1 0 M 0

por

Paso 6: Para i=1 hasta 8 hacer 0.1i + 0.1 I pN = 100 dx = 10 ; 0.1i


I qN = 100 I a = 100
I b = 100
0.1i + 0.1 0.1i

( x 0.1i ) 2 2 dx =
2 2

2
30

;
2
30
60

0.1i + 0.1 0.1i

(0.1i + 0.1 x) dx =

; Paso 9:

c1 b1 c b 2 2 M = M bet n 1 cn 1 bn 1 alf n bn cn

Publicar los valores de


c2 =0.5902003271 c4 =0.9549641893

0.1i + 0.1 0.1i

(0.1(i + 1) x)( x 0.1i) 2 dx =

2 ; ci

I c = 10

0.1i 0.1(i 1)

( x 0.1(i 1))2 2 sin(x)dx

c1 =0.3102866742 c3 =0.8123410598

= 2 cos(0.1 i) + 20[ sin(0.1 i) sin(0.1(i 1) )] ;

c5 =1.004108771 c9 =0.3102866742

c6 =0.9549641893

I d = 10

0.1i + 0.1 0.1i

(0.1(i + 1) x)2 2 sin(x)dx

c7 =0.8123410598 c8 =0.5902003271

= 2 cos(0.1 i) 20[ sin(0.1 (i + 1)) sin(0.1 i)] ;

alf i = 10 + 10 + beti = 10 +

2
30

2
30

= 20 +

2
15

2
60

; El cual es una aproximacin de y ( x) por la aproximacin segmentaria lineal


( x) = cii ( x) .
i =1 n

bi = 40 sin(0.1 i ) 20[ sin(0.1 (i + 1)) + sin(0.1 (i 1))]

= 40sin(0.1 i)[1 cos(0.1 )] ;

I p1 = 10 ; I q1 =

2
30

;
1 0.9

Para efectos de comparacin la solucin exacta es y ( x) = sin( x) .


dx = 10 ;

Paso 7:
I pN = 100
I a = 100
F. Antoine S.

1 0.9

(1 x) 2 2 dx =

2
30

Prosiguiendo, hagamos el clculo del primer punto de red x1 = 0.1 y tercero x3 = 0.3 , y luego de un

A. Sangiacomo C.

114

Captulo 4

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

punto intermedio entre puntos de red x = 0.27 . Para i=1;


(0.1) = 0.3102866742 (
x x0 ) + 0 + ... + 0 h0 x x = 0.3102866742 ( 1 0 ) h0
0 .1 ) = 0.3102866742 0 .1
x x2 ) + 0 + ... + 0 h2

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type _r = Extended; _i = integer; _s = string; _v = array [0..2000] of _r; _m = array [0..4] of _v; TDif_Elem_Finit1 = class(TForm) GroupBox1: TGroupBox; Label1: TLabel; Edit1: TEdit; Label2: TLabel; Edit2: TEdit; Label4: TLabel; CheckBox1: TCheckBox; CheckBox2: TCheckBox; Label5: TLabel; Button1: TButton; Button2: TButton; Memo2: TMemo; Edit3: TEdit; Label3: TLabel; Label8: TLabel; Edit4: TEdit; Edit5: TEdit; procedure Button2Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); procedure publicador; procedure datoS_resultado(vv:_v); Procedure Calculo(sender: TObject); end; var Dif_Elem_Finit1: TDif_Elem_Finit1; implementation {$R *.DFM} var Ma, Mb, Mc, bt, r1, r2 :_v; mm, Lx, n :_i; Lim_a, lim_b, h1, alfa, Beta :_r; sx1, s : _s; procedure TDif_Elem_Finit1.Button2Click(Sender: TObject); begin Close; end; procedure TDif_Elem_Finit1.FormCreate(Sender: TObject); begin CheckBox1.Checked:=true; Memo2.Clear; end; {*Aqu poner la -(P(x)y')'+q(x)y=r(x)**} function fp(x:_r):_r; begin fp:=1; end; function fq(x:_r):_r; begin fq:=sqr(pi); end; function fr(x:_r):_r; begin fr:= 2*pi*pi*sin(pi*x); end; function integp(a,b,hi:_r;i:_i):_r; var ii:_i;rs, h2:_r; begin h2:=(b-a)/mm;rs:=0;rs:=rs+fp(a); for ii:=1 to mm-1 do begin a:=a+h2; if ii mod 2 =0 then rs:=rs+2*fp(a) else rs:=rs+4*fp(a) end; rs:=rs+fp(b); rs:=rs/3*h2/hi/hi; integp:=rs; end; function integq(a,b,hi:_r;i:_i):_r;var ii:_i;rs,sd,h2:_r; begin h2:=(b-a)/mm;rs:=0;sd:=a; for ii:=1 to mm-1 do begin sd:=sd+h2; if ii mod 2 =0 then rs:=rs+2*fq(sd)*sqr(sd-a) else rs:=rs+4*fq(sd)*sqr(sd-a) end;rs:=rs+fq(b)*sqr(b-a); rs:=rs/3*h2/hi/hi; integq:=rs; end; function integq1(a,b,hi:_r;i:_i):_r;var ii:_i;rs,sd,h2:_r; begin h2:=(b-a)/mm;rs:=0;sd:=a;rs:=rs+fq(sd)*sqr(b-a); for ii:=1 to mm-1 do begin sd:=sd+h2; if ii mod 2 =0 then rs:=rs+2*fq(sd)*sqr(b-sd) else rs:=rs+4*fq(sd)*sqr(b-sd) end; rs:=rs/3*h2/hi/hi; integq1:=rs; end; function integq12(a,b,hi:_r;i:_i):_r;var ii:_i;rs,sd,h2:_r; begin h2:=(b-a)/mm;rs:=0;sd:=a; for ii:=1 to mm-1 do begin sd:=sd+h2; if ii mod 2 =0 then rs:=rs+2*fq(sd)*(b-sd)*(sd-a) else rs:=rs+4*fq(sd)*(b-sd)*(sd-a)

= 0.3102866742 (

Para i=3;
(0.3) = 0 + 0 + 0.8123410598 (
= 0.8123410598 (

x3 x2 0.1 ) = 0.8123410598 ( ) h2 0.1

= 0.8123410598

Para

x x x x2 (0.27) = 0.5902003271 ( 3 ) + 0.8123410598 ( ) h2 h2 0.3 0.27 0.27 0.2 = 0.5902003271 ( ) + 0.8123410598 ( ) 0. 1 0. 1

x = 0.27 ,

entre i=2 y i=3;

= 0.745698839

o sea, interpola entre los dos puntos laterales. 4.4.4. Programa en Pascal del Mtodo Rayleigh-Ritz

{$n+ MODIFICAR EL PROGRAMA 3.3.6.} unit Difere_Ele_Fi1_2; interface uses

F. Antoine S.

A. Sangiacomo C.

115

Captulo 4

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

end; rs:=rs/3*h2/hi/hi; integq12:=rs; end; function integf(a,b,hi:_r;i:_i):_r;var ii:_i;rs,sd,h2:_r; begin h2:=(b-a)/mm;rs:=0;sd:=a; for ii:=1 to mm-1 do begin sd:=sd+h2; if ii mod 2 =0 then rs:=rs+2*fr(sd)*(sd-a) else rs:=rs+4*fr(sd)*(sd-a) end;rs:=rs+fr(b)*(b-a); rs:=rs/3*h2/hi; integf:=rs; end; function integf1(a,b,hi:_r;i:_i):_r;var ii:_i;rs,sd,h2:_r; begin h2:=(b-a)/mm;rs:=0;sd:=a;rs:=rs+fr(sd)*(b-a); for ii:=1 to mm-1 do begin sd:=sd+h2; if ii mod 2 =0 then rs:=rs+2*fr(sd)*(b-sd) else rs:=rs+4*fr(sd)*(b-sd) end; rs:=rs/3*h2/hi; integf1:=rs; end; procedure resol_Por_tridiagonal;Var i,n1:_i; begin n1:=n-1; {Resuelve por tridiagonal } for i:=2 to n1 do begin mb[i]:=mb[i]-ma[i]*mc[i-1]/mb[i-1]; bt[i]:=bt[i]-ma[i]*bt[i-1]/mb[i-1];ma[i]:=0 end; r1[n1]:=bt[n1]/mb[n1]; for i:=n1-1 downTo 1 do r1[i]:=(bt[i]-mc[i]*r1[i+1])/mb[i]; end; procedure TDif_Elem_Finit1.publicador;var i:_i; begin if CheckBox2.Checked then for i:=1 to Lx-1 do begin str(ma[i]:1:3,s);sx1:=' Ma['+IntToStr(i)+']= '+s; str(mb[i]:1:3,s);sx1:=sx1+' Mb['+IntToStr(i)+']= '+s; str(mc[i]:1:3,s);sx1:=sx1+' Mc['+IntToStr(i)+']= '+s; str(bt[i]:1:6,s);sx1:=sx1+' bt['+IntToStr(i)+']= '+s; Memo2.Lines.Add(sx1); end; sx1:=' - ( p(x) * y''(x))'' + q(x) * y(x) = r(x)'; Memo2.Lines.Add(sx1); end; procedure TDif_Elem_Finit1.datoS_resultado(vv:_v);var i:_i; begin Memo2.Lines.Add(' Resultados '); for i:=0 to Lx do begin str(Lim_a+i*h1:1:4,s);sx1 := ' x= '+s; sx1 := sx1+' r1['+IntToStr(i)+']= '+FloatToStr(vv[i]); Memo2.Lines.Add(sx1); end; end;{****************************************} procedure Ecuac_Difer_Front;var i:_i;Ia,ib,ic,id,ie,ig,isx,it, x:_r; begin h1:=(Lim_b-Lim_a)/(n); x:=Lim_a+h1; isx:=integp(Lim_a,x,h1,1); it:=integq(Lim_a,x,h1,1); for i:=1 to n-1 do begin x:=Lim_a+(i+1)*h1; Ia:=integp(x-h1,x,h1,i); Ib:=integq(x-h1,x,h1,i); ic:=integq1(x-h1,x,h1,i); id:=integq12(x-h1,x,h1,i); ie:=integf(x-2*h1,x-h1,h1,i); ig:=integf1(x-h1,x,h1,i); mc[i]:=-Ia+Id; mb[i]:=isx+Ia+It+ic; ma[1+i]:=mc[i]; bt[i]:=Ie+Ig; isx:=Ia; it:=ib end; Ia:=integp(Lim_b-h1,Lim_b,h1,n); ic:=integq1(Lim_b-h1,Lim_b,h1,n); ie:=integf(Lim_b-2*h1,Lim_b-h1,h1,n); ig:=integf1(Lim_b-h1,Lim_b,h1,n); mc[n-1]:=0; ma[1]:=0;

mb[n-1]:=isx+Ia+It+ic; bt[n-1]:=Ie+Ig; end; { ************************************* } Procedure TDif_Elem_Finit1.Calculo(sender: TObject); begin Ecuac_Difer_Front; publicador; resol_Por_tridiagonal; publicador; datoS_resultado( r1 ); end; procedure TDif_Elem_Finit1.Button1Click(Sender: TObject); var i:_i; begin Lim_a:= StrToFloat(Edit1.text); // Limite Inferior Lim_b:= StrToFloat(Edit2.text); // Limite Superior mm:=16; // Valores Frontera Alfa:= StrToFloat(Edit3.text); Beta:= StrToFloat(Edit4.text); Lx := StrToInt(Edit5.text); n:=lx;// nmero de pasos o particiones if Lx>2000 then MessageDlg( ' Slo un Mximo de 2000 particiones ! ! ! ', mtConfirmation,[MByes,MBno],0); if Lx>2000 then Lx:=2000; if CheckBox1.Checked then memo2.Clear; r2[0]:=alfa; r2[Lx]:=beta; for i:=2-1 to Lx-1 do begin r2[i]:=0.10;r1[i]:=0 end; Calculo(Sender); end; End.

4.4.5. Problemas
1.

Use el algoritmo de RayleighRitz para aproximar la solucin de cada uno de los siguientes problemas de valor de frontera o contorno 2 2 a) y ' '+ 4 y = 16 cos( 4 x ) , 0 x 1 , y (0) = y (1) = 0 . Use x0 = 0 , x1 = 0.3 , x2 = 0.7 y
x3 = 1 .

Tambin resuelva usando h = 0.1 . Compare y critique.


b)

d ( xy ' ) + 4 y = 4 x 2 8 x + 1 , dx

0 x 1 , y (0) = y (1) = 0 .

Use
x3 = 1 .

x0 = 0 , x1 = 0.4 , x2 = 0.8

F. Antoine S.

A. Sangiacomo C.

116

Captulo 4

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Tambin resuelva usando h = 0.1 . Compare y critique. c) Resuelva la parte a) y b) por los mtodos de colocacin, Mnimos cuadrados por cualquier polinomios apropiados y Galerkin. Compare los resultados y de su opinin. 2. Demuestre que los siguientes problemas de valor de frontera o de contorno satisfacen las hiptesis del teorema 4.4.1. Use el algoritmo de RayleighRitz. a) y ' '+ y = x , 0 x 1 , y (0) = y(1) = 0 . Use h = 0.1 , y compare los resultados con la solucin real
e y = x + 2 (e x e x ). e 1

Use h = 0.05 , y compara con la solucin exacta y = x(e x e).


3.

Demuestre que la matriz A en el mtodo de Rayleigh-Ritz es definida positiva.

Apndice

A1.1. Mtodo de Ritz

b) x 2 y ' '2 xy + 2 y = 4 x 2 , 0 x 1 , Como una base del elemento finito que constituye esto, que se basa que se basa en y (0) = y (1) = 0 . una elegante rama de la matemtica: el clculo de variaciones. Use h = 0.05 , y comparar con El clculo de variaciones busca optimizar una clase especial de funciones denominadas la solucin exacta y = x( x 1). funcionales. Esta es d x x x b c) (e y) + e y = x + (2 x)e , I [ y ] = F ( x, y, y ' )dx (1) dx a Esto va de la mano con la idea de encontrar y (0) = y (1) = 0 . 0 x 1, la funcin y(x) que minimice la distancia Use h = 0.1 , y compara con la entre dos puntos. En este caso sencillo, la es la integral de la distancia a lo solucin exacta y = ( x 1)(e x 1). funcional largo de cualquiera de estas curvas: d) d (e x y ) + e x y = ( x 1) ( x + 1)e ( x1) ,
dx

I[ y] =

x2 x1

( dx ) 2 + ( dy ) 2 =

x2 x1

1 + ( dx ) 2 dx

dy

0 x 1,
F. Antoine S.

y (0) = y (1) = 0 .
A. Sangiacomo C.

117

Captulo 4

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Para minimizar I[y], se deriva y se iguala a cero, con la condicin de que cada curva pasa por ( x1 , y1 ) y ( x2 , y2 ) . Adems para la trayectoria ptima debe cumplirse la ecuacin de Euler - Lagrange esto es: d F ( x, y, y ' ) = y F ( x, y, y ' ) . (2) dx y '

se tiene slo derivadas de primer orden, en vez de segundo orden. Esto a parte de simplificar los clculos permite encontrar soluciones aun cuando haya discontinuidades que pueden provocar que no tenga derivadas suficientemente altas. En caso de no conocerse la solucin, quiz podamos aproximarnos a sta mediante Al aplicar a la funcional para la distancia algunas funciones (casi) arbitrarias y ver si ms corta se tiene: es posible minimizar la funcional por medio de una eleccin adecuada de los parmetros 2 F ( x, y , y ' ) = 1 + ( y ' ) de la aproximacin. Se hace u(x), que es la F ( x , y , y ' ) = 0 . aproximacin a y(x) (la solucin exacta), sea y una suma: (2 y ' ) 1 F ( x , y , y ' ) = , u ( x) = c0 v0 ( x) + c1v1 ( x) + ... + cn vn ( x) y' 2 1+ ( y ' ) 2

d dx y '

d ( dx

( y ') 1+ ( y ' ) 2

)=

F y

= 0.

= ci vi ( x) .
i =0

(5)

Sobre la v hay dos condiciones: deben escogerse de modo que u(x) cumpla las ( y ') condiciones de frontera, y las v individuales =C. 2 deben ser linealmente independientes 1+ ( y ' ) ( vi debe ser homognea para i0. v0 debe despejando para resolver se tiene: cumplir las condiciones de frontera.). Las v 2 y ' = C 2 = b =constante, se denominan funciones ensayo; las c y las v 1 C deben escogerse para hacer de u(x) una integrando aproximacin aceptable a la solucin y = bx + a . verdadera de la ecuacin (3). Una recta que debe para por los puntos Si u(x) segn se ha definido en la ecuacin ( x1 , y1 ) y ( x2 , y2 ) . (5) se sustituye por la funcional, ecuacin Pero el caso no es as de trivial para una (4), se obtiene EDO. Considere el problema con valor en la I (c ,c ,...,c ) = 0 1 n frontera lineal de segundo orden sobre [a, b]: b d = [( dx c i v i ) 2 Q( c i v i ) 2 + 2 F c i v i ] dx a y ' ' + Q( x ) y = F ( x ) , (3) (6) y ( a ) = y0 , y (b) = yn . Se observa que I es una funcin normal de Llevado a la funcional tendremos las c desconocidas despus de esta b du 2 2 I [ y ] = [( dx ) Qu + 2 Fu ] dx (4) sustitucin. a Para minimizar I, se toman sus derivadas La ecuacin (4) puede convertirse en la (3) y parciales con respecto a cada incgnita c y se viceversa por las condiciones de Euler - iguala a cero. Lo que resulta es un conjunto Lagrange, de modo que al optimizar (4) se de ecuaciones en las c que podemos resolver. obtiene la solucin de la (3). Observe Esto define a u(x) en la ecuacin (5). cuidadosamente el beneficio de operar con la Luego se sustituye la u(x) de la ecuacin (5) funcional en vez de la EDO original: ahora en la funcional. Si se deriva parcialmente Esto ltimo por (2). A partir de esto, se concluye que
F. Antoine S. A. Sangiacomo C.

118

Captulo 4

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

con respecto a, por ejemplo, ci donde esta es 2 2[ 7 x +c ( x 2 2 x) +c ( x 3 2 x 2 )]( x 3 2 x 2 )dx 2 0 4 1 una de las c desconocidas, se obtiene 2 I b (11) + 2 (3 x 2 )( x 3 2 x 2 )dx ; 2( du ) ( du )dx
ci

dx ci dx u

2Qu ( c )dx + 2F ( c ) dx
a
i

luego:
0 = c1 [(2 x 2) 2 ( x 2 2 x) 2 ]dx
2

0 (7) 2 donde la integral se ha separado en tres + c2 [(3x 2 4 x)(2 x 2) ( x 3 2 x 2 )( x 2 2 x)]dx 0 partes. 2 + [(3x 2 )( x 3 2 x) + 7 (2 x 2) 74x ( x 2 2 x)]dx ; 4 0 A1.2. Ejemplo: (10) Resolver la ecuacin y ' ' + y = 3x 2 , con 2 puntos fronterizos (0, 0) y (2, 3.5) (aqu Q=1 0 = c1 [(2 x 2)(3x 2 4 x) ( x 2 2 x)( x 3 2 x 2 )]dx 0 y F = 3 x 2 ). Use funciones polinomiales de 2 + c [(3x 2 4 x) 2 ( x 3 2 x 2 ) 2 ]dx 2 grado 3. 0 2 Si u(x) se define como + [ (3x 2 )( x 3 2 x 2 ) + 7 (3x 2 4 x) 74x ( x 3 2 x 2 )]dx ; 4 0 2 7x u ( x) = 4 + c1 ( x 2) x + c2 ( x 2) x , (8) (11) se tiene las v linealmente independientes. Ahora se realiza las integraciones. Si El Cumple las condiciones de frontera, y debido resultado se puede escribir as: 16 74 a los v1 = ( x 2) x y v2 = ( x 2) x 2 son c + 16 c = 15 5 1 5 2 ceros en los puntos frontera. 16 c + 128 c = 36 , (12) I I 5 5 1 21 2 ; , = 0 = 0 c1 c2 de donde c1 = 173 ; c2 = 119 . En (8): 152 228 2 du 7 = + c ( 2 x 2 ) + c ( 3 x 4 x ) 1 2 dx 4 u ( x) = 74x + 173 ( x 2) x + 119 ( x 2) x 2 228 152 du du = 2 x 2 , c dx = 3 x 2 4 x , en la figura se ven las funciones coordenadas c dx
1 2

u c1

= ( x 2) x ;

u c2

= ( x 2) x 2 .

y la solucin:

(9) Ahora se sustituye (9) en (7) pero, agrupando para c1 y c2 y las que no tienen c.
I c1

=0

= 2[ 7 + c1(2 x 2) + c 2 (3 x 2 4 x)](2 x 2)dx 4


0
2

2[ 74x +c1( x 2 2 x) +c 2 ( x 3 2 x 2 )]( x 2 2 x)dx


0

+ 2 (3 x 2 )( x 3 2 x)dx ;
0

(10) Figura xx1 Comparando las soluciones exacta con aproximada

I c2
2 0

=0

= 2[ 7 +c1(2 x 2) +c 2 (3 x 2 4 x)](3x 2 4 x)dx 4

F. Antoine S.

A. Sangiacomo C.

119

Captulo 4

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Exacta: y = 6 cos( x) + 3( x 2 2)

Integral [1] = 0.089256462419067 Fila 2 para la Integral de [1;2] de Coeficientes aij y bi de Ac = b f ' [2,1] = (2*(x-1)*(x-2)+(x-1)^2)*((x-2)+(x-1))-x*((x1)^2*(x-2))*((x-1)*(x-2)) Integral [2,1] = 0.140476000184814 f ' [2,2] = (2*(x-1)*(x-2)+(x-1)^2)*(2*(x-1)*(x-2)+(x-1)^2)x*((x-1)^2*(x-2))*((x-1)^2*(x-2)) Integral [2,2] = 0.117858002272745 r(x) [2] = -(x^3-4/x^3)*((x-1)^2*(x-2))-(2*(x-1)*(x-2)+(x1)^2)*(4)+x*(4*x-5)*((x-1)^2*(x-2)) Integral [2] = 0.06678732958464 Matriz de coeficientes de los Ci 0.2833C1 + 0.1405C2 = 0.0893 0.1405C1 + 0.1179C2 = 0.0668 C[1] = 0.083280 C[2] = 0.467414 >>> y = 4*x-5+(0.0832801691)*((x-1)*(x-2)) +(0.4674138664)*((x-1)^2*(x-2)) Datos por Intervalo {comparacin}
0 Cal y (1 ) = -1 1 Cal y (1.1 ) = -0.6117019400166 0.608181818181818 2 Cal y (1.2 ) = -0.2282820707808 0.226666666666667 3 Cal y (1.3 ) = 0.1530640909058 0.151538461538462 4 Cal y (1.4 ) = 0.5351410282416 0.531428571428571 5 Cal y (1.5 ) = 0.920753224425 0.916666666666667 6 Cal y (1.6 ) = 1.3127051626544 7 Cal y (1.7 ) = 1.7138013261282 1.71352941176471 8 Cal y (1.8 ) = 2.1268461980448 2.12888888888889 9 Cal y (1.9 ) = 2.5546442616026 2.55736842105263 10 Cal y (2 ) = 3 Ex y (1 ) = -1 Ex y (1.1 ) = Ex y (1.2 ) = Ex y (1.3 ) = Ex y (1.4 ) = Ex y (1.5 ) = Ex y (1.6 ) = 1.31 Ex y (1.7 ) = Ex y (1.8 ) = Ex y (1.9 ) = Ex y (2 ) = 3

Aproximada: u ( x) = 74x + 173 ( x 2) x + 119 ( x 2) x 2 228 152 A1.3. Ejemplo: Resolver y ' ' + xy = x 3

4 x3

y(1)= - 1; y(2)= 3. La solucin exacta es y = x 2 2 . x Solucin:


MTODO DE RITZ d((1) * y ' )/dx + (x) * y = x^3-4/x^3 p(x)=1; q(x)=x; r(x)=x^3-4/x^3 u0 = 4*x-5 f ' 0 = 4 u1 = (x-1)*(x-2) f ' 1 = (x-2)+(x-1) u2 = (x-1)^2*(x-2) f ' 2 = 2*(x-1)*(x-2)+(x-1)^2 Coeficientes Algebraicos y Sus Integrales Fila 1 para la Integral de [1;2] de Coeficientes aij y bi de Ac = b f ' [1,1] = ((x-2)+(x-1))*((x-2)+(x-1))-x*((x-1)*(x-2))*((x1)*(x-2)) Integral [1,1] = 0.28333314259847 f ' [1,2] = ((x-2)+(x-1))*(2*(x-1)*(x-2)+(x-1)^2)-x*((x1)*(x-2))*((x-1)^2*(x-2)) Integral [1,2] = 0.140476000184814 r(x) [1] = -(x^3-4/x^3)*((x-1)*(x-2))-((x-2)+(x1))*(4)+x*(4*x-5)*((x-1)*(x-2))

Figura xx2.

A2.1. Mtodo de Rayleigh-Ritz cbicas


A. Sangiacomo C.

F. Antoine S.

120

Captulo 4

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

dos derivadas continuas en [ x0 , x4 ] la nica El uso de una base de funciones posibilidad es la de modificar (b) a segmentarias cbicas para que sea b) S ( x j ) = f ( x j ) para j= 0, 2, 4. 2 diferenciable C0 [0,1] es un tanto ms El trazador - B bsico S definido en seguida complicado. Estas funciones base son usa los nodos igualmente espaciados similares a los trazadores interpolantes x0 = 2 , x1 = 1 , x2 = 0 , x3 = 1 , x4 = 2 . cbicos. Satisface las condiciones interpolantes Un trazador interpolante cbico S en los b) S ( x0 ) = 0 , S ( x1 ) = 1 , S ( x4 ) = 0 ; cinco nodos x0, x1, x2, x3 y x4 se define para as como ambos conjuntos de condiciones una funcin f mediante: i) S ' ' ( x0 ) = S ' ' ( x4 ) = 0 . a) S es un polinomio cbico, denotado por ii) S ' ( x0 ) = S ' ( x4 ) = 0 . S j en [ x j , x j +1 ] para j=0, 1, 2, 3. (Esto da
2 16 constantes a seleccionar par S, 4 Como consecuencia, S C0 (, ) . constantes para cada cbico). 0, x 2 b) S ( x j ) = f ( x j ) para j= 0, 1, 2, 3, 4. (5 3 3 3 1

[(2 x) 4(1 x) 6 x + 4(1 + x) 3 ] 4 condiciones especificadas). 2 < x 1 c) S j +1 ( x j +1 ) = S j ( x j +1 ) para j= 0, 1, 2. (3 1 3 3 3 [(2 x) 4(1 x) 6 x ] condiciones especificas). S ( x) = 4 1 < x 0 d) S ' j +1 ( x j +1 ) = S j ( x j +1 ) para j= 0, 1, 2. (3 1 [(2 x) 3 4(1 x) 3 ], 0 < x 1 condiciones especificas). 4 [(2 x) 3 ], 1< x 2 e) S ' ' j +1 ( x j +1 ) = S j ( x j +1 ) para j= 0, 1, 2. (3 1 4 0, 2 < x. condiciones especificas).

f) Se satisface una de las siguientes condiciones de frontera. i) Libre: S ' ' ( x0 ) = 0 . (2 condiciones especificas). ii) y Sujeta: S ' ( x0 ) = f ' ( x0 ) (2 condiciones S ' ( x4 ) = f ' ( x 4 ) . especificas). Como la unicidad de la solucin requiere que el nmero de constantes en (a), 16, sea igual al nmero de condiciones en (b) hasta (f), slo puede especificarse una de las condiciones de frontera en (f) para los trazadores interpolantes cbicos. Las definiciones de trazador cbico que usaremos para nuestras funciones base se llaman trazadores - B o trazadores de forma de campana. Estos trazadores interpolantes en que se satisfacen ambos conjuntos de condiciones de frontera en (f). Esto requiere de la relajacin de dos de las condiciones de (b) hasta (e). Como el trazador debe tener
F. Antoine S.

Para construir las funciones base j en


2 C0 [0,1] dividimos primero [0, 1] escogiendo

un entero positivo n y definiendo h =

1 . n +1

Esto produce los nodos igualmente espaciados xi = ih , para cada i=0, 1, . . .,n+1. La grfica de un S i tpico lo vemos en seguida.

+1 Es fcil demostrar que {S i }in= 0 es un conjunto linealmente independiente de trazadores cbicos. Para que el conjunto

A. Sangiacomo C.

121

Captulo 4

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

+1 {Si }in= 0 satisfaga las condiciones de frontera i (0) = i (1) = 0 , es necesario modificar S 0 , S1 , S n y S n +1 . La base con esta modificacin se define como S 0 ( x) 4S ( x + h ), i = 0, h x+h i = 1, S1 ( x) S ( h ), S ( x), 2 i n 1, i ( x ) = i x S ( x) S ( ( n + 2) h ), i = n, h n S n +1 ( x) 4S ( x ( n + 2) h ), i = n + 1, h

A2.2. Algoritmo con trazador cbico Con trazados cbico - B. ( x) = ci i ( x) .


i =0 n +1

Paso 1: Definir ( p( x) y ' ) ' + q ( x) y = f ( x) , 0 x 1 ; y (0) = y (1) = 0 . Paso 2: Entrar n. Paso 3: Hacer h = n1 . +1 Paso 4: Para i=0 hasta n+1 hacer xi = ih Paso 5: x 2 = x1 = 0 ; xn + 2 = xn + 3 = 1 ; Paso 6: Definir la funcin S:
0, x 2 1 [(2 x) 3 4(1 x) 3 6 x 3 + 4(1 + x) 3 ] 4 2 < x 1 1 3 3 3 4 [(2 x) 4(1 x) 6 x ] S ( x) = 1 < x 0 1 [(2 x) 3 4(1 x) 3 ], 0 < x 1 4 1 3 1< x 2 4 [(2 x) ], 0, 2 < x.

Como i ( x) y 'i ( x) son diferentes de cero +1 Paso 7: Definir la base {S i }in= 0 por solamente para xi 2 x xi + 2 , la matriz en x h 0 ( x) = S ( h ) 4S ( x + ), la aproximacin de Rayleigh-Ritz ser una h x x matriz banda con un espesor de banda de la h 1 ( x) = S ( h 1 ) S ( x + ), h ms siete: x xi ... ... 0 0 a00 a01 a02 a03 0 ( x ) = S ( ), i =2,, n -1, para a i O M a a a a h
11 10 a20 a21 a30 a31 0 a41 M O M M 0 ... 12 13 14

a22 a32

a23 a33

a24 a34

a25 a35

O a36 a46 O

0 a47 O

M 0

a42 a43 a44 a45 O O O O O O ... ... 0 an +1, n 2

an +1, n 1 an +1, n

0 an +1, n +1

n ( x) = S ( n +1 ( x) =

x xn x ( n + 2) h ) S( h ) , h x x x ( n + 2) h S ( hn+1 ) 4S ( h ) .

10.43 donde
aij = { p( x) 'i ( x) ' j ( x) + q ( x)i ( x) j ( x)}dx
0 1

Paso 8: Para i=0 hasta n+1 hacer [9 a 12] Paso 9: Para j=i hasta mm (i=3, n+1) L=mx( x j 2 , 0) ,
U=mm ( xi + 2 , 0) ,
aij =
U L

{ p( x) 'i ( x) ' j ( x)

para cada i,j=0, 1, . . ., n+1. La matriz es definida positiva, as que el sistema lineal puede resolverse fcilmente con el algoritmo de eliminacin Gaussiana.
F. Antoine S.

+ q ( x)i ( x) j ( x)}dx a ji = aij , // simetra

Paso 10: Si i 4 para j=0, i-4

A. Sangiacomo C.

122

Captulo 4

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

hacer aij = 0 . Pasa 11: Si i n 3 para j=i+4, , n+1 hacer aii = 0 . Paso 12: Hacer L=mx( x j 2 , 0) ,
U=mm ( xi + 2 , 0) ,
bi =
U L

f ( x)i ( x)dx

Paso 13: Resolver Ac = b, donde A = (aij ) ,


b = (b0 , b1 , ..., bn +1 )T y c = (c0 , c1 , ..., cn +1 )T . Paso 14: Para i=0 hasta n+1 hacer Paso 15: Publicar c Paso 15: Parar.

4 Apr y( 0.4 ) = 0.951069711300547 Ex y( 0.4 ) = 0.951056516295154 5 Apr y( 0.5 ) = 1.0000137657138 Ex y( 0.5 ) = 1 6 Apr y( 0.6 ) = 0.951069711300547 Ex y( 0.6 ) = 0.951056516295154 7 Apr y( 0.7 ) = 0.809028044359792 Ex y( 0.7 ) = 0.809016994374947 8 Apr y( 0.8 ) = 0.587793644476371 Ex y( 0.8 ) = 0.587785252292473 9 Apr y( 0.9 ) = 0.30901943116088 Ex y( 0.9 ) = 0.309016994374947 10 Apr y( 1 ) = 2.838072443063E-20 Ex y( 1 ) = 1.572093150104E-18

A2.3. Ejemplo: Resolver el Problema y ' ' + 2 y = 2 2 sin( x) , 0 x 1 , y (0) = y (1) = 0 . Solucin:
Resultados x= 0 C 0= 5.0306554474755E-6 y = 0 x= 0.1 C 1= 0.20942888217673 y = 0.309020688824741 x= 0.2 C 2= 0.398362195936599 y = 0.58779364447637 x= 0.3 C 3= 0.548296911982353 y = 0.809028044359791 x= 0.4 C 4= 0.644562333573153 y = 0.951069711300547 x= 0.5 C 5= 0.67773259892722 y = 1.0000137657138 x= 0.6 C 6= 0.644562333573154 y = 0.951069711300547 x= 0.7 C 7= 0.548296911982353 y = 0.809028044359792 x= 0.8 C 8= 0.3983621959366 y= 0.587793644476371 x= 0.9 C 9= 0.20942888217673 y = 0.30901943116088 x= 1 C 10= 5.030655447561E-6 y = 2.83807244306266E-20 Intervalo (comparacin) 0 Apr y( 0 ) = 0 Ex y( 0 ) = 0 1 Apr y( 0.1 ) = 0.309020688824741 Ex y( 0.1 ) = 0.309016994374947 2 Apr y( 0.2 ) = 0.58779364447637 Ex y( 0.2 ) = 0.587785252292473 3 Apr y( 0.3 ) = 0.809028044359791 Ex y( 0.3 ) = 0.809016994374947

F. Antoine S.

A. Sangiacomo C.

123

Captulo 5

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

F ( x, y, u, u x , u y , u xx , u xy , u yy ) = 0 . (1)

En donde x, y son las variables independientes, u la funcin buscada y u x , u y , u xx , u xy , u yy son sus derivadas parciales Objetivo: Es estudiar una ecuacin diferencial parcial y los primera y segunda respecto a x y mtodos ms comunes de solucin algebraicos y, la y, respectivamente. teora necesaria para la existencia de una solucin. Una funcin u = u ( x, y ) se dice que es solucin de la ecuacin diferencial (1), si ella transforma 5.0. SOLUCIONES NUMIR- esa ecuacin en una identidad. La CAS DE ECUACIONES DIFE- representacin grfica de la RENCIALES PARCIALES solucin es una superficie en el espacio R 3 (superficie integral) Nota: por efectos de simplicidad se usar indistintamente ecuacin diferencial parcial o EDP.

CAPTULO 5

5.1. Clasificacin de las Ecuaciones Diferenciales Parciales Figura 1. En este captulo trataremos mtodos de aproximacin para la 5.1.1. Ejemplo resolucin de algunos problemas para ecuaciones diferenciales Resolver la ecuacin diferencial parciales de segundo orden con 2u = 0. dos variables independientes. En y2 el caso general, una ecuacin diferencial cualquiera tiene la Solucin: forma
F. Antoine S. A. Sangiacomo C.

124

Captulo 5

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Integrando dos veces esta D = AC B 2 , ecuacin diferencial con respecto a y, obtengamos entonces se llama el discriminante de la ecuacin (2). En funcin del u = yh( x) + g ( x) , signo de la funcin D, la ecuacin diferencial (2) pertenece en donde h( x) y g ( x) son a uno de los tres tipos siguientes, funciones cualesquiera. Las en el dominio respectivo: superficies integrales son en este D > 0, tipo elptico, caso superficies planas, que se D = 0, tipo parablico, encuentran paralelas al plano y, u. D < 0, tipo La ecuacin diferencial (1) se llama lineal si la funcin F hiperblico; depende linealmente de la funcin buscada y de todas sus si D cambia de signo en el derivadas, es decir, si la podemos dominio considerado, la ecuacin (2) se dice que es del tipo mixto. escribir en la forma siguiente: El tipo de ecuacin diferencial lineal (2) es una caracterstica 2u 2u 2u + +C A 2 + 2B importante que se conserva en x y y2 x una transformacin cualquiera de u u +a +b + cu = F ( x, y ) . la forma x y
(2)

q = ( x , y ) , r = ( x, y ) ,

(3)

En donde los coeficientes A, B, C, a, b y c tienen slo que depender de x y y. En el caso especial en que todos los coeficientes sean constantes, esto es, que no dependan de x ni de y, entonces diremos que la ecuacin diferencial (2) es una ecuacin diferencial lineal con coeficientes constantes. A la expresin
F. Antoine S.

con su determinante funcional distinto de cero: (jacobiano de q, r)


( q, r ) 0. ( x, y )

5.1.2. Ejemplo

A. Sangiacomo C.

125

Captulo 5

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

La temperatura u = u ( x, y ) del punto (x, y) de una placa para una distribucin estacionaria de temperatura (es decir, independiente del tiempo) satisface la ecuacin diferencial de Laplace, si no existen fuentes de calor
u
2

las fuentes de calor. Si en la barra no existen fuentes de calor, la ecuacin de la conductividad trmica tiene entonces la forma
u 2u = a2 . t x2

u
2

= 0.

(4)

Si ponemos a 2t = ,

obtenemos entonces la ecuacin En donde A = 1; B = 0; C = 1 ; reducida de la conductividad luego D = AC B 2 > 0 , es decir, la trmica u 2u EDP homognea anterior es del = . (6) x2 tipo elptico. 5.1.3. Ejemplo La temperatura u = u( x, y) en un punto de abscisa x de una barra delgada homognea satisface en el momento t la ecuacin de la conductividad trmica unidimensional
2 u 2 u a = F ( x, t ) . t x2

Las ecuaciones (5) y (6) son ejemplos del tipo parablico. 5.1.4. Ejemplo La ordenada de un punto de la cuerda homognea de abscisa x en el instante t es u = u ( x, t ) . Esta ordenada satisface la ecuacin de onda no homognea unidimensional si se aplica una fuerza exterior
2 u t2 a
2

(5)

En donde es una constante que depende de las propiedades fsicas de la barra, mientras que F ( x, t ) es una funcin que est relacionada con la intensidad de
F. Antoine S.

2u x2

= F ( x, t ) .

(7)

A. Sangiacomo C.

126

Captulo 5

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

+a

u u +b + cu = F ( x, y ) x y

(10)

se llama la ecuacin caracterstica. Figura 2. Para una ecuacin diferencial parcial (10) del tipo hiperblico en donde a es una constante y AC B 2 < 0 existen por cada F ( x, t ) representa la fuerza de la punto del dominio considerado influencia exterior. La ecuacin dos caractersticas diferencial parcial (7) es la ecuacin de la cuerda oscilante. ( x, y ) = C ( x, y ) = C 2 1, Si no existe fuerza exterior alguna (oscilaciones libres), la Si efectuamos en la EDP (1) la EDP de la cuerda que oscila tiene transformacin de coordenadas entonces la forma
2 u t2 =a
2

2u x2

q = ( x, y ) ,

r = ( x, y ) ,

(8)

es decir, si introducimos los parmetros de las caractersticas Las ecuaciones diferenciales (7) como nuevas coordenadas y (8) de la cuerda que oscila curvilneas, obtenemos entonces pertenece al tipo hiperblico. la forma cannica de la EDP del tipo hiperblico: La Ecuacin diferencial ordinaria
A(dy ) 2 2 Bdxdy + C (dx) 2 = 0 , (9)

u qr + ( q, r )u q + ( q, r )u r + + (q, r )u = f (q, r ) .

formada con las constantes A, B, C de la ecuacin diferencial lineal


2u 2u +C + A 2 + 2B x y x y2 2u

F. Antoine S.

A. Sangiacomo C.

127

Captulo 5

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

( x , y ) i ( x , y ) = C 2 ;

donde i 2 = 1 (i = 1) . Por medio de la transformacin

q = ( x, y ) ,
Figura 3.

r = ( x, y )

obtenemos la forma cannica de la EDP del tipo elptico:

Para una ecuacin diferencial parcial (1) del tipo parablico u + ( q, r )u q + ( q, r )u r + + ( q , r )u = f ( q , r ) . existe slo un conjunto de caractersticas reales En donde el operador ( x, y ) = C . 2 2 + 2, = 2
q r

Por medio de la transformacin q = ( x, y ) , r = y , la EDP del tipo es el operador de Laplace. hiperblico para la forma cannica siguiente: La ecuacin diferencial parcial ms simple del tipo elptico es

u rr + (q, r )u q + (q, r )u r + ( q, r )u = f ( q, r )

u = 0

y se llama ecuacin diferencial Si finalmente, la EDP (10) es del de Laplace. tipo elptico, no tiene La ecuacin de Laplace no caractersticas reales, sino dos homognea grupos de caractersticas complejas u = f (q, r )

( x, y ) + i ( x, y ) = C1
y
F. Antoine S.

se llama ecuacin diferencial de Poisson.


A. Sangiacomo C.

128

Captulo 5

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

5.2. Presentacin de la Solucin Aqu la ecuacin diferencial de Ecuacin Diferencial Parcial lineal de segundo orden (10) la podemos escribir como por Operadores Cuando slo se tiene dos variables, x y y independientes, la EDP puede ser escrita en la forma simblica compacta
( Dx , D y )u = F ( x, y ) ,
(11)
2 2 ( RDx + SDx D y + TD y + PDx

+ QD y + Z )u = F ( x, y ) ,

(14)

o tambin como
Rr + Ss + Tt + Pp + Qq + Zu = F ( x, y ) ,

donde
Dx =

(15)

, x
=

Dy =

, y
(12)

Dxj D i y

j +i j x i y

donde R, S, T, P, Q, y Z como F, son funciones slo de x y y. Si F 0 la ecuacin es de la forma


( Dx , D y )u = 0 ,
(15)

y donde el operador ( Dx , D y ) denota a un polinomio de grado m en Dx y D y , en el cual sus coeficientes son funciones slo en x y y. Particularmente cuando la ecuacin (11) es de segundo orden se pude simplificar la simbologa con

es una EDP homognea. Si F 0 , se dice que la EDP es no homognea. Cualquier funcin de x y y, el cual sustituida por u en (11), y que satisface la identidad, es llamada una particular integral 2 de (11). Una funcin de x y y , el u u u p p= , q= , r= 2 = , cual sustituida por u en (15), y y x x x que satisface la identidad 2u q t= = homognea, es llamada una y2 y solucin complementaria o p q 2u 2u funcin complementaria. A causa s= = = = . y x x y y x del carcter lineal de (11), la (13) suma de la funcin particular y
A. Sangiacomo C.

F. Antoine S.

129

Captulo 5

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

complementaria forman una solucin completa de (11). Un teorema bsico, que es importante en esta parte y que puede probarse fcilmente, es el siguiente. 5.2.1. Teorema Si u1 , u2 , , un son n soluciones de una ecuacin diferencial parcial lineal homognea, c1u1 + c2u 2 + ... + cn u n , entonces donde los coeficientes ci son constantes cualquiera, es tambin una solucin. 5.3. Ecuaciones Homogneas Reducibles

grado en Dx y D y . Una ecuacin irreducible no puede ser puesta en factores de primer grado. 5.3.1. Ejemplo Reducible:
2 ( Dx Dx Dy Dx + D y )u =

= ( Dx D y )( Dx 1)u = 0

es una EDP de segundo grado reducible. Irreducible:


3 2 ( Dx Dx D y )u = Dx ( Dx D y )u = 0

es una EDP de segundo grado irreducible, como se nota el Hallaremos la solucin 2 complementaria de la ecuacin factor Dx D y no se puede diferencial parcial con resolver en factores lineales. coeficientes constantes dada por Ahora tratemos las EDP ( Dx , D y )u = 0 . (16) homogneas reducibles de orden m, el cual puede ser escrita como Nosotros por conveniencia, separamos la ecuacin (16) en ( Dx , D y )u = (1Dx 1D y 1 )... ...( m Dx m D y m )u = 0 , dos clases, el cual sern llamadas, (17) ecuaciones reducible e irreducible respectivamente. Para una ecuacin reducible donde i , i y i son constantes tenemos el operador que puede y algunas pueden ser ceros. ser resuelto en factores de primer
F. Antoine S. A. Sangiacomo C.

130

Captulo 5

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Evidentemente cualquier solucin m-sima de la ecuacin de Lagrange


( m Dx m D y m )u = = m p m q mu = 0
(18)

u=e

mx m

f m ( m y + m x) ,

(19)

donde f m es funcin arbitraria, y si m 0 , tendremos una solucin alternativa general dad por
m y

es tambin una solucin de (17).

u=e

f m ( m y + m x) .

(20)

En efecto: si u = f ( x, y ) satisface Si m y m no son ambos ceros a (18) o sea y si m Dx m D y m es un operador lineal, factor de ( m Dx m D y m ) f = 0 , ( Dx , D y ) , entonces una combinacin lineal de (19) y (20) tenemos es una solucin o una de ellas. Ahora los factores lineales (19) o ( Dx , D y )u = [(1Dx 1D y 1 )... (20) los reemplazamos en (16) en ...( m 1Dx m 1D y m 1 )](0) = 0 . cualquier orden, consecuentemente cada factor La ecuacin de Lagrange (18) da i Dx i D y i , i=1, 2, , m, el la ecuacin subsidiaria siguiente cual nos da una solucin completa de (16) dx dy du = = .
m
m

mu

u=e

1x 1

mx De las dos primeras relaciones, ... + e m f m ( m y + m x) , (21) nosotros conseguimos m y + m x = . Si m 0 , la primera y la tercera relacin dan donde f1 , f 2 , , f m son todas x log( z ) = m + log(b) , de donde la funciones arbitrarias, el cual m tambin satisfacen la ecuacin (16). Si algn i = 0 se integral general de (16) es reemplaza por (20).

f1 (1 y + 1x) + ...

F. Antoine S.

A. Sangiacomo C.

131

Captulo 5

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Si dos factores no son Veamos ahora el caso con linealmente independientes se factores repetidos, o sea, aplica un factor y o x (Dx D y ) 2 u = respectivamente. = (Dx D y )(Dx D y )u = 0 5.3.2. Ejemplo
(22)

si 0 la ecuacin de Lagrange Resolver la ecuacin de tercer tiene como primera solucin a orden x z = e f (y + x) , 2 2 2 ( Dx Dy + Dx Dy 2 Dx 3D D + 2 D )u = 0 donde nosotros tenemos
x y x

Solucin: Tenemos tres factores distintos que son


Dx ( Dx + D y 1)( D y 2)u = 0 .

(Dx D y )u = p q u
=e
x

f (y + x)

Teniendo como solucin


1 = 1 , 2 = 1,

Tomando nuevamente la solucin de la ecuacin de Lagrange, teniendo la ecuacin subsidiaria nos da


dx

1 = 0 ,

1 = 0 ,

dy =

du

2 = 1 , 2 = 1 , 3 = 0 ,
3 = 1 , 3 = 2 ,

u + e

f (y + x)

Como antes de las dos primeras relaciones tenemos y + x = k , resultando k constante. Usando esta primera solucin en primera y tercera u = f1 ( y ) + e x f 2 ( y x) + e 2 y f 3 ( x) , relacin tenemos donde las arbitrarias.
fi

son funciones

dz 1 u = e f (k ) . dx

F. Antoine S.

A. Sangiacomo C.

132

Captulo 5

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

El cual despus de resolver nos Aqu la solucin requerida es queda:


u= 1

e [ f (k ) x + b].

u = x 2 f1 ( y ) + xf 2 ( y ) + f3 ( y )
+ e 3 y [ yf 4 ( x) + f5 ( x)] ,,

La cual queda desarrollada


x

la cual contiene cinco funciones arbitrarias. u = e [xf1 (y + x) + f 2 (y + x)] ,


(23)
5.3.4. Problema

donde esta claro f (y + x ) / = f1 (y + x ) f 2 (y + x) como b / . 5.3.3. Ejemplo

que y

1.

2.

Resolver la ecuacin de quinto orden


3 2 3 3 ( Dx D y + 6 Dx D y + 9 Dx )u = 0

3.

Solucin: Transformando en factores nos queda 3 Dx ( D y + 3) 2 u = 0 .


3 Primero tenemos triple en Dx , resultando x 2 f1 ( y ) + xf 2 ( y ) + f 3 ( y ) .

Halle la solucin alternativa si m 0 , para la solucin de (22). Proponga la solucin para p factores repetidos, tanto para m 0 , como para m 0 . Resolver las siguiente ecuaciones: 2 2 a) (3Dx 13Dx D y + 4 D y )u = 0 , 2 2 g) (3Dx D y 4 Dx D y )u = 0 , 2 2 b) (2 Dx + 7 Dx D y + 5 D y )u = 0 , 4 h) (7 D 3 y Dx D y )u = 0 3 2 c) ( Dx Dx D y )u = 0 , 4 2 2 2 d) (4 Dx + 4 Dx D y + Dx D y )u = 0 , 4 2 2 2 2 4 e) ( Dx Dy + 3Dx D y + 3Dx Dy + Dx D5 y )u = 0 , f) (2 D + D D 12 D 6 D D + 18D + 9 D )u = 0 .
3 x 2 x y 2 x x y x y

Segundo la doble cual tiene

5.4. Ecuaciones Homogneas ( D y + 3) 2 , el Irreducibles

e 3 y [ yf 4 ( x ) + f 5 ( x )] .
F. Antoine S. A. Sangiacomo C.

133

Captulo 5

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Si la ecuacin diferencial parcial son cualquiera n pares de valores, con coeficientes constantes, el cual ponindolo en ecuacin (24), tenemos una solucin ( Dx , D y )u = 0 , (24) u = c1e a1x + b1 y + c2 e a2 x + b2 y + ... que no puede resolverse en ... + cn e an x +bn y (27) factores lineales, nosotros aplicamos las siguientes tcnicas sugerida por una funcin donde los ci son constantes exponencial, posiblemente arbitrarias. multiplicado por algunos de los 5.4.1. Ejemplo factores,
k ax + by Dxj D y e = a j b k e ax + by , Resolver la ecuacin
2 2 (2 Dx Dy Dy )u = 0 .

para j, k = 0, 1, , cuando a y b son constantes cualquiera, tal que Solucin: Aqu notamos que el operador ( Dx , D y )e ax + by = (a, b)e ax + by , (25) tiene un factor lineal, D y , y un 2 Dy ) , factor irreducible, (2 Dx En consecuencia la funcin correspondiendo a este 2a 2 b = 0 , o b = 2a 2 . experimental exponencial e ax + by , la cual satisface la ecuacin (24) si y slo si a y b son tales que Por fin nos resulta
( a, b) = 0 .
(26)

u = f ( x ) + c1e a1 x + 2 a1 y + c2e a2 x + 2 a2 y + ...


2 2

Para cualquier eleccin de a, la relacin (26), se llama la f ( x) es una funcin ecuacin auxiliar, y da distintos donde arbitraria y en la nica variable x, valores de b, y viceversa. Aqu los pares son dados por n es cualquier nmero entero ( a1 , b1 ) , ( a2 , b2 ) , , ( an , bn ) , y
F. Antoine S. A. Sangiacomo C.

... + cn e a n x + 2 a n y ,
2

134

Captulo 5

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

ci son una de las expresiones Pn ( x, y ) es positivo y las ai y una solucin de (24). constantes arbitrarias.

Para el caso se puede poner b en funcin de a denotndolo como b = g (a) , de donde obtenemos la funcin auxiliar de (27) de la forma siguiente e ax + by = e ax + g ( a ) y como una funcin de a, con x y y con el rol de parmetros. Expandiendo por series de Taylor (Maclaurin) nos resulta
a e ax + g ( a ) y = P0 ( x, y ) + P 1 ( x, y ) + ... 1! n a ... + Pn ( x, y ) + ... , (28) n!

5.4.2. Ejemplo
Hallar la solucin polinomial de cuarto grado, para dar solucin a EDP irreducible
2 (2 Dx D y )u = 0 .

Solucin: Notamos rpidamente que la ecuacin auxiliar 2a 2 b = 0 , se b = 2a 2 , transforma en la ponemos en funcin exponencial solucin

P P2 , son donde P0 , 1, 2 funciones de x y y. u = e ax + g ( a ) y = e ax + 2 a y = G (a ) , Esta ltima serie (28), tambin satisface la ecuacin (24) para desarrollando ahora los P0 , P1 , todos los valores permisibles de P , a, y aqu sustituyendo (28) en 2 (24) nos queda la serie la cual es 2 G (a ) = e ax + 2 a y , G (0) = 1 , idnticamente cero para toda a:
( Dx , D y ) P0 + ( Dx , D y ) P 1 + ...
a 1!

an ... + ( Dx , D y ) Pn + ... 0 . n!

G ( a ) = ( x + 4ay )e ax + 2 a G (0) = x ,
G ' ' ( 0) = x 2 + 4 y ,

,
2

G ' ' ( a ) = [( x + 4ay ) 2 + 4 y ]e ax + 2 a

En consecuencia cada coeficiente ( Dx , D y ) Pn , debe ser G ' ' ' ( a ) = [( x + 4ay ) 2 + 12 y ] ideticamente cero en (24). Cada
F. Antoine S. A. Sangiacomo C.

135

Captulo 5

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

( x + 4 ay )e ax + 2 a
G ' ' ' (0) = x 3 + 12 xy ,

5.5.1. Ejemplo
Hallar la solucin de la EDP
2 ( 2 Dx D y )u = 0 .

G ( 4) (a ) = [( x + 4ay ) 2

(29)

+ 24 y ]( x + 4ay ) 2 + 8 y ( x + 4ay ) 2
+ [( x + 4ay ) 2 + 12 y ](4 y )]e ax + 2 a
2

G ( 4) (0) = x 4 + 24 x 2 y + 48 y 2 .

Solucin: Cuando es posible hallamos la solucin de la forma


u = X ( x) Y ( y ) ,
(30)

Ahora en la serie de Maclaurin nos queda donde X es funcin slo de x y Y es funcin slo de y. Esta ltima 2 x + 4y 2 expresin la sustituimos en (29), G (a ) = 1 + xa + a 2! y tenemos
+ x 3 + 12 xy 3 x 4 + 24 x 2 y + 48 y 2 4 a + a + ... 3! 4!

2 X ' ' Y XY ' = 0 ,


X ''= d 2X dx 2

(31)

Se ve claramente polinomios son

que

los

con la notacin de costumbre y Y '=


dY ; dy

1, x, x 2 + 4 y , x 3 + 12 xy , x 4 + 24 x 2 y + 48 y 2 ,

dividiendo entre u queda


X '' Y ' = . 2Y X
(32)

y cualquier combinacin lineal de ellos tambin es una solucin de Esta ltima expresin tiene que (24). es igual a una constante k.

5.5. Separacin de Variables

X '' Y ' = =k. 2Y X

(33)

Daremos la explicacin con el Vemos que nos resulta siguiente ejemplo.

F. Antoine S.

A. Sangiacomo C.

136

Captulo 5

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

X ' ' kX = 0 ,

(34) (35)

4 2 2 c) ( Dx + 2 Dx Dy + Dy )u = 0 .

Y '2kY = 0 .

d)

3 (5 D x D x D y + D x )u = 0 ,

2 4 + Dy )u = 0 , e) ( Dx

Resolviendo esta ecuacin diferencial ordinaria anterior nos da:


X ( x) = c1e x
k

8 4 2 4 + 2 Dx Dy + Dy )u = 0 . f) ( Dx

2.

+ c2 e x

(36) (37)

Y ( y ) = c3e 2ky .

3. 4.

de donde
u = [c 4 e x
k

Resolver usando series las EDP del problema (1), con 4 trminos. Resolver por separacin de variables las que pueda de (1). Usando separacin de variables resuelva
2w x2 + 2w y2 + 2w z2 =0

+ c5e x

]e 2ky ,

(38)

donde c 4 = c 1 c 3 y c5 = c2 c3 . Como casos particulares tenemos:


u = [c4 e x
k

Sugerencia:

w = X ( x) Y ( y ) Z ( z ) .

+ c5e x

]e 2ky ,

si

k > 0,

5.7. Ecuaciones Diferenciales Parciales No Homogneas


Veamos la EDP no homognea lineal dada por
( Dx , D y )u = F ( x, y ) .
(39)

u = [c6 cos( x k ) + c7 sin ( x k )]e 2 ky ,

si

k < 0,

u = c4 x + c5 , si k = 0 .

5.6. Problemas
1.

Aqu una solucin de (39) es dada por la suma de las Resolver por la primera forma soluciones de la funcin de irreducibles las siguientes complementaria y la solucin EDP. integral particular. 2 a) ( Dx + 3D y )u = 0 , Cuando la ecuacin (39) es de 2 2 3 3 b) ( Dx D y Dx D y + Dx D y )u = 0 , orden m y es reducible se aplica
A. Sangiacomo C.

F. Antoine S.

137

Captulo 5

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

las soluciones por ecuaciones de Lagrange sucesivamente.


( D x , D y )u =
(1Dx 1D y 1 )...( m Dx m D y m )u

f1 ( y + 2 x) + e y f 2 ( y + x) ,
f 2 son funciones con f1 y arbitrarias de x y y. Para hallar la integral particular hacemos

= F ( x, y ) .

(40)

Haciendo
( 2 Dx 2 D y 2 )... ...( m Dx m D y m )u = z , (41)

z = ( D x D y 1)u ,

y
( D x 2 D y ) z = ( 2 + 4 x )e y ,

donde u es una solucin integral por ecuacin de Lagrange particular, para el primer factor y dx dy dz = = aplicamos la ecuacin de . 1 2 ( 2 + 4 x )e y Lagrange
(1Dx 1D y 1 ) z = F ( x, y ) . (42) Tenemos

y esta relacin en la segunda y tercera,


dz = (2 + 4 x )e y dy /( 2) = ( y A 1)e y dy ,
z = ( A y )e y + B = 2 xe y + B .

A = y + 2x

5.7.1. Ejemplo
Resolver la EDP
2 2 ( Dx 3 Dx D y + 2 D y Dx

+ 2 D y )u = ( 2 + 4 x ) e y .

Cuya Solucin: Reduciendo la EDP nos queda


( Dx 2 D y )( Dx D y 1)u = (2 + 4 x)e y .

primera
y

z = 2 xe

integral es f1 ( y + 2 x) , prosiguiendo

( Dx D y 1)u = 2 xe y ,

La solucin complementaria es

lo que resulta y adems

( Dx D y )u = u + 2 xe y ,

F. Antoine S.

A. Sangiacomo C.

138

Captulo 5

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

dx dy du = = 1 1 u + 2 xe y

con y + x = C y
dz + u = 2 xe y = 2(C y )e y , dy

1 / ( Dx , D y ) donde es el operador inverso. Este se usa as por ejemplo


1
2 2 Dx Dy

2 )) Dx 1 ( D y /( 2 Dx

( 2

y
u = (2Cy + y 2 + E )e y = ( y 2 2 xy + E )e y

2 Dy Dy D3 1 y 1 + . + + 2 2 4 6 2 2 4 8 ( 1 /( 2 )) Dx D D D D D x x x y x

(44)

Aqu se toma 1 / Dx y 1 / D y por fin llegamos omitiendo E a la como integrales con respecto a x solucin y y respectivamente.
u = f1( y + 2 x) + e y f 2 ( y + x) ( y 2 + 2 xy)e y .

5.7.2. Ejemplo
Hallar la integral particular de puede
2 ( 2 Dx D y )u = 3 x y 2 + 2 x 2 y .

Como comentario trasforma a


u = f1( y + 2 x)

se

Solucin:

+ e y f3 ( y + x) + x 2e y .

u=
=

1 Dy
1 Dy

2 2 Dx 2 2 1 + (3 x y + 2 x y ) Dy

Algunas veces cuando es irreducible se puede aplicar la siguiente forma de solucin de la EDP
u= 1 F ( x, y ) , ( Dx , D y )

2 2 2 (4 y ) 3 x y + 2 x y + Dy

= 3xy y 3 x 2 y 2 .

5.8. Problemas
Resolver las siguientes EDP 2 2 Dy )u = 6 , a) ( Dx
2 2 + 2Dy )u = 30 xy 2 , b) ( D x

(43) 1.

F. Antoine S.

A. Sangiacomo C.

139

Captulo 5

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

2 2 c) (2 Dx 3D y + Dx )u = 10e x y ,

2 + 3Dx D y )u = 2 x + 6 y 9 , d) ( D y 2 D y )u e) ( 2 D x D y + 2 D y

= 6 cos(2 x 3 y) 30 sin(2 x 3 y) ,
2 2 2Dy + 1)u = 3e x y cos( x y ) , f) (3Dx

2 2 g) ( Dx + Dx D y Dx D y )u = 1 / y ,
2 2 Dy Dx + D y )u = ( x + 1) / x 2 , h) ( Dx 2 2 4Dy )u = 3 x 4 y i) ( Dx 2 j) ( Dx Dx D y )u = 2 xe x + y , 3 2 Dy )u = 6 y 2 2 x 3 , k) ( Dx

l)
2.

2 2 ( Dx D y 2 Dx D y )u = 8 y 2 8 xy .

3.

La que se puedan reducir y resolver por operador inverso de los problemas de (1). Formular la forma (44) para el factor Dy

5.9. Condiciones Iniciales y de Frontera (Contorno). Problema del Valor Inicial de Cauchy. Problema Mixto. Enfoque Correcto del Problema Mixto

Partamos del principio que una ecuacin diferencial en derivadas parciales tiene en general infinitas soluciones. Si un 5.9.1. Ejemplo proceso fsico se describe
F. Antoine S.

mediante una ecuacin diferencial en derivadas parciales, se tiene que precisar, por consiguiente, para la caracterizacin nica de este proceso, condiciones suplementarias. Estos datos adicionales constan en el caso ms simple de condiciones iniciales de contorno. Estas dos condiciones slo podemos diferenciarlas ahora si una de las variables independientes representa el tiempo y la otra es una coordenada espacial (en el caso de dos variables independientes). Por eso a las condiciones iniciales se les llama as porque indican el momento inicial del proceso. Mientras que las condiciones que indican el establecimiento de los valeres de las coordenadas (normalmente son las coordenadas de los puntos de contorno o frontera del continuo lineal considerado) se les llama condiciones de contorno o de frontera. Indicaremos en un ejemplo lo dicho lneas arriba:

A. Sangiacomo C.

140

Captulo 5

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Tomaremos una barra de longitud l calentada en forma homognea y aislada trmicamente (prescindiendo de los extremos). Las coordenadas de los puntos de la barra los expresamos por x donde (0 x l ) . La temperatura de la barra u = u ( x, t ) en el punto x (0 < x < l ) con satisface la ecuacin de conductividad trmica en el tiempo t

(1), ya que desde el punto de vista fsico est claro que la distribucin de temperatura u ( x, t ) en la barra para un tiempo t > t0 depende fundamentalmente de las condiciones en que se encuentran los extremos de la barra x = 0 y x = l . Si nos fijamos con cuidado nos sale a la palestra por ejemplo estas preguntas 5.9.2. Qu rgimen de 2 u u temperatura tiene lugar all? = a2 , (1) Tiene lugar all una prdida t x2 de calor? Si nos fijamos debemos tener en en donde a es una constante. cuenta otras condiciones y se Solucin: encuentran en funcin de las condiciones en que se encuentra el extremo de la barra. Figura 4. Comencemos con x = 0 , 1. El extremo de la barra x = 0 Para los puntos interiores de la se mantiene a una barra se da la distribucin de la temperatura dada temperatura en el momento inicial t = t0 . De ah obtenemos la u (0, t ) = (t ) , (3) condicin inicial

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

(2)

para (0 < x < l ) , donde f ( x) es una funcin conocida. La condicin (2) no garantiza la unicidad de la solucin de la EDP
F. Antoine S.

en donde (t ) es una funcin conocida. En el caso particular si esta temperatura es igual a cero, la condicin de contorno es entonces
u (0, t ) = 0 .
A. Sangiacomo C.

(4)
141

Captulo 5

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

otro extremo de la barra x = l . Mediante la combinacin de tales condiciones para los extremos x = l , obtenemos x=0 y condiciones de frontera para la barra, que junto con las iniciales (2) u x (0, t ) = 0 (5) condiciones garantizan, en general, la 3. En el extremo de la barra unicidad de la solucin. x=0 tiene lugar una radiacin trmica hacia el 5.9.3. Ejemplo medio circundante, cuya temperatura se modifica segn Consideremos las oscilaciones libres de una cuerda homognea una ley dada de longitud l. La deformacin u = u ( x, t ) satisface u (0, t ) + u x (0, t ) = (t ) . (6) transversal para 0 < x < l en el tiempo t la En donde es una constante ecuacin de onda 2 2 u 2 u y (t ) es una funcin =a , (8) 2 t x2 conocida. Si la temperatura del medio ambiente es igual a en donde es una constante. cero (caso especial), tenemos Solucin: En el momento inicial t = t0 se u (0, t ) + u x (0, t ) = 0 . (7) dan de ordinario la posicin de la cuerda y la distribucin de la Con un poco de observacin velocidad para sus puntos. De ese notaremos que la condicin (6) es modo obtenemos las condiciones la general, puesto que si ponemos iniciales u ( x, t 0 ) = ( x ) , (9) = 0 , obtenemos (3), si = ut ( x, t 0 ) = 1 ( x ) . tendremos la (5). Sin embargo (10) pueden presentarse otras condiciones de frontera. En donde ( x) y 1 ( x) son Anlogamente, podemos fijar funciones definidas y conocidas condiciones de frontera para el en el intervalo 0 < x < l . En
F. Antoine S. A. Sangiacomo C.

2. El extremo de la barra x = 0 est aislada trmicamente, es decir no existe una perdida de calor con el medio circundante:

142

Captulo 5

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

funcin de la fijacin de los extremos de la cuerda x = 0 y x = l , obtenemos para t0 t < los siguientes tipos de condiciones de frontera o contorno: 1. Los extremos de la cuerda estn sujetos rgidamente u (0, t ) = 0 ; u (l , t ) = 0 . (10a) 2. Los extremos de la cuerda estn sujetos elsticamente u x (0, t ) k1u (0, t ) = 0 ;
u x (l , t ) + k 2u (l , t ) = 0 .
(10b)

2u L[u ] = A 2 + 2 B x y x

2u

+C

2u y
2

+a

u u +b + cu . (12) x y

El determinar una solucin u = u ( x, y ) de la ecuacin diferencial (11) se llama condiciones iniciales de Cauchy.

3.

En donde k1 y k 2 son constantes positivas. Los extremos estn libres u x (0, t ) = 0 ; u x (l , t ) = 0 . (10c)

Figura 5 Si las funciones ( x) y 1 ( x) del problema de las condiciones de contorno (9), (10) son Podemos dar una interpretacin idnticas, el problema tiene una geomtrica sencilla; buscaremos solucin nica. una superficie integral u = u ( x, y ) de (11) que intercepta a una Consideremos ahora la superficie curva dada por formulacin general de un problema de valor inicial. y = y0 Sea dada la ecuacin lineal : (13) u = ( x)
L[u ] = F ( x, y ) ,
(11)

en donde
F. Antoine S.

y que en los puntos M ( x, y0 , u ) de la curva de interseccin exista un


A. Sangiacomo C.

143

Captulo 5

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

sistema de vectores dados . Este Figura 6. sistema de vectores se encuentra en el plano x=const. y forma con La expresin (13) preestablece las condiciones iniciales de el eje y el ngulo , siendo Cauchy para las rectas y = y0 . tan ( ) = 1 ( x ) . Sin embargo, esto no es absolutamente necesario. Las Si consideramos al eje y como el condiciones iniciales pueden ser tiempo, el problema de Cauchy preestablecidas para cada funcin tiene entonces el significado lisa. mecnico siguiente: ( )( x, y ) = 0 . (14) en el momento inicial y = y0 se da previamente la forma de una consiguiente, podemos curva plana u = ( x, y0 ) y la Por distribucin de velocidad de formular el problema general del valor inicial de Cauchy: u = 1 ( x, y0 ) . Bsquese una solucin u = u ( x, y ) sus puntos y de la ecuacin diferencial (11) Supongamos que cualquier que satisfaga las condiciones punto de esta curva desarrolla iniciales un movimiento paralelo al eje u, para lo cual se da la ley del u = ( x, y ) , movimiento por medio de la ecuacin diferencial (11) luego u = 1 ( x, y ) . (15) el problema consiste en la x determinacin de la forma de esta curva para el momento Por otras parte en lugar de la siguiente y > y0 . u derivada , puede llegar a ser
x

preestablecida derivada
u , y

tambin

la

luego en la curva

se cumple

F. Antoine S.

A. Sangiacomo C.

144

Captulo 5

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

diferentes, que pasan por los puntos extremos P y Q. Al mismo tiempo se supone, dx + = 0. (16) naturalmente, que los y x coeficientes de la ecuacin Pero tambin pueden llegar a ser diferencial son continuos en el preestablecidas condiciones con dominio correspondiente. derivadas completas, o sea, con respecto a la normal
1( x, y )dx +
u u u = cos(n, x) + cos(n, y ) . n x y

u dy = d ( x, y ) , y

El problema de valor inicial de Cauchy se propone comnmente para EDP lineales (11) del tipo hiperblico o parablico. Si la EDP (11) es hiperblica, entonces es necesario para que el problema de Cauchy tenga solucin, que la curva inicial no represente una caracterstica de la ecuacin. Cumplida esta suposicin y si estn preestablecidas las condiciones iniciales en un arco PQ finito de la curva , entonces la solucin del problema de Cauchy esta definida de forma nica en un tringulo esfrico PQR (zona de certidumbre). Este tringulo se encuentra formado por el arco PQ y por los arcos PR y QR de las caractersticas de dos grupos
F. Antoine S.

Figura 7.
Supongamos que las condiciones iniciales de Cauchy para la ecuacin diferencial (11) estn dadas en el intervalo a < x < b y que la solucin u = u ( x, y ) de esta ecuacin diferencial deba averiguarse en el dominio K = {a x b; 0 y < } . Luego para que el problema tenga una solucin nica tienen que ponerse an condiciones adicionales a las rectas x = a y x = b .

A. Sangiacomo C.

145

Captulo 5

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Figura 8.
Esto nos conduce al problema mixto. A este tipo pertenece, por ejemplo, la averiguacin de una solucin u = u ( x, y) de la EDP (11) en el dominio K que satisfaga las condiciones iniciales y de frontera o contorno
u ( x,0) = ( x) , u y ( x,0) = 1 ( x) ,

sustituyen por condiciones determinadas en el infinito. El problema mixto para EDP (11) puede formularse, en general, como sigue: sea dado en el plano xy un dominio limitado o ilimitado, que tenga por frontera una curva (una funcin lisa a tramos) formada por segmentos.

Figura 9.

a x b,

y=0

(17)

y
0u (a, y ) + 1u x (a, y ) = ( y ) , (18) 0u (b, y ) + 1u x (b, y ) = 1 ( y )

Se busca en el dominio G una solucin de la ecuacin diferencial


L[u ] = F ( x, y ) ,
(19)

0 + 1 0 ;

0 + 1 0 ;
0 < y < ,

que satisfaga en los segmentos 1 , 2 , , n , las condiciones respectivamente. Al caso lmite a = o b = siguientes hay que dedicar atencin Lij [u ] = ij ( x, y ) , ( x, y ) i , especial. Aqu o las condiciones de contorno (18) quedan i=1, 2, , n; j=1, 2, , pi (20) totalmente descartadas o se

F. Antoine S.

A. Sangiacomo C.

146

Captulo 5

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

En donde Lij son los operadores diferenciales a lo sumo de primer orden en las variables x y y, mientras que ij ( x, y ) son las funciones dadas. Evidentemente, podemos considerar al problema del valor inicial de Cauchy como un caso especial de este problema mixto general. En los problemas de fsica las ij ( x, y ) se averiguan de forma experimental. Por consiguiente, la solucin de un problema mixto tiene entonces un significado prctico slo, cuando errores pequeos en las condiciones iniciales y de contorno no pueden conducir a grandes desviaciones entre las soluciones. Si est garantizada esta dependencia continua de las condiciones iniciales y de contorno (frontera), se dice que el problema mixto esta bien planteado.

aseguradas y cuando para cualquier valor de > 0 existe un = () > 0 de forma que la solucin u = u ( x, y ) del problema formulado vare en el dominio G en menos de para una variacin de las funciones ij ( x, y ) en una magnitud, que en valor absoluto sea menor que . En el caso contrario se dice que el problema (19) y (20) no esta bien planteado (que no responde a la realidad).

5.9.5. Nota: Para EDP elpticas en general no se cumplen las condiciones iniciales de Cauchy.
Con el siguiente ejemplo, dado por el matemtico francs Hadamard ilustraremos este caso.

5.9.4. Definicin Se dice que el problema mixto (19) y (20) est bien planteado (formulado correctamente) en el dominio G (que responde a la realidad) cuando la existencia y la unicidad de la solucin y la unicidad de la solucin estn
F. Antoine S.

5.9.6. Ejemplo Determinar en el semiplano superior y > 0 una solucin de la EDP de Laplace
2u x
2

2u y
2

= 0,

(21)

que para y = 0 satisface las condiciones iniciales de Cauchy


A. Sangiacomo C.

147

Captulo 5

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

u ( x,0) = 0 ,
u y ( x,0) = 1 cos( nx) , n
(22)

en donde n es un nmero natural. Solucin: Como pueda demostrarse fcilmente, la solucin de este problema tiene la forma
u ( x, y ) =
1 n2

la solucin (23) no est acotada, por pequeo que sea > 0 , en el campo 0 < y < h , si n . En efecto, si y > 0 , se cumple por ejemplo que
u (0, y ) =
1 n2

sinh(ny ) ,

para n . Si consideramos por el contrario, a las condiciones iniciales homogneas


u ( x,0) = 0 , u y ( x,0) = 0 ,

cos( nx ) sinh ( ny )

(23)

Aunque las condiciones iniciales (22) para un valor cualquiera de n suficientemente grande puede hacerse a voluntad pequea, es decir, aunque se cumpla
u ( x ,0 ) < , u y ( x , 0) < ,

entonces la solucin de este problema de valor inicial de Cauchy es, evidentemente


u 0 ( x, y ) = 0 .

Figura 10.

Por consiguiente en este caso, una modificacin pequea cualquiera de las condiciones de contorno conduce a una diferencia muy grande entre las soluciones correspondientes. Por el motivo ejemplificado anteriormente es que trataremos las condiciones de contorno o frontera de EDP elpticas en forma separada.

F. Antoine S.

A. Sangiacomo C.

148

Captulo 5

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

5.10. Problema de las Condi- ecuaciones diferenciales elpticas ciones de Frontera para Ecua- son: ciones Diferenciales Parciales 5.10.1. Primer problema de las del tipo Elptico condiciones de contorno. En la El estudio estacionario de frontera del dominio G est diversos fenmenos fsicos dada una funcin continua ( P ) . conduce a menudo a ecuaciones Busquemos una funcin diferenciales elpticas (por ( P) = ( x, y) que en el interior de ejemplo oscilaciones, G satisfaga la ecuacin conductividad trmica y otros). diferencial (1) y en la frontera tome los valores ( P) dados, es L[u ] = u + au x + bu y + cu = F ( x, y ) . decir,
(1)

En donde a, b, c y F, son funciones continuas de las variables x y y, dadas. Para estas EDP slo se dan normalmente condiciones de frontera, ya que el problema de Cauchy para las ecuaciones diferenciales elpticas quiz no puede formularse correctamente.

L[u ( P)] = F ( P) para P G , u ( P) = ( P) para P .

5.10.2. Segundo problema de las condiciones de contorno. En al frontera del dominio G est dada una funcin continua 1 ( P) . Busquemos una funcin u ( P) = u ( x, y) que en el interior de G satisfaga la ecuacin diferencial (1) y cuya derivada parcial normal en tome los valores dados 1 ( P ) , es decir
L[u ( P)] = F ( P) para P G ,
u ( P) = ( P) n

Figura 11.

para

P .

Los problemas ms usuales de 5.10.3. Tercer problema de las condiciones de frontera para las condiciones de contorno. En al
F. Antoine S. A. Sangiacomo C.

149

Captulo 5

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

frontera del dominio G est dada una funcin continua ( P) = ( x, y) . Busquemos una funcin u ( P) = u ( x, y ) que cumpla las condiciones siguientes para P G , u ( P) 0u ( P) + 1 = ( P) , para P .
n

las condiciones mixto.

de

contorno

L[u ( P)] = F ( P)

5.11. Algunas Observaciones sobre Funciones Armnicas. Unicidad de la Solucin del Problema de Dirichlet 5.11.1. Definicin Una funcin derivable sucesivamente dos veces en el dominio G, que satisface dentro de G la ecuacin diferencial de Laplace, se llama funcin armnica. Las funciones armnicas ms simples de dos variables x y y son:

En donde
0 + 1 0 .

Se observa que el tercer problema es la generalizacin de los dos anteriores de acuerdo a los valores que tomen 0 , 1 . Advirtamos que los problemas de La funcin lineal u = ax + by + c las condiciones de contorno sealamos en el caso de un y dominio G: Si se refieren al La funcin logaritmo u = ln(r ) interior del dominio de G se donde r = ( x x0 ) 2 + ( y y0 ) 2 llaman problemas de condiciones interiores, y exteriores si se (solucin fundamental de la refieren al exterior de G. ecuacin de Laplace.
Nota: Al primer problema de las condiciones de contorno se le llama tambin problema de Dirichlet, al segundo se llama problema de Neumann. En el tercer se trata de un problema de

El problema de las condiciones de contorno de Dirichlet lo podemos formular ahora de la siguiente forma: Buscamos una funcin armnica en el interior de G que tome en la frontera

F. Antoine S.

A. Sangiacomo C.

150

Captulo 5

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

valores continuos preestablecidos. La unicidad de la solucin de este problema de las condiciones de frontera y su dependencia continua con las condiciones de la correccin del problema de las condiciones frontera, resultan de las siguientes propiedades de las funciones armnicas. 5.11.2. Propiedad I (Principio de mximo) Una funcin continua y armnica en el interior G en un dominio cerrado G = G + no puede tomar valores en G que sean mayores que su valor mximo en la frontera , ni menores que su valor mnimo en su frontera. Prueba: Sea M el mximo de la funcin u ( x, y ) en la frontera . Supongamos que la funcin u( x, y) en un punto determinado P0 ( x0 , y0 ) dentro de G tome el valor q = u ( x0 , y0 ) con la condicin de que q > M . Sea la funcin auxiliar
v ( x, y ) = u ( x , y ) qM + [( x x0 ) 2 + ( y y0 ) 2 ] , 2 2d

en donde d es el dimetro del dominio G. Evidentemente se cumple ahora que v ( x0 , y0 ) = u ( x0 , y0 ) = q . Adems para ( x, y) cumple la desigualdad
v ( x, y ) M + qM 2d
2

se

d2 =

q+M <q 2

En consecuencia, la funcin v( x, y ) toma su mximo en el interior G en un punto determinado ( x , y ) . Por eso se cumple en ese punto las condiciones necesarias para la existencia de un mximo:
2 v v v 0, = = 0, x y x2
2 v y2 0.

De la expresin
2 v x2 + 2 v y2 = 2 u x2 + 2 u y2 + 2( q M ) d2

= 0+

2(q M ) d2

> 0,

podemos deducir que al menos una de las dos derivadas


2 v x2

2 v y2

F. Antoine S.

A. Sangiacomo C.

151

Captulo 5

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

es positiva en el interior G. Por 5.11.3. Propiedad II (Unicidad consiguiente, la funcin v( x, y ) de la solucin del problema de no toma en ningn punto Dirichlet). interior G un mximo. Luego El problema de la condicin de hemos obtenido una frontera de Dirichlet para un contradiccin y se cumple que dominio cerrado y acotado tienen a lo sumo una solucin, u ( x, y ) M . Una presentacin anloga es es decir, no pueden existir dos para el mnimo. Haciendo que funciones armnicas continuas u ( x, y ) en el interior G es distintas en un dominio G siempre mayor o igual que m, cerrado y acotado, que en la siendo m el mnimo de la frontera tomen los mismos funcin u ( x, y) en la frontera . valores. Prueba: Supongamos que las dos 5.11.2.1. Consecuencia: Si la funciones armnicas u1 ( x, y ) y funcin u = u ( x, y) en el u 2 ( x, y ) en el dominio G G es dominio acotado armnica y el dominio cerrado coinciden en toda la frontera . Ahora consideramos la funcin G = G + es continuo, se u ( x, y ) = u1 ( x, y ) u 2 ( x, y ) . cumple la desigualdad
m u ( x, y ) M ,

donde m y M son el mnimo y el mximo de la funcin u( x, y) respectivamente. O sea, una funcin armnica en el dominio G acotado y cerrado, que no sea igual a una constante, no toma en el interior G ni su mximo ni su mnimo.

Se ve que la funcin u ( x, y ) es ahora una funcin armnica, que en la frontera de G es cero. Segn la propiedad I, esta funcin no puede tomar en el interior G ni valores mayores ni menores que cero. Por consiguiente, u ( x, y ) 0 en el interior G; por lo tanto, u1 ( x, y ) = u 2 ( x, y ) .
Observacin: Aqu se afirma solamente que la solucin del

F. Antoine S.

A. Sangiacomo C.

152

Captulo 5

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

problema de Dirichlet es nica cuando existe.

( x, y ) = 1 ( x, y ) 2 ( x, y ) .

5.11.4. Propiedad III (Correccin de problemas de Dirichlet) La solucin al problema de condiciones de contorno de Dirichlet para un dominio acotado y cerrado depende de forma continua de las condiciones de contorno.
Prueba: Supongamos que u1 ( x, y ) y u 2 ( x, y ) sean dos soluciones del problema de las condiciones de frontera de Dirichlet, que toman en la frontera los valores 1 ( x, y ) y 2 ( x, y ) , respectivamente. Adems tiene que cumplirse en toda la frontera la desigualdad 1 ( x, y ) 2 ( x, y ) <, en donde es un nmero cualquiera positivo y pequeo. Consideramos ahora la funcin armnica u ( x, y ) = u1 ( x, y ) u 2 ( x, y ) . En la frontera esta funcin toma los valores

Ya que en es siempre < ( x, y ) < , obtenemos en virtud de la propiedad I


< u ( x, y ) < ,
( x, y ) G ,

para

es decir o

< u1 ( x, y ) u 2 ( x, y ) <
u1 ( x, y ) u2 ( x, y ) < .

En consecuencia, para problema de condiciones frontera de Dirichlet cumplen las exigencias correccin para q = .

el de se de

F. Antoine S.

A. Sangiacomo C.

153

Captulo 6

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

R={(x,y)| axb, cyd}, y es la frontera de R. Para esta discusin supondremos que ambas f y g son continuas en su dominio con lo que se asegura una solucin nica de la ecuacin (1). El mtodo que aplicaremos es una adaptacin del mtodo de diferen-cias finitas para problema de valor de frontera que fue discu-tido en el captulo 3. El primer paso consiste en escoger dos enteros n y m, y en definir los tamaos de paso h y k por h=(ba)/n y k=(dc)/m. Partiendo el intervalo [a,b] en n partes iguales h y [c,d] en m partes iguales k, da una manera de asociar una red al rectngulo R con rectas verticales y horizontales que pasan por los puntos con coordenadas (xi,yj) donde

Captulo 6

Objetivo: Estudiar una ecuacin diferencial parcial lineal y no lineal con valor de frontera, y los mtodos ms comunes para hallar la solucin por aproximacin numrica.

6.0. SOLUCIONES NUMRICAS DE ECUACIONES DIFERENCIALES PARCIALES POR DIFERENCIAS FINITAS

6.1. Ecuaciones Diferenciales Parciales Elpticas

La ecuacin diferencial parcial xi=a+ih, elptica que consideramos es la para cada i=0, 1, , n, de Poisson y yj=c+jk, 2 u 2u 2
u ( x, y ) = x2 ( x, y ) + y2 ( x, y ) = f ( x, y )

para cada j=0, 1, , m.

(1)

para (x,y)R y u(x,y)=g(x,y) para (x,y), donde


F. Antoine S.

Las rectas x=xi y y= yj se llaman lneas de red y sus intersecciones se llaman puntos de red (nodos). Por cada punto de red en el interior de la malla (xi,yj), i=1,
A. Sangiacomo C.

154

Captulo 6

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

2, , n-1 y j=1, 2, , m-1, u ( x0 , y j ) = g ( x0 , y j ) usamos la serie de Taylor en la para cada j=0, 1, , m, variable x alrededor de xi para generar la frmula de diferencias u ( xn , y j ) = g ( xn , y j ) centrada para cada j=0, 1, , m,
2 u x2 ( xi , y j ) = u ( xi +1 , y j ) 2u ( xi , y j ) + u ( xi 1 , y j ) h2

u ( xi , y0 ) = g ( xi , y0 )

h2 4 u (qi , y j ) , 12 x 4

para cada i=0, 1, , n-1,


(2)

u ( xi , ym ) = g ( xi , ym )

donde qi(xi-1,xi+1); y la serie de Taylor en la variable y alrededor de yj par la frmula de diferencias centrales
2 u y
2

para cada i=0, 1, , n-1,


(4)

( xi , y j ) =

u ( xi , y j +1 ) 2u ( xi , y j ) + u ( xi , y j 1 ) k2

k 2 4 u ( xi , r j ) , 12 y 4

(3)

donde ri(yi-1,yi+1). Reemplazando (2) y (3) en la Figura 1. ecuacin (1) podemos expresar la ecuacin de Poisson en los puntos (xi,yj) como En la forma de la ecuacin de u( xi +1, y j ) 2u( xi , y j ) + u( xi 1, y j ) diferencia, esto da lugar a un mtodo llamado de diferencias h2 u ( xi , y j +1 ) 2u ( xi , y j ) + u ( xi , y j 1 ) centrales, con error de trunca+ miento local de orden O(h2+k2), k2 que puede escribirse h2 4 u k 2 4 u , = f ( xi , y j ) + ( q , y ) + ( x , r ) i j i j 4 4
12 x 12 y

para cada i=1, 2, , (n-1) y j=1, 2, , (m-1), y las condiciones de frontera siguientes
F. Antoine S.

h 2 2 + 1 wi , j ( wi +1, j + wi 1, j ) k

A. Sangiacomo C.

155

Captulo 6

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

La figura hace ver que se aproxima una regin en forma de estrella de cuatro puntas al rededor del para cada i=1, 2, , n-1 y j=1, punto (xi,yj). 2, , m-1, adems Usando ahora la informacin de w0, j = g ( x0 , y j ) las condiciones de frontera en el sistema (5), o sea: en todos los para cada j=0, 1, , m, puntos (xi,yj) que estn adyacenwn, j = g ( xn , y j ) tes a un punto de red en la para cada j=0, 1, , m, frontera, tendremos un sistema de (n1)(m1) ecuaciones lineales wi ,0 = g ( xi , y0 ) con (n1)(m1) incgnitas, estas para cada i=0, 1, , n-1, aproximaciones son las aproximaciones wij de u(xi,yj) wi , m = g ( xi , ym ) para los puntos interiores de la para cada i=0, 1, , n-1, (6) red.
h ( wi , j +1 + wi , j 1 ) = h 2 f ( xi , y j ) k (5)

donde wi,j aproxima a u(xi, yj). La tpica ecuacin (5) envuelve aproximaciones a u(x,y) en los puntos
( xi 1 , y j ) , ( xi , y j ) , ( xi , y j 1 ) ,
( xi , y j +1 ) , ( xi +1 , y j )

El sistema lineal que contiene a estas incgnitas puede expresarse ms eficientemente para los clculos de la matriz si se introduce un renombramiento de los puntos interiores de la red. Etiquetar de una manera apropiada estos puntos es tomar Pl(xi,yj) y wl=wij, donde l = i + (m 1 j )(n 1) para cada i=1, 2, , n-1 y j=1, 2, , m-1. Esto, de hecho reordena los puntos de la red consecutivamente de izquierda a derecha de arriba hacia abajo. Como aclaracin
A. Sangiacomo C.

Figura 2.
F. Antoine S.

156

Captulo 6

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

presentmoslo para n=4 y m=5, problema se expresar matemesta nueva ordenacin da por ticamente as: resultado una malla cuyos puntos 2 u 2u los mostramos en la figura 3. ( x, y ) + ( x, y ) = 0 , (7) 2 2
x y

De esta manera se asegura que para (x,y) en el conjunto los puntos forman una matriz R={(x,y)|0<x<0.5, 0<y<0.5}, con banda con un espesor de 2n1. las condiciones de frontera:
u (0, y ) = 0 , u ( x,0) = 0 , u ( x,0.5) = 200 x , u (0.5, y ) = 200 y .

Si tomamos la malla de n=m=4 y la ecuacin de diferencias (5) queda


4 wij wi +1, j wi 1, j wi , j 1 wi , j +1 = 0 , (8)

Figura 3. 6.1.1. Ejemplo Determinar la distribucin estacionaria de calor en una lamina delgada de metal en forma de cuadrado con dimensiones de 0.5 m por 0.5 m, la cual se mantiene a 00C en dos fronteras adyacentes mientras que el calor en las otras fronteras se va incrementando linealmente de 00C a 1000C en la esquina donde estos lados se encuentran. Si ponemos los lados con condiciones de frontera cero a lo largo de los ejes x y y, el
F. Antoine S.

para cada i=1, 2, 3 y j=1, 2, 3.

Figura 4. Expresando en trminos de los puntos interiores de la red reetiquetados wi=u(Pi) implica que las ecuaciones son:
4 w1 w2 w4 = w0,3 + w1,4
A. Sangiacomo C.

157

Captulo 6

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

4w2 w3 w1 w5 = w2,4 4 w3 w2 w6 = w4,3 + w3, 4


4 w4 w5 w1 w7 = w0, 2

particularmente resolviendo por Gauss tenemos


i
wi

4 w5 w6 w4 w2 w8 = 0

1
18.75

2
37.50

3
56.25

4
12.50

5
25.00

6
37.50

7
6.25

8
12.50

9
18.75

4 w6 w5 w3 w9 = w4, 2
4 w7 w8 w4 = w0,1 + w1,0

Tabla 1. Estas soluciones son correctas puesto que la solucin exacta es

4 w8 w9 w7 w5 = w2,0
4 w9 w8 w6 = w3,0 + w4,1

u(x,y)=400xy. donde las expresiones de la derecha de cada ecuacin se Y adems se tiene obtienen de las condiciones de 4 u 4u = 0; = frontera dadas por (8) tomadas x4 y 4 as: w1,0 = w2,0 = w3,0 = w0,1 = w0,2 = w0,3 = 0 ; as que el error de truncamiento es cero en cada paso. w1, 4 = w4,1 = 25 , w2,4 = w4,2 = 50 6.1.2. Ejemplo y w3,4 = w4,3 = 75 . Y nos resulta el sistema lineal Si usamos directamente los asociado con este problema valores de wij para las aproximasiguiente: ciones podemos resolver la ecuacin de Poisson
w1 25 4 1 0 1 w 50 1 4 1 0 1 2 w3 150 0 1 4 0 0 1 4 1 0 1 w4 0 1 0 0 w5 = 0 1 0 1 4 1 0 1 1 0 1 4 0 0 1 w6 50 1 0 0 4 1 0 w7 0 1 0 1 4 1 w8 0 1 0 1 4 w9 25

2 u x2

( x, y ) +

2u y2

( x, y ) = F ( x, y ) , (a1)

con las condiciones de frontera


u = u para la frontera izquierda, x

Usualmente para resolver este u = u 2 para la frontera inferior, sistema es usando el mtodo y Gauss u otro mtodo para el caso, u=5 para la frontera derecha,
F. Antoine S. A. Sangiacomo C.

158

Captulo 6

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

donde utilizamos la condicin en (a2) la frontera izquierda para u Con los intervalos de la retcula eliminar . x 1,1 unitarios en ambas direcciones. Ahora para la derivada parcial con respecto a y se aproxima por Solucin:
2 u = y2 1,1 u u y 1,1+ 1 y 1,1
2

u=7 para la frontera superior.

1/ 2

( w1, 2 w1,1 ) = 1

( w1,1 2)

1/ 2

= 4 w1,1 + 2 w1, 2 + 4 ,

(a4)

utilizando aqu la condicin de Figura 5. Las condiciones en las fronteras superior y frontera derecha son valores fijos, obtenemos las ecuaciones en diferencias slo para los siguientes cuatro puntos de la retcula (1,1), (2,1), (1,2) y (2,2) . Para el punto (1,1) . Aproximamos la derivada parcial con respecto a x por
2 u = x2 1,1 u u x 1+ 1 ,1 x 1,1
2

frontera

u . y 1,1

Sustituyendo (a4) y (a3) en (a1) nos queda


8w1,1 2 w1, 2 2 w2,1 = 4 + F .
(a5)

Para el punto (2,1). Las derivadas parciales se aproximan por


2 u = w1,1 2 w2,1 + w3,1 , x2 2,1
u u y y 2,1 2,1+ 1 2 1/ 2
(a7) (a6)

1/ 2

( w2,1 w1,1 ) = 1 1/ 2

w1,1

2 u = y2 2,1

= 4w1,1 + 2 w2,1 , (a3)

= 2w2, 2 4w2,1 + 4 .

Reemplazando en (a1) queda


F. Antoine S. A. Sangiacomo C.

159

Captulo 6

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

6w2,1 w1,1 2 w2,2 w3,1 = 4 + F . (a8)

Para el punto aproximamos por


2 u = x2 1,2

(1,2) .

u u x 1+ 1 , 2 x 1, 2
2

Aqu 6.1.3. Algoritmo de Diferencias Finitas para la Ecuacin de Poisson La Ecuacin de Poisson: 2 u 2u ( x , y ) + ( x, y) = f ( x, y ) , 2 2
(a9)
x y

1/ 2

= 2 w2,2 4 w1,2 ,
u = w1,1 2 w1, 2 + w1,3 . y2 1,2
2

a x b,

c y d.

(a10)

Sustituyendo en (a1) resulta


6w1,2 w1,1 2 w2,2 w1,3 = F .
(a11)

Sujeta a la condicin de frontera: u(x,y)=g(x,y). Si x=a o x=b y c y d u(x,y)=g(x,y). Si y=c o y=d y a x b


Paso 1: Entrar a, b, c, d, M, N, ER, Tope. Paso 2: Hacer h = (b a ) / N
{Lmites y condiciones de frontera y tamao de paso}

Para el punto (2,2) . La ecuacin en diferencias es


4w2,2 w1,2 w3,2 w2,1 w2,3 = F . (a12)

k = (d c) / M
{Construimos los puntos de la red} Paso 3: Para i=1 hasta N-1 hacer xi = a + ih , {Cargado de valores x} Paso 4: Para j=1 hasta N-1 Hacer yi = c + jk , {Cargado de valores y}. Paso 5: Para i=1 hasta N-1 Hacer Para j=1 hasta M-1 Hacer wij = 0
2 Paso 6: Hacer = h ; r = 2(1 + ) ; l = 1 . 2

Juntando todas las ecuaciones obtenidas resulta el sistema


8w1,1 2 w1, 2 2 w2,1 = 4 + F

6 w2,1 w1,1 2 w2, 2 = 9 + F

6 w1,2 w1,1 2 w2, 2 = 7 + F


4 w2, 2 w1, 2 w2,1 = 12 + F .
(a13)

Paso 7: Mientras l Tope hacer

{ l contador de iteraciones}

Paso 8: z = ( h 2 f ( x1 , y M 1 ) + g ( a, y M 1 )
+ g ( x1 , y M 1 ) + w1, M 2 + w2, M 1 ) / r

Al igual que el ejemplo anterior se resuelve usando cualquier mtodo para resolver sistemas lineales. Se deja como tarea al lector que lo resuelva.
F. Antoine S.

Norm = z = w1, M 1 w1.M 1 = z


Paso 9: Para i=2 hasta N-2 hacer z = ( h 2 f ( x i , y M 1 ) + g ( x i , d )
+ wi 1, M 1 + wi +1, M 1 + wi , M 2 ) / r

si wi , M 1 z > Norm entonces


A. Sangiacomo C.

160

Captulo 6

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Norm = wi , M 1 z ;

+ g ( x N 1 , c ) + w N 2,1 + w N 1, 2 ) / r

Hacer wi , M 1 = z ; Paso 10: hacer


z = ( h 2 f ( x N 1 , y M 1 ) + g (bi , y M 1 )
+ g ( x N 1 , d ) + w N 2, M 1 + w N 1, M 2 ) / r

si wN 1,1 z > Norm entonces


Norm = wN 1,1 z ;

si wN 1, M 1 z > Norm entonces


Norm = wN 1, M 1 z ;

wN 1.1 = z . Paso 18: Si Norm ER entonces


Paso 19: Para i=1 hasta N-1 hacer Para j=1 hasta M-1 hacer Publicar ( xi , y j , wik ) . Paso 20: Parar. Paso 21: Hacer l = l + 1 . Paso 22: Nmero Mximo de iteraciones excedido Parar.

Hacer wN 1, M 1 = z ; Paso 11: Para j=M2 hasta 2 hacer Paso 12: z = ( h 2 f ( x1 , y j ) + g ( a, y j )


+ w1, j 1 + w2, j ) / r

si w1, j z > Norm entonces


Norm = w1, j z ;

w1. j = z .
Paso 13: Para i=2 hasta N-2 hacer z = ( h 2 f ( xi , y j ) + wi 1, j + wi , j +1
+ wi +1, j + wi , j 1 ) / r

6.1.4. Programa en Delphi para Elpticas

si wi , j z > Norm entonces


Norm = wi , j z ;

Hacer wi , j = z ; Paso 14: z = ( h 2 f ( x N 1 , y j ) + g (b, y j )


+ w N 1, j +1 + wi , j 1 ) / r

si wN 1, j z > Norm entonces


Norm = wN 1, j z ;

Hacer wN 1, j = z ; Paso 15: Hacer z = ( h 2 f ( x1 , y1 ) + g ( a , y1 )


+ g ( x1 , c ) + w1, 21 + w2,1 ) / r

si w1,1 z > Norm entonces


Norm = w1,1 z ;

Hacer w1,1 = z ; Paso 16: Para i=2 hasta N-2 hacer z = ( h 2 f ( xi , y1 ) + g ( xi , c ) + wi 1,1
+ wi , 2 + wi +1,1 ) / r

si wi ,1 z > Norm entonces


Norm = wi ,1 z ;

wi.1 = z .
Paso 17: hacer z = ( h 2 f ( x N 1 , y1 ) + g (b, y1 )
F. Antoine S.

unit Eliptica17; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, FunctY, StdCtrls, Buttons; type _v = array[0..800] of _r; _M = Array[1..800] of _v2; TElipticas11 = class(TForm) Memo1: TMemo; BitBtn1: TBitBtn; BitBtn2: TBitBtn; Edit1: TEdit; Edit2: TEdit; BitBtn3: TBitBtn; Label1: TLabel; Label2: TLabel; Edit3: TEdit; Edit4: TEdit; Label3: TLabel; Label4: TLabel; Edit5: TEdit; Edit6: TEdit; Label5: TLabel; Label6: TLabel; procedure BitBtn2Click(Sender: TObject); procedure BitBtn1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure BitBtn3Click(Sender: TObject); end; var Elipticas11: TElipticas11; implementation {$R *.DFM} var Ma , Mb :_m; ss, s1:_s; b,r1:_v; mm, nn, kt : Longint{_i}; hh, kk, aa, bb, cc, dd :_r; procedure TElipticas11.BitBtn2Click(Sender: TObject); begin close end; function u_0_y(x,y:_r):_r; begin // para frontera izquierda vertical Result := 0; end; function u_n_y(x,y:_r):_r; begin // para frontera derecha Vertical Result := y*200; end; function u_x_0(x,y:_r):_r; begin // para frontera Inferior horizontal Result := 0; end; function u_x_m(x,y:_r):_r;

A. Sangiacomo C.

161

Captulo 6

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

begin // para frontera Superior horizontal Result := x*200; end; function u_f(x,y:_r):_r; begin // funcin fuente f(x,y) Result := 0; end; // algoritmo de Gauss Especial; procedure Gauss_E; var i, i1, j, k, l :_i; vs :_v2; x1, x2:_r; begin i1:=29-nn; l:=-1; for i:=1 to kt-1 do begin ss:=''; x1:=ma[i,i1+nn-1] ; if (kt-i)<nn then l:=l+1; for j:=1 to nn-1-l do begin if ma[i+j,28- j]<>0 then begin x2:=ma[i+j,28 - j]/x1; for k:=0 to nn-1 do begin vs[k]:=-ma[i,i1+k+nn-1]*x2;ss:=ss+' v '+FloatToStr(vs[k]); ma[i+j,28- j+k]:=ma[i+j,28- j+k]-ma[i,i1+k+nn-1]*x2; end;b[i+j]:=b[i+j]-b[i]*x2; end; end; end; for i:=1 to kt do begin ss:=''; for j:=0 to 2*nn-2 do begin str(ma[i,j+i1]:1:3,s1); ss:=ss+' '+s1; end; str(b[i]:1:3,s1); ss:=ss+' '+s1; Elipticas11.Memo1.Lines.Add(ss); end; // Atras r1[kt]:=b[kt]/ma[kt,28];l:=nn; ss:=''; str(r1[kt]:1:3,s1); ss:=ss+' R '+s1; for i:=kt-1 downto 1 do begin x1:=0; if (kt-i)<nn then l:=l-1; for j:=1 to nn-l do begin x1:=x1-ma[i,28+j]*r1[i+j]; end; r1[i]:=(b[i]+x1)/ma[i,28];str(r1[i]:1:3,s1); ss:=ss+' R '+s1; end; Elipticas11.Memo1.Lines.Add(ss); ss:=''; for j:=1 to kt do begin str(r1[j]:1:3,s1); ss:=ss+' '+s1; if j mod (nn-1)=0 then begin Elipticas11.Memo1.Lines.Add(ss); ss:=''; end; end; end; procedure TElipticas11.BitBtn1Click(Sender: TObject); var i,j,k, l,i1,i2 :Longint; begin nn:=StrToInt(edit1.text);FillChar(ma,Sizeof(ma),0); if nn >28 then nn:=28; // proteccin de rebase ancho edit1.text:=IntToStr(nn); mm:=StrToInt(edit2.text); if (nn-1)*(mm-1)>800 then exit; // proteccion de rebase matriz aa:=StrToFloat(Edit3.text); bb:=StrToFloat(Edit4.text); cc:=StrToFloat(Edit5.text); dd:=StrToFloat(Edit6.text); hh:=(bb-aa))/nn; kk:=(dd-cc)/mm; memo1.Lines.Add(' nn ='+intToStr(nn)+' mm ='+IntToStr(mm)); k:=0; i1:=28; for j:=mm-1 downto 1 do begin for i:=1 to nn-1 do begin k:=k+1; i1:=i1-1; b[k]:=-u_f(aa+hh*i,cc+kk*j)*hh*hh; l:=i+(mm-1-j)*(nn-1); Ma[k,l+i1]:=2*(hh*hh/kk/kk+1); if i+1<nn then begin l:=i+1+(mm-1-j)*(nn-1); Ma[k,l+i1]:=-1; end else begin b[k]:=b[k]+u_n_y(bb,cc+kk*j); end;0 if i-1>0 then begin l:=i-1+(mm-1-j)*(nn-1); Ma[k,l+i1]:=-1 end else begin b[k]:=b[k]+hh*hh/kk/kk*u_0_y(aa,cc+kk*j); end; if j+1<mm then begin l:=i+(mm-1-j-1)*(nn-1); Ma[k,l+i1]:=-hh*hh/kk/kk; end else begin b[k]:=b[k]+hh*hh/kk/kk*u_x_m( aa+hh*i,dd); end; if j-1>0 then begin l:=i+(mm-1-j+1)*(nn-1); Ma[k,l+i1]:=-hh*hh/kk/kk; end else begin b[k]:=b[k]+hh*hh/kk/kk*u_x_0(aa+hh*i,cc); end; end; end; i1:=29-nn; kt:=k;

for i:=1 to k do begin ss:=''; for j:=0 to 2*nn-2 do begin str(ma[i,j+i1]:1:3,s1); ss:=ss+' '+s1; end;str(b[i]:1:3,s1); ss:=ss+' '+s1; Memo1.Lines.Add(ss); end; Gauss_E; end; procedure TElipticas11.FormCreate(Sender: TObject); begin memo1.Clear; end; procedure TElipticas11.BitBtn3Click(Sender: TObject); begin memo1.Clear; end; end.

6.1.5. Problema
1.

Resolver la ecuacin diferencial parcial (EDP) elptica; usando h=k=0.5,


2 u x2 + 2u y2 = 4,

0<x<1, 0<y<2; 0x1, 0y2. elptica;


y <1;

u ( x,0) = x 2 , u ( x,2) = ( x 2) 2 ,

u (0, y ) = y 2 , u (1, y ) = ( y 1) 2 ,

2.

Resolver
h = k = 1/ 3 ,

la
= x,

EDP
0< x,

2 u x2

2u y2

u ( x,0) = x 3 / 6 , u ( x,1) = x 3 / 6 ,

0x1, 0y1. elptica;


y <1;

u (0, y) = 0 ,

u (1, y) = 1 / 6 ,

3.

Resolver la h = k = 0.1 ,
2 u x2 + 2u y2 = 0,

EDP
0< x,

u ( x,0) = 0 ,

u ( x,1) = x ,

0x1, 0y1.
162

u (0, y ) = 0 ,

u (1, y ) = y ,

F. Antoine S.

A. Sangiacomo C.

Captulo 6

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Comparar con la solucin 0<y</2. exacta u(x,y)=xy. Comparar con la solucin 4. Resolver la EDP elptica; exacta que es u ( x, y ) = cos( x) cos( y ) . h = k = 0.05 ,
2 u x2 + 2u y2 = 2 , 0 < x ,

y <1;

u (0, y ) = 0 ,
0 y 1,

u ( x,1) = sinh( ) sin(y ) ,

6.2. Ecuaciones Diferenciales Parciales Parablica 6.2.1. El caso Homogneo

u ( x,0) = u ( x,1) = x(1 x) ,

0x1.

Como ejemplo de ecuacin Comparar con la solucin diferencial parcial parablica exacta tomaremos la ecuacin del calor u ( x, y ) = sinh(x) sin(y ) + x(1 x) . o de difusin, que estudiaremos aqu: 5. Resolver la EDP elptica; 2 u 2 u h = 0.2, k = 0.1 , ( x, t ) = ( x, t ) , 0<x<l,
u
2

u
2

x2

= ( x 2 + y 2 )e xy ,

t >0,

(1)

0<x<2, 0<y<1;
u ( x,0) = 1 ,
u ( x,1) = e x , u (2, y ) = e

con las condiciones 0x2,


2y

u (0, t ) = 0 , u (l , t ) = 0 , t > 0 ,

u (0, y ) = 1 ,
6.

, 0y1.

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

Resolver la EDP h = / 5 , k = / 10 ,

elptica; El enfoque que usaremos para aproximar la solucin a este problema consiste en el aplicar 2 u 2u , + = cos( x + y ) cos( x y ) las diferencias finitas y es similar x2 y2 al mtodo visto anteriormente. 0<x<, 0<y</2; Primero seleccionamos dos u ( x,0) = cos( x ) , u ( x, 2 ) = 0 , incrementos h y k con la estipulacin de que m=l/h es un 0x, entero. Los puntos de red para u (0, y ) = cos( y ) , u ( , y ) = cos( y ) , esta situacin son (x ,t ), donde i j
A. Sangiacomo C.

F. Antoine S.

163

Captulo 6

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

xi=ih para i=0, 1, , m, y tj=jk, donde wij aproxima a u(xi, tj). para j=0, 1, Nos resulta el mtodo de diferencias finitas usando la serie de Taylor en t para formar el coeficiente diferencial
u ( xi , t j +1 ) u ( xi , t j ) u ( xi , t j ) = k t 2 k u ( xi , r j ) , 2 t2

(2)

Figura 6.

donde ri(tj,tj+1); y la serie de El error de truncamiento local Taylor en la variable y alrededor para esta ecuacin de diferencias de yj par la frmula de diferencias es centrales
u
2

x2

( xi , t j ) =

u ( xi +1 , t j ) 2u ( xi , t j ) + u ( xi 1 , t j ) h2

Ei , j =

2 4 k 2 u 2 h u ( x , r ) (qi , t j ) . i j 2 t2 12 x 4 (5)

h2 4 u (qi , t j ) , 12 x 4

(3)

Trabajando con la ecuacin (4), despejando wi,j+1

donde qi(xi-1,xi+1). 2 2 k k wi , j +1 = 1 2 wi, j + 2 2 ( wi +1, j + wi 1, j ) , La EDP (1) implica que en los h h puntos de red interiores (xi,tj) (6) para cada i=1, 2, , m-1 y j=1, para cada i=1, 2, , (m-1) y j=1, 2, , tenemos que 2, Como la condicin inicial u 2 u u(x,0)=f(x), para cada 0xl, ( xi , t j ) 2 ( x , t ) = 0 ; i j implica que wi,0=f(xi) para cada t x2 i=0, 1, , m, estos valores as, el mtodo de diferencias, con pueden usarse en la ecuacin (6) el uso de los coeficientes para encontrar el valor de wi,1 diferenciales (2) y (3) nos queda para cada i=1, 2, , (m-1). Las wi , j +1 wi , j wi +1, j 2wi , j + wi 1, j condiciones adicionales u(0,t)=0 2 = 0, 2 k h y u(l,t)=0 implican que (4) w =w =0; as que todas las 0,1 m,1
F. Antoine S. A. Sangiacomo C.

164

Captulo 6

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

componentes de la forma wi,1 Siendo pueden ser determinadas. Si el T 0 procedimiento se aplica nueva- w = ( f ( x1 ), f ( x2 ),..., f ( xm 1 )) mente, una vez que se conocen y j T todas las aproximaciones wi,1 los w = ( w1, j , w2, j ,..., wm 1, j ) valores wi,2, wi,3, , wi,m-1 se para cada j=1, 2, , pueden obtener de manera la solucin aproximada est dada sucesiva. por w j=Aw j1 para cada j=1, 2, Este procedimiento se conoce con el nombre de mtodo progresivo. Si la solucin de la EDP tiene cuatro derivadas parciales continuas en x y dos en t, entonces la ecuacin (5) implica que el mtodo es orden O(k+h2).
Figura 7.

La presentacin explcita del mtodo de diferencias expresado en la ecuacin (6) genera una matriz de (m-1)(m-1) el cual es de la forma tridiagonal
0 L 0 (1 2 ) (1 2 ) O M A= O O O 0 0 M O (1 2 ) L 0 (1 2 ) 0

Regresivas: Otra forma de resolver el problema es con el mtodo de diferencias regresivas que es incondicionalmente estable que lo describiremos a continuacin. De las ecuaciones
u ( xi , t j ) u ( xi , t j 1 ) k 2 u u ( xi , t j ) = + ( xi , r j ) , t k 2 t2

donde = (
2

k h
2

)< 1 4.

donde ri(ti-1,ti) y con la ecuacin (3) llegamos a:

F. Antoine S.

A. Sangiacomo C.

165

Captulo 6

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

diagonal estrictamente dominante h puesto que >0. donde wi,j aproxima a u(xi, tj) y Veamos el comportamiento en la figura 7: i=1, 2, , m-1 y j=1, 2, El error de truncamiento local para esta ecuacin de diferencias es
k 2
2

wi , j wi , j 1

wi +1, j 2wi , j + wi 1, j

=0,

Ei , j =

2 4 k 2 u 2 h u ( x , r ) (qi , t j ) . i j 2 t2 12 x 4

Trabajando con la ecuacin (4), despejando wi,j-1 y haciendo


= 2k
h2

: Figura 8.

(1 + 2 ) wi , j wi +1, j wi 1, j = wi , j 1 ,

6.2.2. El caso No Homogneo para cada i=1, 2, , (m-1) y j=1, 2, Usando wi,0=f(xi) para cada 6.2.2.1. El caso progresivo: i=1, 2, , m-1, y w0,j=wm,j=0 para j=1, 2, , y la Si la ecuacin (1) se presenta de representacin matricial es: la forma no homognea 0 0 w w L (1 + 2 ) tendremos:
(1 + 2 ) 0 M 0 M w2, j w2, j 1 M = M 0 O O O wm 2, j wm 2, j 1 O (1 + 2 ) (1 + 2 ) 0 L wm 1, j wm 1, j 1 O
1, j 1, j 1

2 u u ( x, t ) = 2 ( x, t ) + F ( x, t ) , t x2

(7)

0<x<l, t > 0 , con las condiciones

(1)

en forma compacta la expresin es Aw j=w j1 para j=1, 2,

u (0, t ) = T0 , u (l , t ) = Tl , t > 0 ,

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

Aqu tenemos una caracterstica a nuestro favor la cual es que la Y con un anlisis semejante al matriz A es definida positiva y de hecho de (2) a (6) nos resulta:
F. Antoine S. A. Sangiacomo C.

166

Captulo 6

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

wi , j +1 = (1 2 )wi , j + ( wi +1, j + wi 1, j ) + kFi ,

(8)

donde =

2k
h2

u 2 u =2 +F, t x2 0<t <T ,

0<x<l,

y con

u (0, t ) = T0 , u (l , t ) = Tl , t > 0 ,

0 0 L (1 2 ) ( 1 2 ) O M A= 0 0 O O O M O (1 2 ) 0 L 0 (1 2 )

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

Paso 1: Entrar a=0, b=l, k, N, T0 , Tl . Paso 2: Hacer h = (b a ) / N


{Lmites y condiciones de frontera y} tamao de paso}

Tenemos
w1, j +1 w 2, j +1 M = wm 2, j +1 wm 1, j +1 w1, j + T0 kF1 w2, j kF2 , M + A M wm 2, j kFm 2 wm 1, j + Tl kF m 1

; Tope = 1 / k h2 W [1] = f (h) + T0 ,

2k

W [ N ] = f ( Nh) + Tl ,
Paso 3: Para i=2 hasta N-1 hacer W [i ] = f (ih) , {Cargado de valores iniciales} Paso 4: Hacer p = (1 2 ) , q = . Paso 5: (Construccin de matriz tridiagonal con T1, T2, T3, vectores) T 3[i ] = q , i = 1 ; T 2[i ] = p , Paso 6: Para i=2 hasta N-1 hacer T 1[i ] = q , T 2[i ] = p , T 3[i ] = q Paso 7: i = N , T1[i] = q , T 2[i] = p , Paso 8: Para m=1 hasta m Tope hacer {Producto Wi +1 = AWi + Fi }

(9)

donde

w0 = ( f ( x1 ), f ( x2 ),..., f ( xm 1 ))T

Cuyo algoritmo describiremos a continuacin Nota: para ser estable a priori necesita
2 la condicin de que = (

W 1[i ] = T 1[i ] W [i 1] + T 2[i ] W [i ] + T 3[i ] W [i + 1] + kFi Paso 9: W = W 1


Publicar W Parar.

k h
2

)< 1 4.

Paso 10: Paso 11:

6.2.2.3. El caso regresivo

6.2.2.2. Algoritmo de Aqu se tomar en cuenta la Diferencias Finitas para funcin F(x,t) en la ecuacin (7) Ecuaciones Dife-renciales quedando as: Parciales Parablica para es Caso Progresivo Sea
F. Antoine S. A. Sangiacomo C.

167

Captulo 6

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

0 0 L (1 + 2 ) (1 + 2 ) O M 0 0 O O O A= M O (1 + 2 ) (1 + 2 ) 0 0 L
w1, j w1, j 1 + T0 F1 w F w2, j 1 2, j 2 ; M = M + k A M wm2, j 1 wm2, j Fm2 wm1, j wm1, j 1 + Tl Fm1

Paso 6: Para i=2 hasta N-1 hacer T 1[i ] = q , T 2[i ] = p , T 3[i] = q Paso 7: i = N , T 1[i ] = q , T 2[i ] = p , Paso 8: Para i=2 hasta N-1 hacer b[i ] = b[i ] + kFi , {Cargado de valores iniciales con F} Paso 9: Para m=1 hasta m Tope hacer
{Resolver por tridiagonal }

Paso 10: Resolver por tridiagonales el (10) sistema (10) dado por AW = b , Paso 12: b = W + F Paso 10: Publicar W Paso 11: Parar.

6.2.2.4. Algoritmo de Diferencias Finitas para 6.2.2.5. Programa en Dephi Ecuaciones Dife-renciales Pascal de Regresivas y Parciales Parablica para el Progresivas Caso Regresivo Sea
2 u u =2 +F , t x2

0<x<l, 0<t<T,
t >0,

u (0, t ) = T0 , u (l , t ) = Tl ,

u ( x,0) = f ( x) , 0xl.
Paso 1: Entrar a=0, b=l, k, N, T0 , Tl . Paso 2: Hacer h = (b a ) / N
{Lmites y condiciones de frontera y tamao de paso} {CON CORRECCIONES m+1 m m-1 } {NO HOMOGENEA} unit Calor_2x2; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm_Parabolicas1 = class(TForm) Memo1: TMemo; GroupBox1: TGroupBox; Label1: TLabel; Edit1: TEdit; Label2: TLabel; Edit2: TEdit; Label3: TLabel; Edit3: TEdit; Label4: TLabel; Edit4: TEdit; Label5: TLabel; Edit5: TEdit; Memo2: TMemo; Label6: TLabel; Edit6: TEdit; Label7: TLabel; Edit7: TEdit; Label8: TLabel; Edit8: TEdit; Label9: TLabel; Edit9: TEdit; Edit10: TEdit; Label10: TLabel; GroupBox2: TGroupBox; Button1: TButton; Button2: TButton; Button3: TButton; Button4: TButton; Button5: TButton; Label11: TLabel; Label12: TLabel; Edit11: TEdit; procedure Button5Click(Sender: TObject);

h Tope = 1 / k
b[1] = f (h) + T0 , b[ N ] = f ( Nh) + Tl , Paso 3: Para i=2 hasta N-1 hacer b[i ] = f (ih) , {Cargado de valores iniciales} Paso 4: Hacer p = (1 + 2 ) , q = . Paso 5: (Construccin de matriz tridiagonal con T1, T2,

2k
2

T3, vectores de la A) T 3[i ] = q , i = 1 ; T 2[i ] = p ,


F. Antoine S.

A. Sangiacomo C.

168

Captulo 6

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure publicador; procedure Calculo1; procedure Calculo; end; _r = double; _i = integer; _s =string; _v=array[0..500] of _r; var Form_Parabolicas1: TForm_Parabolicas1;

else bt[i]:=a1+c*k11; if i=n_Particiones_X-1 then bt[i]:=a1+(Val_xL_Superior*alf/h11/h11+c)*k11; if pro<bt[i]then pro:=bt[i]; if proM>bt[i]then proM:=bt[i]; bt[0]:=Val_U0_Frontera_Derecha;bt[n_Particiones_X] :=Val_xL_Superior; end; b:=bt;end; procedure TForm_Parabolicas1.Calculo; (* calcula con progresivas para separacin de variables *) begin xi2:=1;datosI_;b:=fx;publicador; L_Particiones_de_T:=Round(1/k11+0.08); implementation k11:=tiempo_final/L_Particiones_de_T; L_Particiones_de_T:=0; {$R *.DFM} repeat L_Particiones_de_T:=L_Particiones_de_T+1;Cal_ulo; var maa,mbb,mcc,b,fx,r1,bt:_v;x11,x12,x13,x14:_R; if tiempo_final<=L_Particiones_de_T*k11 then Val_x0_Inferior, Val_xL_Superior, begin tiempo_final:=L_Particiones_de_T*k11; tiempo_final,sa,h11,k11,alf, Val_UL_Frontera_Izquieda, if pro<bt[0] then pro:=bt[0]; Val_U0_Frontera_Derecha, a, pro, proM :_r; if pro<bt[n_Particiones_X] then pro:=bt[n_Particiones_X]; n_Particiones_X,L_Particiones_de_T : Longint; xi2 : _i; xx,tt :_r; if proM>bt[0] then proM:=bt[0]; s1,s2, f_inic, f_fuen: _s; if proM>bt[n_Particiones_X] then proM:=bt[n_Particiones_X]; exit end procedure TForm_Parabolicas1.Button5Click(Sender: TObject); until false; begin close; end; end; (* fin de Calculo *) procedure cal_ulo1; var i:_i;c:_r; procedure TForm_Parabolicas1.FormCreate(Sender: TObject); begin begin for i:=1 to n_Particiones_X-1 do Memo1.Clear; memo2.Clear; GroupBox1.Visible := false; begin tt:=L_Particiones_de_T*k11;xx:=a*i; Memo1.Visible := False; funcion_Fuente(xx,tt,c); Memo2.Text:=' Solucin Por Separacin de Variables y Mtodos+ if i=1 then Numricos de la Ecuacin del Calor'; b[i]:=b[i]+(Val_U0_Frontera_Derecha*alf/h11/h11+c)*k11 Memo2.Lines.Add(' u (x , t ) = u ( x , t ) + S (x , t )'); else b[i]:=b[i]+c*k11; Memo2.Lines.Add(' t xx'); if i=n_Particiones_X-1 then Memo2.Lines.Add(' u ( Xo , t ) = To , u ( XL , t ) = TL'); b[i]:=b[i]+Val_xL_Superior*alf/h11/h11*k11; Memo2.Lines.Add(' u ( x , 0 ) = f(x) ; To <= x <= TL'); if pro<b[i]then pro:=bt[i];if proM>b[i]then proM:=bt[i]; Memo2.Lines.Add('Nota: Use Slo la Variables x y t nicamente'); end;b[0]:=Val_U0_Frontera_Derecha; end; b[n_Particiones_X]:=Val_xL_Superior; (*** ***) procedure TForm_Parabolicas1.Button1Click(Sender: TObject); resol_;r1[0]:=Val_U0_Frontera_Derecha; begin GroupBox1.Visible := Not false; end; r1[n_Particiones_X]:=Val_xL_Superior;b:=r1;xi2:=-1;datosI_; Procedure funcion_Fuente(x,t:_r;var c:_r); end; begin c:=0 end; // Aqu poner la funcin FUENTE S(x,t) procedure TForm_Parabolicas1.Calculo1; (* calcula con regresivas function funcion_fx_Inicial(x:_r):_r; para separacin de variables *) begin Result := sin(pi*x) end; // aqu poner la funcin f(x) inicial begin procedure TForm_Parabolicas1.publicador;var i:_i; xi2:=-1; datosI_; publicador; begin bt:=fx; L_Particiones_de_T:=Round(1/k11+0.08); for i:=1 to n_Particiones_X-1 do k11:=tiempo_final/L_Particiones_de_T; begin str(maa[i]:1:3,s1);s2:=' Ma['+IntToStr(i)+']= '+s1; L_Particiones_de_T:=0;b:=fx;bt:=fx; str(mbb[i]:1:3,s1);s2:=s2+' Mb['+IntToStr(i)+']= '+s1; repeat L_Particiones_de_T:=L_Particiones_de_T+1;cal_ulo1; str(mcc[i]:1:3,s1);s2:=s2+' Mc['+IntToStr(i)+']= '+s1; (**** ***) str(bt[i]:1:6,s1);s2:=s2+' bt['+IntToStr(i)+']= '+s1; until tiempo_final<L_Particiones_de_T*k11+k11/100; Memo1.Lines.Add(s2); end; bt:=r1;L_Particiones_de_T:=L_Particiones_de_T; end; tiempo_final:=L_Particiones_de_T*k11; procedure datosI_;var p,q:_r; i: _i; if pro<bt[0]then pro:=bt[0]; begin {creacin de la matriz Tridiagonal } if pro<bt[n_Particiones_X]then pro:=bt[n_Particiones_X]; p:=1-2*alf*k11/h11/h11*xi2; if proM>bt[0]then proM:=bt[0]; q:=alf*k11/h11/h11*xi2; {Valor 'p y q' } if proM>bt[n_Particiones_X]then proM:=bt[n_Particiones_X]; for i:=1 to n_Particiones_X-1 do end; (* fin de calculo1 *) begin if i=1 then begin mbb[1]:=p;mcc[1]:=q end ///////////////////////////////////////////////////////////////////// else if i<n_Particiones_X-1 then begin maa[i]:=q;mbb[i]:=p; procedure TForm_Parabolicas1.Button2Click(Sender: TObject); mcc[i]:=q end; var i :_i; if i=n_Particiones_X-1 then begin maa[i]:=q;mbb[i]:=p end; function Valor_(a_:_s):_r; end; begin Valor_:=StrToFloat(a_) end; end; (* fin de datosI_ *) Procedure valor_Inicial; var i,j:_i; ///////////////////////////////////////////////////////////////////// begin s1:=''; procedure resol_; (* Resuelve la tridiagonal para el sistema de implcitos *) memo1.Lines.Add(' Valor inicial con f(x) = '+f_inic+ ' y con n=' var j:_i; +IntToStr(n_Particiones_X) + ' Nodos'); begin for j:=2 to n_Particiones_X-1 do for i:=1 to n_Particiones_X-1 do begin mbb[j]:=mbb[j]-maa[j]*mcc[j-1]/mbb[j-1]; begin xx:=i*h11; // b[j]:=b[j]-maa[j]*b[j-1]/mbb[j-1];maa[j]:=0; end; fx[i]:=funcion_fx_Inicial(xx); r1[n_Particiones_X-1]:=b[n_Particiones_X-1]/mbb[n_Particiones_Xstr(fx[i]:1:4,s2); s1:=s1+' '+s2; 1]; end; memo1.Lines.Add(s1); for j:=n_Particiones_X-1-1 downTo 1 do end; // fin valor_Inicial r1[j]:=(b[j]-mcc[j]*r1[j+1])/mbb[j]; procedure minus(s,s1:_s); begin end; end; (* fin de solucin de tridiagonales *) begin procedure cal_ulo;var a1, c :_r; i:_i; GroupBox1.Visible := false; //memo1.Clear; begin for i:=1 to n_Particiones_X-1 do begin a1:=0; Memo1.Visible := not False; xi2 := 1;pro:=-1e29;prom:=1e+29; a1:=a1+maa[i]*b[i-1];a1:=a1+mbb[i]*b[i];a1:=a1+mcc[i]*b[i+1]; FillChar(bt,sizeof(bt),0); tt:=L_Particiones_de_T*k11; xx:=a*i; // Datos de pantalla funcion_Fuente(xx,tt,c); s1:=Edit1.Text; n_Particiones_X:= Round(Valor_(s1)); // N# Nodos if i=1 then if n_Particiones_X>501 then begin bt[i]:=a1+(Val_U0_Frontera_Derecha*alf/h11/h11+c)*k11

F. Antoine S.

A. Sangiacomo C.

169

Captulo 6

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

n_Particiones_X:=500;Edit1.Text:='500' end; if n_Particiones_X<3 then begin n_Particiones_X:=3;Edit1.Text:='3' end;// solo valores 3<= nn <= 500 s1:=Edit2.Text; Val_x0_Inferior:= Valor_(s1); // Valor Xo Limite inferior s1:=Edit3.Text; Val_xL_Superior:= Valor_(s1); // Valor XL superior if Val_x0_Inferior>Val_xL_Superior then begin a:=Val_x0_Inferior; Val_x0_Inferior := Val_xL_Superior; Val_xL_Superior := a end; a:=abs(Val_xL_Superior - Val_x0_Inferior)/n_Particiones_X; // Calcula el valor de h lo pone en h11 s1:=Edit4.Text; k11:= Valor_(s1); // valor de k if 1/k11 > 999040000 then k11:=1/999040000;// Proteccin h11 := a; str(a:1:12,s1); Edit5.Text:=s1; s1:=Edit6.Text; Alf:= Valor_(s1); // Valor de alfa al cuadrado s1:=Edit7.Text; tiempo_final:= Valor_(s1); // Ahora entramos los valores delas condicones de Frontera s1:=Edit8.Text; Val_U0_Frontera_Derecha:= Valor_(s1); s1:=Edit9.Text; Val_xL_Superior:= Valor_(s1); 0 // Ahora entramos los valores de u(x,0) = f(x) y de la fuente S(x,t) 1 s1:=Edit10.Text; f_inic := s1; s1:=Edit11.Text; f_fuen := s1; 2 // Clculo del primer vector inicial 3 valor_Inicial; I := MessageDlg( ' Progresivo "Yes" Regresivo "No" ?', 4 mtConfirmation,[MByes,MBno],0); if i = 7 then calculo1 else Calculo; 5 s1:=''; memo1.Lines.Add(' '); 6 if i=6 then s1:=' P O R M T O D O D E P R O G R E S I V 7 A S' else s1:=' P O R M T O D O D E R E G R E S I V A S'; 8 memo1.Lines.Add(' R E S U L T A D O S '+S1);s1:=''; for i:=0 to n_Particiones_X do 9 begin str(bt[i]:1:8,s2); s1:=s1+ '['+IntToStr(i)+' ] = '+ s2 end; memo1.Lines.Add(s1); 10 memo1.Lines.Add(' con m = '+IntToStr(L_Particiones_de_T)+' y con t = '+FloatToStr(tiempo_final)+ ' Proporcin ='+FloatToStr(Pro)); end; End.

Aqu tenemos 2 = 1 ; u ( x,0) = f ( x) = sin( x) + x(1 x) , h=0.1, k=0.0001, t=0.25. Usando el programa anterior nos resulta siguiente tabla: Progresiva
x
0.000 0.100 0.200 0.300 0.400 0.500 0.600 0.700 0.800 0.900 1.000

a) n

wn
0.0000000000 0.1167096140 0.2108047048 0.2799266771 0.3222037391 0.3364341264 0.3222037391 0.2799266771 0.2108047048 0.1167096140 0.0000000000

u ( x, t )
0.0000000000 0.1162061777 0.2098471121 0.2786086639 0.3206543217 0.3348049725 0.3206543217 0.2786086639 0.2098471121 0.1162061777 0.0000000000

error
0.00 5.0 10 4 9.6 10 4 1.3 10 3 1.5 10 3 1.6 10 3 1.5 10 3 1.3 10 3 9.6 10 4 5.0 10 4 0.00

Tabla 2.

b) n

Regresiva
x
0.000 0.100 0.200 0.300 0.400 0.500 0.600 0.700 0.800 0.900 1.000

wn
0.0000000000 0.1167736726 0.2109265516 0.2800943849 0.3224008914 0.3366414246 0.3224008914 0.2800943849 0.2109265516 0.1167736726 0.0000000000

u ( x, t )
0.0000000000 0.1162061777 0.2098471121 0.2786086639 0.3206543217 0.3348049725 0.3206543217 0.2786086639 0.2098471121 0.1162061777 0.0000000000

error
0.00 5.7 10 4 1.1 10 3 1.5 10 3 1.7 10 3 1.8 10 3 1.7 10 3 1.5 10 3 1.1 10 3 5.7 10 4 0.00

6.2.2.6. Ejemplo Sea


u 2 u = 2, t x2

0 1 2 3 4

0<x<1, 0<y<T,

5 6 7 8 9 10

u (0, t ) = 0 , u (1, t ) = 0 , t > 0 , u ( x,0) = sin( x) + x(1 x) ,

0x1. es

Tabla 3.

La

solucin
2

exacta

u ( x, t ) = e t sin( x ) + x(1 x) .

Solucin:

Un problema del mtodo de diferencias regresivas es que el error de truncamiento local tiene
A. Sangiacomo C.

F. Antoine S.

170

Captulo 6

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

un orden de O(k), lo cual requiere que los intervalos en el tiempo sean ms pequeos que los intervalos en el espacio. Si deseamos un error de truncamiento local de orden O(k2+h2) el primer paso consiste en usar una ecuacin de diferencias que tenga un error de O(k2) para ul(x,t) en lugar de la que se uso para regresivas O(k). Usando la expansin de Taylor par la funcin u(x,t) en el punto y evalundola con (xi,tj) diferencia centrales en (xi,tj-1) y (xi,tj+1) para obtener:
u ( xi , t j +1 ) u ( xi , t j 1 ) k 2 3 u u ( xi , t j ) = ( xi , r j ) 2k 2 t3 t

Otro mtodo que si es mas fcil de manejar y ms estable es el promedio de la diferencia progresivas y regresivas as: Progresivas paso i:
wi , j wi , j 1 k 2 wi +1, j 2wi , j + wi 1, j h2 =0

El error de truncamiento local


Ei, j k 2 u = ( xi , r j ) + O(h 2 ) . 2 2 t

Con la diferencia regresivas pero en el paso (j+1)


wi, j +1 wi , j k 2 wi +1, j +1 2wi, j +1 + wi 1, j +1 h2 =0

El error de truncamiento local


Ei , j = k 2 u ( xi , r j ) + O(h 2 ) . 2 t2

donde ri(ti-1,tj+1); sustituyendo Trabajando con la suposicin de ello nos queda el llamado mtodo que r j r j entonces el mtodo de de Richardson y: diferencias promedio nos da: 2 + wi , j +1 wi , j 1 w w w i +1, j i, j i 1, j 2 = 0 , wi , j +1 wi , j w 2wi , j + wi 1, j 2 1 2 i +1, j
2k h

donde wi,j aproxima a u(xi,tj) y i=1, 2, , m-1 y j=1, 2, En este mtodo de Richardson el error de truncamiento es de O(k2+h2), peor tambin tiene problemas d estabilidad.

2 h2 wi +1, j +1 2wi , j +1 + wi 1, j +1 = 0, h2

Tiene un error de truncamiento de O(k2+h2), siempre que desde luego, se satisfaga las condiciones usuales de diferenciabilidad. 6.2.2.7. El mtodo de Crank - Ello es la presentacin del Nicolson mtodo de Crank - Nicolson.

F. Antoine S.

A. Sangiacomo C.

171

Captulo 6

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Lo representamos de la forma Parciales Parablica para el matricial Caso Crank - Nicolson (j+1) (j) Aw =Bw para cada j=0, 1, , donde Sea
= 2k
h
2

w( j ) = ( w1, j , w2, j ,..., wm 1, j )t ,

u 2 u =2 , t x2

0<x<l, 0<t<T,
u (l , t ) = Tl ,
t >0,

y las matrices A y B son:

u (0, t ) = T0 ,

(1 + ) u ( x,0) = f ( x) , 0xl. L 0 0 2 O M 2 (1 + ) 2 A= O O O 0 0 Paso 1: Entrar a=0, b=l, k, N, T0 , Tl . {Lmites y condiciones de frontera y tamao de paso} M O + ( 1 ) Paso 2: Hacer h = (b a ) / N 2 2 L 0 0 (1 + ) 2k 2 = 2 h Tope = 1/ k (1 ) 0 0 L 2 b[1] = f (h) , b[ N ] = f ( Nh) , (1 ) O M Paso 3: Para i=2 hasta N-1 hacer 2 2 b[i ] = f (ih) , {Cargado de valores iniciales} B= 0 0 O O O Paso 4: Hacer p1 = (1 + ) , q = 2 . (1 ) M O p1 2 2 (1 ) 0 L 0 2 Paso 5: Para i=2 hasta N-2 hacer u i 1 pi = 1 + + 2 ; ui = . 2p
i

Paso 6: Hacer p N 1 = 1 + + . 2 Paso 7: Para j=1 hasta N hacer Paso 8: Hacer t = jk , { t j actual}

u N 2

Figura 6 y 8

z1 = (1 ) w1 + w / p1 2 2
Paso 10: Para i=2 hasta N-1 hacer zi = (1 ) wi + ( wi +1 + wi 1 + zi 1 / pi 2

Como A es una matriz, definida positiva y estrictamente de diagonal dominante, ello tambin dice que es no - singular.

Paso 11: wN 1 = z N 1 . Paso 12: Para i=N-2 hasta 1 hacer wi = zi ui wi +1 . Paso 13: Publicar los wi Paso 14: Parar

6.2.2.8. Algoritmo de Diferencias Finitas para 6.2.2.9. Programa en Delphi Ecuaciones Dife-renciales Pascal de Crank - Nicolson
F. Antoine S. A. Sangiacomo C.

172

Captulo 6

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

unit Calor_1x1; interface

{ CRANK - NICOLSON }

uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm_Parabolicas1 = class(TForm) Memo1: TMemo; GroupBox1: TGroupBox; Label1: TLabel; Edit1: TEdit; Label2: TLabel; Edit2: TEdit; Label3: TLabel; Edit3: TEdit; Label4: TLabel; Edit4: TEdit; Label5: TLabel; Edit5: TEdit; Memo2: TMemo; Label6: TLabel; Edit6: TEdit; Label7: TLabel; Edit7: TEdit; Label8: TLabel; Edit8: TEdit; Label9: TLabel; Edit9: TEdit; Edit10: TEdit; Label10: TLabel; Button1: TButton; GroupBox2: TGroupBox; Button2: TButton; Button3: TButton; Edit11: TEdit; Button4: TButton; Button5: TButton; Label11: TLabel; Label12: TLabel; Edit12: TEdit; Label13: TLabel; CheckBox1: TCheckBox; procedure Button1Click(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button5Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure DATOS11(Sender: TObject); procedure Button2Click(Sender: TObject); procedure CALCULO(Sender: TObject); end; _r = double; _i = integer; _s =string; _v=array[0..1500] of _r; var Form_Parabolicas1: TForm_Parabolicas1; implementation {$R *.DFM} var A_n, B_n, C_n, D_n, T_n, TB_n, S_n:_v; AL_n, DT_n, DX_n, GA_n, Theta_n, ZE_n, ET_n, X0_n, XL_n, Tiempo_n, ValorX0_n, ValorXL_n :_r; MI_n, NT_n, nMax_n :_i; s, S_ns:_s; procedure TForm_Parabolicas1.Button1Click(Sender: TObject); begin GroupBox1.Visible:=true; end; procedure TForm_Parabolicas1.Button4Click(Sender: TObject); begin GroupBox1.Visible:=Not true; end; procedure TForm_Parabolicas1.Button5Click(Sender: TObject); begin Close; end; procedure TForm_Parabolicas1.FormCreate(Sender: TObject); begin Memo1.Clear; memo2.Clear; GroupBox1.Visible := false; Memo1.Visible := False;CheckBox1.Checked:=true; Memo2.Text:=' Solucin Por Separacin de Variables y Mtodos Numricos + de la Ecuacin del Calor'; Memo2.Lines.Add(' u (x , t ) = u ( x , t ) + S (x , t )'); Memo2.Lines.Add(' t xx'); Memo2.Lines.Add(' u ( Xo , t ) = To , u ( XL , t ) = TL');

Memo2.Lines.Add(' u ( x , 0 ) = f(x) ; To <= x <= TL'); Memo2.Lines.Add('Nota: Use Slo la Variables x y t nicamnete'); end; Procedure Tridiagonal; var i:_i; r:_r; begin for i:=2 to MI_n do begin r := A_n[i]/B_n[i-1]; B_n[i] := B_n[i]-r*c_n[i-1]; D_n[i] := D_n[i]-r*D_n[i-1]; end; D_n[MI_n] := D_n[MI_n] / B_n[MI_n]; for i:=Mi_n-1 Downto 1 do begin D_n[i] := (D_n[i]-C_n[i]*D_n[i+1])/B_n[i]; end; end; procedure TForm_Parabolicas1.DATOS11(Sender: TObject); begin /// GA_n := AL_n * DT_n / DX_n / DX_n; ZE_n := Theta_n * GA_n; ET_n := (1-Theta_n)*GA_n; end; procedure TForm_Parabolicas1.CALCULO(Sender: TObject); procedure Explicitas; var i:_i; begin for i:=1 to MI_n do begin D_n[i]:=TB_n[i]+(TB_n[i-1]-2*TB_n[i]+TB_n[i+1])*ET_n; end; D_n[1]:=D_n[1]+ZE_n*TB_n[0]; D_n[MI_n]:=D_n[MI_n]+ZE_n*TB_n[MI_n+1]; end; procedure Implicitas;var i:_i; begin for i:=1 to MI_n do begin A_n[i] := -ZE_n; B_n[i] := 1+2*ZE_n; C_n[i] := -ZE_n; end; Tridiagonal; end; procedure CALCULO_1; var i:_i; begin NT_n:=0; repeat NT_n:=NT_n+1; Explicitas; if Theta_n > 00.001 then Implicitas; Str(TB_n[0]:1:3,s); s_ns:=' Resutados t = '+FloatToStr(NT_n*DT_n)+#13#10+' '+s; for i:=1 to MI_n do begin TB_n[i]:=D_n[i]; Str(D_n[i]:1:3,s); S_ns:=S_ns+' '+s; end; Str(TB_n[MI_n+1]:1:3,s); s_ns:=S_ns+' '+s+#13#10; Memo1.Lines.Add(S_ns); until NT_n>=nMax_n; end; begin /// FillChar(TB_n,SizeOf(TB_n),0); DX_n:=( XL_n - X0_n ) / MI_n; MI_n:=MI_n-1; DT_n:= Tiempo_n/nMax_n; TB_n[0]:=ValorX0_n; TB_n[MI_n+1]:=ValorXL_n; DATOS11(Sender); Memo1.Lines.Add(' N= '+IntToStr( MI_n)+#13#10 +' Xo = '+FloatToStr( X0_n)+#13#10 +' XL = '+FloatToStr( XL_n)+#13#10 +' t = '+FloatToStr( X0_n)+#13#10 +' Theta = '+FloatToStr( Theta_n)+#13#10 +' u(0,t) = '+FloatToStr( ValorX0_n)+#13#10 +' u(L,t) = '+FloatToStr( ValorXL_n)+#13#10 ); CALCULO_1; end; procedure TForm_Parabolicas1.Button2Click(Sender: TObject); begin // memo1.Visible:=true; GroupBox1.Visible:=Not true; if CheckBox1.Checked then Memo1.Clear; MI_n :=StrToInt(Edit1.Text);

F. Antoine S.

A. Sangiacomo C.

173

Captulo 6

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

S_n[1000] :=StrToFloat(Edit4.Text); AL_n :=StrToFloat(Edit6.Text); X0_n :=StrToFloat(Edit2.Text); XL_n :=StrToFloat(Edit3.Text); Tiempo_n :=StrToFloat(Edit7.Text); ValorX0_n :=StrToFloat(Edit8.Text); ValorXL_n :=StrToFloat(Edit9.Text); Theta_n :=StrToFloat(Edit12.Text); if Theta_n<0 then Theta_n:=0; if Theta_n>1 then Theta_n:=1; //ValorX0_n, ValorXL_n nMax_n:=round( Tiempo_n / S_n[1000]+0.49); if MI_n<3 then MI_n:=3; CALCULO(Sender); end; end.

mientras pasa el tiempo se calienta. Tinicial=1000C y Tfinal=500C. Material: Aluminio (al) al = 0.49 cal / s cm 0C , Cp = 0.2174cal / s 0C , = 2.7 g / cm3 . Luego:
2 =
Cp

6.2.2.10. Ejemplo:

al

0.49 0.2174 2.7

= 0.83478

de ello tenemos si k=1, h=2: Dada una barra de aluminio 10 = 2 k = 0.834780.1 = 0.02086 . 22 h2 cm. De largo y que est en las Con wi,0=0, i=1, , 4. condiciones de la figura
w1,0 +1 = w1,0 + ( w0,0 2w1,0 + w2,0 ) w2,1 = w2,0 + ( w1,0 2w2,0 + w3,0 ) w2,1 = 0 + (0 2 0 + 0) = 0 , w3,1 = w3,0 + ( w2,0 2w3,0 + w4,0 ) w3,1 = 0 + (0 2 0 + 0) = 0 w =w + (w 2w +w ) w1,1 = 0 + (100 2 0 + 0) = 2.086 ,

Solucin: Usando mtodo progresivo


wi, j +1 2 2 k k = 1 2 wi , j + 2 2 ( wi +1, j + wi 1, j ) h h

4,1 4, 0 3,0 4, 0 5,0 cinco particiones como se muesw4,1 = 0 + (0 2 0 + 50) = 1.043 tra en la figura se puede calcular la temperatura en cualquier punto de barra despus de 0.1, 0.5 y 1.0 Es como queda despus del primer 0.1 segundos.

segundo.

Para ello podemos escribir la Continuando para el 0.2 segundo: w1, 2 = w1,1 + ( w0,1 2 w1,1 + w2,1 ) ecuacin (6) de la forma k w1, 2 = 100 + (100 2(100 ) + 0) = 4.087 , w = w + 2 (w 2w + w )
i , j +1 i, j

h2

i +1, j

i, j

i 1, j

w2, 2 = w2,1 + ( w1,1 2w2,1 + w3,1 )

y la figura es reformulada

w2, 2 = 0 + (100 2 0 + 0) = 0.044 , w3,2 = w3, 2 + ( w2, 2 2w3, 2 + w4, 2 ) w3,2 = 0 + (0 2 0 + 50 ) = 0.022 w4, 2 = w4,1 + ( w3,1 2w4,1 + w5,1 ) w4, 2 = 50 + (0 2(50 ) + 50) = 2.043

Entendemos que en el instante cero la temperatura es 00C,


F. Antoine S.

luego para 0.3, 0.4, ..., 1.0 se tiene


A. Sangiacomo C.

174

Captulo 6

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Resutados t = 0.3 100.000 6.004 0.127 0.064 3.002 50.000 Resutados t = 0.4 100.000 7.843 0.249 0.127 3.922 50.000 Resutados t = 0.5 100.000 9.608 0.405 0.209 4.804 50.000

wi +1, j +1 2 wi , j +1 + wi 1, j +1 h2

haciendo

gk h2

, donde g es una

constante (g=2). Despejando para obtener un sistema Aw=b, reordenando nos queda:
2wi , j +1 2wi , j = ( wi +1, j 2wi , j + wi 1, j )

Resutados t = 0.6 100.000 11.302 0.593 Resutados t = 0.7 100.000 12.930 0.810 Resutados t = 0.8 100.000 14.494 1.055 Resutados t = 0.9 100.000 15.998 1.325 Resutados t = 1 100.000 17.445 1.619

0.309 5.651 50.000 0.426 6.465 50.000 0.560 7.248 50.000 0.710 8.001 50.000 0.875 8.725 50.000

+ ( wi +1, j +1 2wi , j +1 + wi 1, j +1 ) ,

y reordenando nos resulta:


2( 1) wi , j = ( wi 1, j + wi +1, j + wi +1, j +1 )

2( + 1) wi , j +1 + wi 1, j +1

como se nota los puntos iniciales en la primera vez en los puntos j fijos y quedan las incgnitas todas las j+1. j=0, para i=1, 2, 3 y 4;
i=1; 2( 1) w1,0 = ( w11,0 + w1+1,0 + w1+1,0 +1 )

es como queda la temperatura despus de un segundo.

2( + 1) w1,0 +1 + w11,0 +1
i=2; 2( 1) w2,0 = ( w2 1,0 + w2 +1,0 + w2 +1,0 +1 )

2( + 1) w2,0 +1 + w2 1,0 +1
i=3; 2( 1) w3,0 = ( w2,0 + w4,0 + w4,1 )

2( + 1) w3,1 + w2,1
i=4; 2( 1) w4,0 = ( w3,0 + w5,0 + w5,1 )

2( + 1) w4,1 + w3,1

Figura xx Si se resuelve por el mtodo Crank - Nicolson tendramos algo parecido, pues es la semisuma del explicito con el implcito (vea en el apndice mtodo implcito).
wi , j +1 wij k g[ =1 2 wi +1, j 2wi , j + wi 1, j h
2

continuando

i=1; 2( 1)(0) = (0 + 100 + w2,1 )

2( + 1) w1,1 + 100
i=2; 2( 1)(0) = (0 + 0 + w3,1 )

2( + 1) w2,1 + w1,1
i=3; 2( 1)(0) = (0 + 0 + w4,1 )

2( + 1) w3,1 + w2,1
i=4; 2( 1)(0) = (50 + 0 + 50)

2( + 1) w4,1 + w3,1

ordenando matricialmente Aw=b:


A. Sangiacomo C.

F. Antoine S.

175

Captulo 6

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

0 0 w11 2 100 2( + 1) 2 ( + 1 ) 0 w21 = 0 0 2( + 1) w31 0 0 2( + 1) w41 2 50 0

reemplazando y resolviendo resulta:


Resultados t = 0.1 100.000 2.045 0.021 0.011 1.022 50.000. El siguiente es:
j=1, para i=1, 2, 3 y 4; i=1; 2( 1) w1,1 = ( w0,1 + w2,1 + w2,2 )

Resultados t = 0.7 100.000 12.712 0.903 Resultados t = 0.8 100.000 14.258 1.153 Resultados t = 0.9 100.000 15.746 1.427 Resultados t = 1 100.000 17.178 1.723

0.483 6.357 50.000 0.622 7.131 50.000 0.777 7.876 50.000 0.945 8.594 50.000

6.2.3. Problemas

2( + 1) w1, 2 + w0,2
i=2; 2( 1) w2,1 = ( w1,1 + w3,1 + w3, 2 )

1.

2( + 1) w2, 2 + w1, 2
i=3; 2( 1) w3,1 = ( w2,1 + w4,1 + w4, 2 )

Haga la aproximacin para la EDP, para t=0.5


u 2 u =0, t x2

2( + 1) w3, 2 + w2, 2
i=4; 2( 1) w4,1 = ( w3,1 + w5,1 + w5, 2 )

0<x<1, 0<t<T,
t >0,

2( + 1) w4, 2 + w3, 2
i=1; 2( 1)(2.0436) = (100 + 0.02099 + w2, 2 )

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

con valores

0x1.

2( + 1) w12 + 100
i=2; 2( 1)(0.02099) = (2.0436 + 0.01066 + w3,2 )

2( + 1) w2, 2 + w1, 2
i=3; 2( 1)(0.01066) = (0.02099 + 1.0218 + w4, 2 )

2( + 1) w3, 2 + w2,2
i=4; 2( 1)(1.0218) = (0.01066 + 50 + 50)

Con h = 0.1 , k = 0.0005 , usando el algoritmo progresivo y el regresivo. La solucin exacta es


u ( x, t ) = e t sin ( x ) .
2

2( + 1) w4, 2 + w3,2

Compare.

con

2 (100) + 0.02099 2( 1)(2.0436) (2.0436 + 0.01066) 2( 1)(0.02099) b= (0.02099 + 1.0218) 2( 1)(0.01066) 2 (50) + 0.01066 2( 1)(1.0218)

Resultados t = 0.2 100.000 4.006 0.083 0.042 2.003 50.000 Resultados t = 0.3 100.000 5.889 0.182 0.094 2.945 50.000 Resultados t = 0.4 100.000 7.698 0.316 0.164 3.849 50.000 Resutados t = 0.5 100.000 9.436 0.482 0.253 4.718 50.000 Resultados t = 0.6 100.000 11.106 0.679 0.360 5.554 50.000
F. Antoine S.

2.

Usar diferentes valores para h y k y t. Haga la aproximacin para la EDP, para t = 0.4, 0.2
u 2 u =0, t x2

0<x<2, 0<t<T,

u (0, t ) = 0 ,

u (2, t ) = 0 , t > 0 ,

u ( x,0) = sin( x / 2) ,

0x2.
176

A. Sangiacomo C.

Captulo 6

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

3.

Con h = 0.1 , k = 0.005 , Usando el algoritmo progresivo y el regresivo. Usar diferentes valores para h y k y t. Haga la aproximacin para la EDP, para t = 0.4, 0.2
u 1 2 u = 0, t 16 x 2

u 2 u =0, t x2 u (0, t ) = 0 ,

0<x<2, 0<t<T,

u (2, t ) = 0 , t > 0 ,

u ( x,0) = x(2 x) ,

0x2.

0<x<1, 0<t<T,
t >0,

u (0, t ) = 0 , u (1, t ) = 0 ,
u ( x,0) = 2sin( x 2 ) ,

0x1.

6.

Con h=0.1, k=0.005, Usando el algoritmo progresivo y el regresivo. Usar diferentes valores para h y k y t. Haga la aproximacin para la EDP, para t=0.5, 0.35, 0.24
u 4 2 u = 0, t 2 x2

4.

Con h = 0.25 , k = 0.04 , Usando el algoritmo progresivo y el regresivo. Usar diferentes valores para h y k. Haga la aproximacin para la EDP, para t = 0.4, 0.2
u 2 u =0, t x2

0<x<4,
u (0, t ) = 0 ,

0<t<T,
u (4, t ) = 0 , t > 0 ,

u ( x,0) = sin( x / 4)(1 + 2 cos( x / 4)) ,


0 x 4.

0<x<2, 0<t<T,
t >0,

u (0, t ) = 0 ,

u (2, t ) = 0 ,

u ( x,0) = sin( x 2 ) ,

0x2.

5.

Con h=0.1, k=0.005, Usando el algoritmo progresivo y el regresivo. Usar diferentes valores para h y k y t. Haga la aproximacin para la EDP, para t=0.5, 0.35, 0.24

7.

Con h=0.1, k=0.005, Usando el algoritmo progresivo y el regresivo. La solucin exacta es u ( x, t ) = e t sin ( x / 2) + e t / 4 sin( x / 4) . Compare con sus soluciones. Usar diferentes valores para h y k y t. Haga la aproximacin para la EDP, para t = 0.5, 0.4, 0.25
u 1 2 u = 0, t 2 x2
A. Sangiacomo C.

F. Antoine S.

177

Captulo 6

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

8.

donde es una constante. Para el mtodo de diferencias u (0, t ) = 0 , u (1, t ) = 0 , t > 0 , finitas seleccionaremos un entero u ( x,0) = cos( ( x 1 / 2)) , 0x1. m>0 y un tamao de paso k>0. Con h=0.1, k=0.005, Usando el Con h=l/m, los puntos de red algoritmo progresivo y el (xi,tj) se define como regresivo. x = ih , La solucin exacta es i para cada i=0, 1, , m, u ( x, t ) = e t cos( ( x 1 / 2)) . ti = jk , para cada j=0, 1, . Compare con sus soluciones. Usar diferentes valores para h y En cualquier punto interior de la k y t. Resolver las EDP del 1 al 7 por red (xi,tj) la ecuacin de onda ser 2 el mtodo de Crank - Nicolson 2 u 2 u ( x , t ) ( x, t ) = 0 . (2) 2 2 0<x<1, 0<t<T,
t x

6.3. Ecuaciones Diferencia- El mtodo se obtiene como de costumbre usando los cocientes les Parciales Hiperblica de aproximacin por diferencias La ecuacin diferencial parcial finitas centrales para las segundas hiperblica que estudiaremos ser derivadas parciales, que son: la ecuacin de onda, la cual se presenta as:
2 u t
2

2 u x

( xi , t j ) = 2

u ( xi +1 , t j ) 2u ( xi , t j ) + u ( xi 1 , t j ) h2

( x, t ) =

2 u x
2

( x, t ) , (1)

h2 4 u (qi , t j ) , 12 x 4

(3)

0<x<l,

t >0,

donde
2 u t
2

qi ( xi 1 , xi +1 ) ;

y
k2

con las condiciones


u (0, t ) = 0 , u (l , t ) = 0 , t > 0 ,

( xi , t j ) =

u ( xi , t j +1 ) 2u ( xi , t j ) + u ( xi , t j 1 )

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

0xl. 0xl,

k 2 4 u ( xi , r j ) , 12 t 4

(4)

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

donde ri(ti-1,ti+1).

F. Antoine S.

A. Sangiacomo C.

178

Captulo 6

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Reemplazando (3) y (4) en la Esta ecuacin se satisface para ecuacin (2) podemos expresar la cada i=1, 2, , m-1 y j=1, 2, . ecuacin en los puntos (xi,yj) Las condiciones de frontera dan como w0,j=wm,j=0, u( xi , t j +1) 2u( xi , t j ) + u( xi , t j 1 ) (8) para cada j=1, 2,
k2 2 u ( xi +1 , t j ) 2u ( xi , t j ) + u ( xi 1 , t j ) h
2

Y la condicin inicial implica wi,0=f(xi),


para cada i=1, 2, , m-1.
(9)

Teniendo en cuenta el miembro para cada i=1, 2, , m-1 y j=1, de la derecha de (7), tenemos la 2, . matriz A tridiagonal dada por Si despreciamos el error de truncamiento nos quedar la ecuacin de aproximaciones en la forma
wi, j +1 2wi, j + wi, j 1 k2 2 wi+1, j 2wi, j + wi1, j h2 = 0.
2(1 2 ) 0 0 2 L 2 2 2 2(1 ) O M A= 0 0 O O O 2 2 2 M O 2(1 ) 0 L 0 2 2(1 2 )

2 4 k 2 4 u 2 h u = ( x , r ) (qi , t j ) , (5) i j 12 t 4 12 x 4

Ahora escribiendo todo sistema matricial nos resulta


w1, j +1 w 2, j +1 M = wm 2, j +1 wm 1, j +1

el

(6)

Si hacemos

k
h

, podemos de

escribir la ecuacin diferencias como


wi, j +1 2wi, j + wi, j 1

w1, j w1, j 1 w w 2, j 2, j 1 M M . (10) A wm 2, j wm 2, j 1 wm 1, j wm 1, j 1

La expresin (10) tiene un pro 2 (wi +1, j 2wi, j + wi 1, j ) = 0 blema el cual es que para el paso (j+1) en el tiempo requiere de los de esta ltima despejamos la valores de los pasos j y del paso aproximacin ms avanzada en el (j1) en el tiempo. tiempo expresada por wi,j+1, as:
wi, j +1 = 2(1 2 )wi, j + 2 (wi +1, j + wi 1, j )
wi, j 1 .
F. Antoine S.

(7)
A. Sangiacomo C.

179

Captulo 6

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

k 2 2 u ( xi , si ) 2 t2

k 2 2 u = u ( xi ,0) + kg ( xi ) + ( xi , si ) . 2 t2

Donde si despreciamos el error

Figura 9.
Aqu tenemos un problema inicial, ya que los valores para j=0 estn dados por la ecuacin (9), en cambio los valores para j=1, que son necesarios en (10) para calcular wi,2, deben obtenerse de la condicin de la velocidad inicial

k 2 2 u ( xi , si ) 2 t2

y usamos las aproxi-

maciones wi,j nos resulta


wi ,1 = wi ,0 + kg ( xi ) ,

para cada i=1, , m-1.


(12)

Sin embargo, de la ecuacin (11) podemos ver con (12) da una aproximacin con un error de truncamiento de slo O(k). Una mejor aproximacin a la solucin u(xi,tj) puede obtenerse fcilu ( x , 0) = g ( x ) , 0 x l . mente, particularmente cuando se t puede determinar la segunda Lo primero que se podra hacer deri-vada f en xi, de sera reemplazar u / t por la consideremos: aproximacin de diferencias u ( xi , t1 ) u ( xi ,0) u progresivas, ( xi ,0) =
u ( xi , t1 ) u ( xi ,0) u ( xi ,0) = k t 2 k u ( xi , si ) , 2 t2
t k 2 3 k u k u + ( xi ,0) + ( xi , si ) , 2 2 t 6 t3
2

(13)

para alguna 0<si<t1 y supongamos adems que la ecuacin de donde 0<si<t1 onda se satisface tambin en la Resolviendo para u(xi,t1) nos lnea inicial; esto es, queda
u u ( xi , t1 ) = u ( xi ,0) + k ( xi ,0) t
F. Antoine S.

(11)

2 u t2

( xi ,0) 2

2 u x2

( xi ,0) = 0 ,

A. Sangiacomo C.

180

Captulo 6

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

para cada i=0, 1, , m. Si f existe, entonces


2 u t
2

o, haciendo

k h

u ( xi , t1 ) = u ( xi ,0) + kg ( xi ) +
( xi ,0)
+

( xi ,0) = 2 =2

2 u x
2

2
2

[ f ( xi +1 ) 2 f ( xi ) + f ( xi 1 )] + O(k 2 + h 2 k )
2 2

d 2 f ( xi ) d x2

Sustituyendo en (13) y resolviendo para u(xi,t1) se obtiene Entonces, se puede ecuacin de diferencia u ( xi , t1 ) = u ( xi ,0) + kg ( xi )
+

= 2 f ( xi ) . = (1 2 ) f ( x ) + f ( x ) + f ( x ) i i +1 i 1 2 2 + kg ( xi ) + O(k 2 + h 2 k )

usar

la

2k 2
2

f ' ' ( xi ) +

k 2 3 u ( xi , si ) 6 t3

wi ,1 = (1 2 ) f ( xi ) +
+

2
2

f ( xi +1 )

y
wi ,1 = wi ,0 + kg ( xi ) +

2
2

2k 2
2

f ( xi 1 ) + kg ( xi ) ,

(15)

f ' ' ( xi ) .

(14)

para encontrar a wi,1 para cada Esta es una aproximacin con un i=1, 2, , m-1. error de truncamiento local de O(k2) para cada i=1, 2, , m-1. 6.3.1. Programa en Delphi de Si fC4[0,1] pero f ''(xi) no puede Regresivas para Hiperblicas conseguirse fcilmente, podemos usar la ecuacin
f ' ' ( xi ) = f ( xi +1 ) 2 f ( xi ) + f ( xi 1 ) h2 h 2 ( 4) f (vi ) , 12

para algn vi entre (xi-1,xi+1). Esto implica que la aproximacin se convierte en


u ( xi , t1 ) u ( xi ,0) = g ( xi ,0) k
+ k 2 f ( xi +1 ) 2 f ( xi ) + f ( xi 1 ) + O(k 2 + h 2 k ) 2 2 h

{Modificar el programa 6.2.2.5 .}


{$M 16384,0,9360} {con funcin S<>0 o sea no homognea} unit Onda_Hiperbolica1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, operaXY1; type TForm1_Hiperbolicas1 = class(TForm) BitBtn1: TBitBtn; BitBtn2: TBitBtn; Memo1: TMemo; Edit1: TEdit; Edit2: TEdit; Label1: TLabel; Label2: TLabel; Edit3: TEdit;

F. Antoine S.

A. Sangiacomo C.

181

Captulo 6

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Begin if i=1 then begin mbb[1]:=p; mcc[1]:=q end else if i<n-1 then begin maa[i]:=q; mbb[i]:=p; mcc[i]:=q end; if i=n-1 then begin maa[i]:=q; mbb[i]:=p end; End; End; Procedure Calculo; var t1,x1,a1:_r; Begin xi2:=1;datosI_; b:=fx; publi; memo1.Lines.Add(' Reclculos de Hiperblica ?'); lx:=0; Repeat lx:=lx+1; var For i:=1 to n-1 do begin a1:=0; Form1_Hiperbolicas1: TForm1_Hiperbolicas1; a1:=a1+maa[i]*b[i-1]; a1:=a1+mbb[i]*b[i]; a1:=a1+mcc[i]*b[i+1]; x11[1]:=lx*k11;x11[2]:=a*i; funcion_F(x11,c); implementation if i=1 then bt[i]:=a1+(u0*alf/h11/h11+c)*k11-bt0[i] else bt[i]:=a1+c*k11-bt0[i]; {$R *.DFM} if i=n-1 then bt[i]:=a1+(uL*alf/h11/h11+c)*k11-bt0[i]; {Se Modific aqu} Type _r=double; _i=integer; _s=string; End; bt0:=b; b:=bt; bt[0]:=u0; bt[n]:=ul; fx[0]:=u0; fx[n]:=ul; _v=array[0..500] of _r;_v1=array[0..2] of _r; if tf<=lx*k11 then begin tf:=lx*k11; exit end Var a,c,d,x0,xl,tf,sa,h11,k11,alf,ul,u0:_r; s11,_aa,_aaS:_s; Until false {h11 y k11 son los respectivos valores de h y k } End; i,j,n,m,lx,ls,xi1,xi2:longint;deci:char; Begin {Programa Principal} s11:='0'; maa,mbb,mcc,b,fx,r1,bt,bt0:_v; x11:_v1; _aa:='sin(x*p)'; _aaS:='4'; {renovar en caso de cambios en fx o F} datosM_; calculo; x11[1]:=tf; procedure TForm1_Hiperbolicas1.BitBtn2Click(Sender: TObject); For i:=0 to n do Begin x11[2]:=x0+h11*i; begin close; end; memo1.Lines.Add('['+IntToStr(i)+'] = '+FloatToStr(x11[2]) Function funcion_i(x:_v1;var y:_r):_r; +' '+FloatToStr(bt[i])+' '+FloatToStr(funcion_E(x11,c))); Begin y:=sin(x[2]*pi{*2});funcion_i:=y end; End; {Cambiar aqu las condiciones iniciales f} memo1.Lines.Add(' con N = '+IntToStr(lx)+ ' y con t = ' Function funcion_g(x:_v1;var y:_r):_r; + FloatToStr(tf)); Begin y:=2*pi*funcion_i(x,y)*0;funcion_g:=y end; {Cambiar aqu las} END; {condiciones iniciales g} Function funcion_F(x:_v1;var y:_r):_r; procedure TForm1_Hiperbolicas1.BitBtn3Click(Sender: TObject); Begin y:=0;funcion_F:=y; end; {Cambiar aqu la Fuente} begin Memo1.Clear; end; Function funcion_E(x:_v1;var y:_r):_r; Begin y:=sin(x[2]*pi{*2})*(cos(2*pi*x[1])+0*sin(2*pi*x[1])); procedure TForm1_Hiperbolicas1.FormCreate(Sender: TObject); begin Memo1.Clear; end; funcion_E:=y end; END. procedure TForm1_Hiperbolicas1.BitBtn1Click(Sender: TObject); {con funcin S<>0 o sea no homognea} Procedure publi; var i2,j2:_i;s:_s; Begin For i2:=1 to n-1 do Begin s11:='';str(maa[i2]:2:4,s);s11:=s11+'A '+s; str(mbb[i2]:2:4,s);s11:=s11+' B '+s; str(mcc[i2]:2:4,s); s11:=s11+' C '+s; str(fx[i2]:2:5,s);s11:=s11+' b '+s; Memo1.Lines.Add(s11) End End; Procedure datosM_; Begin //writeln('tridi *******'); //Repeat write(' Entrar Nodos N = '); read(n) until n<501; with memo1.Lines do begin N:=StrToInt(edit5.Text); if N>500 then N:=500; add(' Entrar M = '+Edit5.Text); x0:=StrToFloat(Edit1.Text); add(' Entrar xo = '+Edit1.Text); xL:=StrToFloat(Edit2.Text); add(' Entrar xL = '+Edit2.Text); if x0>xL then begin a:=x0; x0:=xl; xl:=a end; k11:=StrToFloat(Edit6.Text); add(' Entrar k = '+Edit6.Text); h11:=(xL-x0)/n; add(' Entrar h = '+floatToStr(h11)); alf:=StrToFloat(Edit7.Text); add(' Entrar alfa^2 = '+Edit7.Text); tF:=StrToFloat(Edit8.Text); add(' Entrar t = '+Edit8.Text); {datos de la funcin u(x,0):f(x) du(x,0)/dt } u0:=StrToFloat(Edit3.Text); add(' Entrar u('+Edit1.Text+',t) = '+Edit3.Text); uL:=StrToFloat(Edit4.Text); add(' Entrar u('+Edit2.Text+',t) = '+Edit4.Text); add(' Entrar la funcin de condicin inicial u(x;0) = f(x) = '+_aa); add(' Entrar la funcin de condicin inicial du(x;0)/dt = g(x) = '+s11); add(' Entrar la funcin Fuente S(x;t) = F(x,t) = '+_aaS); end; fillchar(x11,sizeof(x11),0); fillchar(fx,sizeof(fx),0); a:=abs(xL-x0)/n; For i:=0 to n do begin x11[2]:=i*a; {fx que es Condicin inicial} funcion_i(x11,d); bt0[i]:=d;fx[i]:=bt0[i]+funcion_g(x11,c)*k11; end; bt0[0]:=u0;bt0[n]:=ul;fx[0]:=u0;fx[n]:=ul; {Se Modific aqu} End; Procedure datosI_; var p,q:_r; Begin {creacin de la matriz tridiagonal} n fillchar(maa,sizeof(maa),0);mbb:=maa; mcc:=mbb; q:=alf*k11/h11/h11*k11; p:=(1-q)*2; 0 For i:=1 to n - 1 do

Edit4: TEdit; Label3: TLabel; Label4: TLabel; Edit5: TEdit; Edit6: TEdit; Label5: TLabel; Label6: TLabel; Edit7: TEdit; Label7: TLabel; Edit8: TEdit; Label8: TLabel; BitBtn3: TBitBtn; procedure BitBtn2Click(Sender: TObject); procedure BitBtn1Click(Sender: TObject); procedure BitBtn3Click(Sender: TObject); procedure FormCreate(Sender: TObject); end;

La solucin se la mostramos en la siguiente tabla para la EDP


2 u t2 2 u x2 ( x, t ) = 0 ,

0<x<1,

t >0,

(1)

con las condiciones


u (0, t ) = 0 , u (1, t ) = 0 , t > 0 ,
u ( x,0) = sin(2 x) ,

0x1. 0x1,

u ( x,0) = 2 sin(2 x) , t
k = 0.0001

donde
xi

h = 0.05 ,

wi
0.0000000000

ui
0.0000000000

error

0.000

0.00

F. Antoine S.

A. Sangiacomo C.

182

Captulo 6

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

1 2 3 4 5 6 7 8 9 10

0.100 0.200 0.300 0.400 0.500 0.600 0.700 0.800 0.900 1.000

0.3793620932 0.6138207607 0.6138207606 0.3793620930

0.3773813624 0.6106158710 0.6106158710 0.3773813624

2.0 10 3 3.2 10 3 3.2 10 3 2.0 10 3

y
u ( x,0) = sin(2 x) , u ( x,0) = sin( x) , t

0x1. 0x1,
h = 0.25 ,

0.0000000000 -0.0000000000 3.5 1011 -0.3793620931 -0.3773813624 2.0 10 3 -0.6138207607 -0.6106158710 3.2 10 3 -0.6138207606 -0.6106158710 3.2 10 3 -0.3793620930 -0.3773813624 2.0 10 3 0.0000000000 0.0000000000 0.00

Tabla 4.

donde despus con


3.

k = 0.25 ,
k = 0.0001

h = 0.05 .

6.3.2. Problemas
1.

Con el programa 6.3.1 resuelva el problema, para t=1/2;


2 u t2 1 2 u ( x, t ) = 0 , 4 x2
0 < x < 0.5 ,

Con el programa resuelva el problema, para t=1;


2 u t2 4 2 u x ( x, t ) = 0 , 2

0<x<1,

t >0

t >0,
u (0, t ) = 0 , u (0.5, t ) = 0 , t > 0 ,

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

y
u ( x,0) = 0 ,

y
u ( x,0) = sin( x) ,
u ( x,0) = 0 , t

0x1.

0x0.5. 0x0.5,

0x1, y
h = 0.05 .

u ( x,0) = sin(4 x) , t

donde

k = 0.0001

Compare con la solucin exacta u ( x, t ) = sin( x) cos(2 t ) . Vea que sucede con la solucin cuando k = 0.05 y h = 0.1 . De una apreciacin crtica. Con el programa 6.3.1 resuelva el problema, para t = 0.5 ;
2 u t2 2 u x2 ( x, t ) = 0 ,

4.

donde k=0.25, h=0.25, y despus con k=0.0001 y h=0.05. Con el programa 6.3.1 resuelva el problema, para t=1/2;
2 u t2 2 u x2 ( x, t ) = 0 ,

0<x<1,

t>0

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

y
u ( x,0) = sin( x) , u ( x,0) = 0 , t

2.

0x1.

0<x<1,

t >0,

0x1,

u (0, t ) = 0 , u (1, t ) = 0 ,
F. Antoine S.

t >0,

donde k = 0.05 , h = 0.1 , y despus con k = 0.0001 y h = 0.05 .


A. Sangiacomo C.

183

Captulo 6

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

2 i

Compare con la solucin exacta u ( x, t ) = sin( x) cos( t ) . Vea que sucede con la solucin cuando k=0.05 y h=0.05. De una apreciacin crtica.
5.

t2

LC

2 i x2

( x, t ) = 0 ,

0<x<l,

t >0

Haga las modificaciones correspondientes al programa 6.3.1 para el uso de la frmula (15) con f y repita los problemas del (1) al (4).

donde L es la inductancia por unidad de longitud y C es la capacitancia por unidad de longitud. Suponga que la lnea tiene 200 m de longitud y que las constantes C y L estn dadas por
C = 0.1 faradios / m
L = 0.3henrios / m

6.

Supongamos tambin que el Con el programa 6.3.1 resuelva voltaje y la corriente satisfacen que el problema, para t=1/2; V (0, t ) = V (200, t ) = 0 , t > 0 2 u 2 u ( x, t ) = 0 , 0<x<1, t > 0 , t 2 x2 x ) , 0<x<200, V ( x,0) = 110 sin( u (0, t ) = 0 , u (1, t ) = 0 , t > 0 ,
200

y
0 x 1 1, 2 u ( x,0) = 1 1 , 1 , x < 2 u ( x,0) = 0 , 0x1, t donde k = 0.05 , h = 0.1 ,

V ( x,0) = 0 , t

0<x<200,

i (0, t ) = i (200, t ) = 0 , t > 0 i ( x,0) = 5.5sin(

x
200

despus con
7.

k = 0.0001

y y h = 0.05 .

),

0<x<200,
i ( x,0) = 0 , t

En una lnea de transmisin elctrica de longitud l que lleva corriente alterna de alta frecuencia, el voltaje V y la corriente i se describen por
2 V t2 LC 2 V x2

0<x<200,

( x, t ) = 0 ,

0<x<l,

t >0,

Aproxime el voltaje y la corriente en t = 0.2 y en t = 0.5 , usando el algoritmo y programa 6.3.1 con h = 10 , k = 0.1 . b) Encuentre los primeros tres trminos de la solucin en
a)
A. Sangiacomo C.

F. Antoine S.

184

Captulo 6

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

series de Fourier para V e i h 2 + 1 wi , j ( wi +1, j + wi 1, j ) y compare los resultados en 2 k los puntos V (50, 0.2) , V (50, 0.5) , 2 h i (50, 0.2) , i (50, 0.5) con los de ( wi , j +1 + wi , j 1 ) = h 2 f ( xi , y j ) k (a). (5)
8.

Haga los problemas del (1) al para cada i=1, 2, , n y j=1, 2, (7) para diferentes valores de t. , m, adems
w0, j = g ( x0 , y j )

Nota: En el disco compacto se encuentran todos los programas de los captulos de este libro y muchos ms de los tratados aqu.

para cada j=0, 1, , m,


wn, j = g ( xn , y j )

Apndice

para cada j=0, 1, , m,


wi ,0 = g ( xi , y0 )

Si resolvemos por los puntos mepara cada i=0, 1, , n-1, dios de cada rectngulos los clwi , m = g ( xi , ym ) culos son aproximados tambin: para cada i=0, 1, , n-1,
(6)

donde wi,j aproxima a u(xi,yj) La tpica ecuacin (5) envuelve aproximaciones a u(x,y) en los puntos medios de los rectngulos como se ve en la figura 1,

Figura 1.
En la forma de la ecuacin de diferencia, esto da lugar a un mtodo llamado de diferencias centrales, con error de truncamiento local de orden O(h2+k2), que puede escribirse
F. Antoine S.

( xi 1 , y j + 1 ) ,
2 2
2 2

( xi + 1 , y j + 1 ) ,
2 2
2 2
2 2

( xi + 1 , y j 1 ) , ( xi + 1 , y j + 3 ) , ( xi + 3 , y j + 1 )

A. Sangiacomo C.

185

Captulo 6

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Pl(xi,yj)

wl = wij,

donde l = i + (m 1 j )(n 1) para cada i=1, 2, , n y j=1, 2, , m. Esto, de hecho reordena los puntos de la red consecutivamenFigura 2. te de izquierda a derecha y de arriba hacia abajo. Como La figura hace ver que se aclaracin presentmoslo para aproxima una regin en forma de n=4 y m=5, esta nueva ordenaestrella de cuatro puntas al cin da por resultado una malla rededor del punto ( xi + 1 , y j + 1 ) . cuyos puntos medios los mostra2 2 mos en la figura 3. Usando ahora la informacin de las condiciones de frontera en el De esta manera se asegura que sistema (5), o sea: en todos los los puntos medios forman una puntos (xi,yj) que estn adyacen- matriz banda con un espesor de tes a un punto de red en la 2n1. frontera, tendremos un sistema de (n)(m) ecuaciones lineales con (n)(m) incgnitas, estas aproximaciones son las aproximaciones wi + 1 , j + 1 de u ( xi + 1 , y j + 1 ) para los
2 2 2 2

semi puntos interiores de la red. El sistema lineal que contiene a estas incgnitas puede expresarse Figura 3. ms eficientemente para los clculos de la matriz si se introduce un renombramiento de los puntos 6.1.1. Ejemplo interiores de la red. Etiquetar de Determinar la distribucin estauna manera apropiada estos cionaria de calor en una lamina puntos es tomar delgada de metal en forma de
F. Antoine S. A. Sangiacomo C.

186

Captulo 6

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

cuadrado con dimensiones de 0.5 m por 0.5 m, la cual se mantiene a 00C en dos fronteras adyacentes mientras que el calor en las otras fronteras se va incrementando linealmente de 00C a 1000C en la esquina donde estos lados se encuentran. Si ponemos los lados con condiciones de frontera cero Figura 4. a lo largo de los ejes x y y, el problema se expresar matemtiExpresando en trminos de los camente as: puntos interiores de la red reeti2 2 quetados wi=u(Pi) tomando la u u ( x , y ) + ( x , y ) = 0 , (7) figura 2, y la ecuacin (8) implica x2 y2 que las ecuaciones son: para (x,y) en el conjunto R={(x,y)| 0<x<0.5, 0<y<0.5}, con 4wij wi +1, j wi 1, j wi, j 1 wi, j +1 = 0 P 1 wij ; las condiciones de frontera: 4P 1 P2 P i 1 front Pj 1 front P 5 = 0, u (0, y ) = 0 , u ( x,0) = 0 , 1 4P 5 =0, 1 P2 0 200( 16 ) P u ( x,0.5) = 200 x , u (0.5, y ) = 200 y . 25 4P 1 P2 0 0 P 5 = 2 . Si tomamos la malla de n = m = 4 P w ; 4 P P P P 2 3 1 j 1 front P 6 =0, y la ecuacin de diferencias (5) 2 ij 3 4 P2 P3 P 6 = 0, 1 200( 16 ) P queda 75 P 1 + 4 P2 P 3 00P 6 = 2 . 4wij wi +1, j wi 1, j wi , j 1 wi , j +1 = 0 , P3 wij ; 4 P3 P4 P2 Pj 1 front P7 = 0 , (8) 5 4 P3 P4 P2 200( 16 ) P7 = 0 , para cada i=1, 2, 3 y j=1, 2, 3. P2 + 4 P3 P4 0 0 P7 = 125 . 2 P4 wij ; 4 P4 Pi +1 front P3 Pj 1 front P8 = 0 , 7 7 4 P4 200( 16 ) P3 200( 16 ) P8 = 0 , P3 + 4 P4 0 0 0 P8 = 175 .
F. Antoine S. A. Sangiacomo C.

187

Captulo 6

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Y nos resulta el sistema lineal asociado con este problema P 1 0 0 0 + 4P 5P 6 000 P 9 =0. siguiente: P6 wij ; 4 P6 P7 P5 P2 P 10 = 0 , P2 0 0 P5 + 4 P6 P7 0 0 P 10 = 0 . P7 wij ; 4 P7 P8 P6 P3 P 11 = 0 , P3 0 0 P6 + 4 P7 P8 0 0 P 11 = 0 . 5 ) P7 P4 P P8 wij ; 4 P8 200( 16 12 = 0 , 125 P4 0 0 P7 + 4 P8 0 0 0 P 12 = 2 . P9 wij ; 4 P9 P 10 0 P 5P 13 = 0 , P5 0 0 0 + 4 P9 P 10 0 0 P 13 = 0 . Usualmente para resolver este P 10 P 11 P 9P 6P 14 = 0 , 10 wij ; 4 P sistema es usando el mtodo P6 0 0 P9 + 4 P 10 P 11 0 0 P 14 = 0 . Gauss u otro mtodo para el caso. 4 P P P P P = 0 P w ; , 11 12 10 7 15 11 ij Particularmente resolviendo por P7 0 0 P 10 + 4 P 11 P 12 0 0 P 15 = 0 . Gauss tenemos
25 0 1 4 1 0 w1 2 1 4 1 0 w 75 0 1 2 2 0 1 4 1 0 w3 125 0 1 2 0 1 4 0 0 0 1 0 w4 175 1 0 w5 0 0 0 4 1 0 0 1 1 0 0 1 4 1 0 0 1 w6 0 w 0 1 0 0 1 4 1 0 0 1 7 1 0 0 1 4 0 0 0 1 w8 125 2 w = 0 1 0 0 0 4 1 0 0 1 9 w10 0 1 0 0 1 4 1 0 0 1 1 0 0 1 4 1 0 0 1 w11 0 1 0 0 1 4 1 0 0 1 w12 0 1 0 0 0 4 1 0 0 w13 0 1 0 0 1 4 1 0 w14 0 1 0 0 1 4 1 w15 0 w 25 1 0 0 1 4 16 2

P5 wij ; 4 P5 P6 0 P 1P 9 = 0,

3 P 12 wij ; 4 P 12 200( 16 ) P 11 P 8P 16 = 0 ,

P8 0 0 P 11 + 4 P 12 0 0 0 P 16 = P 13 P 14 0 P 9 0 = 0, 13 wij ; 4 P

75 2

P2 = 13.3670040146 P3 = 48.5202268881

P2 = 30.3754336331 P4 = 67.3372826589

P5 = 10.5925824253 P7 = 33.8681912602 P9 = 6.8888220565


P 11 = 19.0091307754 P 13 = 3.3408985998

P6 = 22.1145036299 P8 = 45.8289037474 P 10 = 13.6218072011


P 12 = 19.6101410707 P 14 = 6.4747723426

P9 0 0 0 + 4 P 13 P 14 = 0 .
P 14 P 15 P 13 P 10 0 = 0 , 14 wij ; 4 P

P 11 0 P 13 + 4 P 14 P 15 = 0 .
P 15 P 16 P 14 P 11 0 = 0 , 15 wij ; 4 P

P 11 0 0 P 14 + 4 P 15 P 16 = 0 .
P 16 wij ;
1 4P 16 200( 16 ) P 15

P 15 = 8.9363835695

P 16 = 10.2616311600

P 12 0 = 0 ,
25 2

Tabla 1.
La solucin exacta es

P 12 0 0 P 15 + 4 P 16 =

u(x,y)=400xy. donde las expresiones de la derecha de cada ecuacin se obtuvieron de las condiciones de 6.1.2. Ejemplo frontera dadas por (8).

F. Antoine S.

A. Sangiacomo C.

188

Captulo 6

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Resolver el problema de la figura si sabemos por casualidad k=h=1/4, y los valores de frontera estn en la figura:

P4 + 4 P5 P6 = 32 .
P6 wij ; 4 P6 16 P5 14 P8 = 0 ,

P5 + 4 P6 0 P8 = 30 .
P7 wij ; 4 P7 10 12 P3 P9 = 0 ,

P3 0 0 0 + 4 P7 0 P9 = 22 .
P8 wij ; 4 P8 16 10 P6 P 10 = 0 ,

P6 0 + 4 P8 0 P 10 = 26 .
P9 wij ; 4 P9 10 12 P7 8 = 0 ,

P7 0 + 4 P9 = 30 .
P 10 16 10 P 8 8 = 0, 10 wij ; 4 P

P8 0 + 4 P 10 = 34 .

Si usamos directamente los valores de wij para las aproximaciones podemos resolver la ecuacin:
2 u x2 ( x, y ) + 2u y2 ( x, y ) = 0

w1 24 4 1 1 w 24 1 4 0 1 2 w3 12 1 0 4 1 0 0 1 0 1 1 4 1 w4 18 w5 32 0 0 1 4 1 = 0 1 4 0 1 w6 30 w 22 0 1 1 0 0 0 4 7 0 1 0 4 0 1 w8 26 0 1 0 4 0 w9 30 1 0 4 34 w10

Solucin:

4wij wi +1, j wi 1, j wi , j 1 wi , j +1 = 0
P 1 P2 12 12 P 3 = 0, 1 wij ; 4 P

P 1 = 12.3224095858 P2 = 12.7432736829 P3 = 12.5463646602 P4 = 14.6506851458 P5 = 15.3131022400

4P 1 P2 P 3 = 24 .
P2 wij ; 4 P2 12 P 1 12 P4 = 0 ,

P6 = 14.6017238143 P7 = 11.2123639094 P8 = 13.0937930171 P9 = 10.3030909773 P 10 = 11.7734482543

P 1 + 4 P2 0 P4 = 24 .
P3 wij ; 4 P3 P4 12 P 1P 7 = 0,

P 1 0 + 4P 3 P4 0 0 P 7 = 12 .
P4 wij ; 4 P4 P5 P3 P2 18 = 0 ,

P2 P3 + 4 P4 P5 = 18 .
P5 wij ; 4 P5 P6 P4 14 18 = 0 ,
F. Antoine S.

6.1.3. Ejemplo
A. Sangiacomo C.

189

Captulo 6

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

2 u x

( x, y ) + 2

2u y
2

( x, y ) = 0 , (a1)

con las condiciones de frontera


u = u para la frontera izquierda, x

para los siguientes cuatro puntos de la retcula (1), (2), (3) y (4) , creamos otros cuatro puntos subliminales a la izquierda (i) y abajo (j) as:

u = u 2 para la frontera inferior, y

u=5 para la frontera derecha, u=7 para la frontera superior.


(a2)

Con los intervalos de la retcula Para la izquierda el Pi-1 unitarios en ambas direcciones. calculamos su aproximacin:
u x
u ij

=u,

uij ui 1, j h

= ui 1, j = Pi 1

1+ h

= ui 1, j

Pi 1+ h

Solucin: Para abajo el Pj-1 calculamos su aproximacin:


u y

=u2,

uij ui , j 1 k

= ui , j 1 2
= Pj 1 .

u ij + 2 k

1+ k

= ui , j 1

P j +2 k

1+ k

Ello nos lleva a la formulacin de un sistema de la forma:


4 wij wi +1, j wi 1, j wi , j 1 wi , j +1 = 0
P 1 P2 P i 1 7 P 3 =0, 1 wij ; 4 P
1 4P 1 P2 1+ h P 3 = 7,

Figura 5.
Las condiciones en la frontera superior y frontera derecha son valores fijos, obtenemos las ecuaciones en diferencias slo
F. Antoine S.

h=1,

7 P1 2

P2 P3 = 7 ,

P2 wij ; 4 P2 5 P 1 7 P4 = 0 ,

P 1 + 4 P2 0 P4 = 12 .
A. Sangiacomo C.

190

Captulo 6

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

P3 wij ; 4 P3 P4 Pi 1 P 1 Pj 1 = 0 ,

4 P3 P4 1+3h P 1 P 1 + 3P 3 P4 = 1

P3 + 2 k 1+ k

= 0,

wij = wi , j +1 + ( wi 1, j +1 2wi , j +1 + wi +1, j +1)

P4 wij ; 4 P4 5 P3 P2 Pj 1 = 0 ,

Usamos el sistema de manejo fcil dado por: wi 1, j +1 + (2 + 1) wi , j +1 wi +1, j +1= wi , j Con los datos anteriores del ejemplo de pgina 174 de arriba y su frmula resolvemos ahora: j=0, k=0.1; i=1; w01 + (2 + 1) w11 w21= w10 100 + (2 + 1) w11 w21= 0 i=2; w11+ (2 + 1) w21 w31 = 0 i=3; w21 + (2 + 1)w31 w41 = 0 i=4; w31+ (2 + 1) w41 50 = 0 ; Resultando (2 + 1)w11 w21 =100 w11 + (2 + 1) w21 w31= 0 w21 + (2 + 1) w31 w41= 0 w31 + (2 + 1) w41= 50 ; el cual se resuelve por
0 0 w11 100 2 + 1 2 + 1 0 w21 = 0 0 2 + 1 w31 0 0 2 + 1 w41 50 0

4 P4 5 P3 P2

P4 + 2 k 1+ k

= 0,

P2 P3 + 7 P =6 2 4

de donde resulta
7 1 1 w1 7 2 0 1 1 4 w2 = 12 1 0 3 1 w3 1 1 1 7 w4 6 2

= 4.3571428571 P2 = 5.1071428571 P3 = 3.1428571429 P4 = 4.0714285714


P 1

Parablicas Implcitas (atrs) Ejemplo: Dada la barra de aluminio del ejemplo 6.2.2.10 p. 174.

Resolviendo por cualquier mtodo del mercado se tiene w11 = 2.0032691204 , w21 = 0.040532509 , w31 = 0.020869194 , w41 = 1.0016466338 , o sea: T01 = 100; T11 = 2.003; T21 = 0.041;
T31 = 0.021; T41 = 1.002; T51 = 50 Resultados t = 0.2 n =2 100.000 3.930 0.119 0.062 1.965 50.000 Resultados t = 0.3 n =3 100.000 5.780 0.232 0.122 2.890 50.000 Resultados t = 0.4 n =4 100.000 7.559 0.379 0.200 3.780 50.000 Resultados t = 0.5 n =5 100.000 9.271 0.555 0.296 4.636 50.000 Resultados t = 0.6 n =6 100.000 10.918 0.760 0.409 5.460 50.000 Resultados t = 0.7 n =7
A. Sangiacomo C.

la cual se resolver por mtodo implcito. Solucin: , de Usando = gk 2


h

wi , j +1 wij k

=g

wi 1, j +1 2wi , j +1 + wi +1, j +1 h2

despejando tenemos:
F. Antoine S.

191

Captulo 6

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

100.000 12.504 0.991 0.538 Resultados t = 0.8 n =8 100.000 14.031 1.246 0.682 Resultados t = 0.9 n =9 100.000 15.503 1.523 0.840 Resultados t = 1 n =10 100.000 16.921 1.821 1.013

6.254 50.000 7.019 50.000 7.756 50.000 8.467 50.000

f ( x + h) f ( x ) . (3) h Si de esta ltima expresin logramos despeja de alguna manera f(x+h) y f(x) tendremos pues la integral de f (x). f ' ( x)

As, pues si usamos las diferencias finitas y despejamos podremos tener la integral de la EDP. Para

Mtodo Explcito (Adelante)

T ; sus aproximaciones respectit x vas sern: T Ti j +1 Ti j = y t t k


2

2T

2T x 2

j j j Ti 1 2Ti + Ti +1

( x) 2

(4)

Un caso particular para explicar directamente (para ingenieros)


Ecuacin del Calor

T , (1) x 2 t donde k es la caracterstica del material. Nota: para resolver la Ecuacin Diferencial Parcial EDP, necesitamos integrarla; para ello tomamos las diferencias finitas ( f i = f i +1 f i o f ( x) = f ( x + h) f ( x) ) que son un camino para hallar dicha integral o funcin primitiva. Ejemplo: f ( x + h) f ( x ) ; (2) f ' ( x) = Lm h 0 h a esta expresin si slo la aproximamos para un h apropiado sin hacer el paso al lmite, tendremos: k =

2T

Reemplazando en la EDP se tiene j j j Ti Ti j +1 Ti j 1 2Ti + Ti +1 . (5) k = t ( x) 2 Haciendo operaciones elementales y k t , haciendo = ( x) 2 k t j j +1 (T j 2Ti j + Ti + Ti j , 1) = Ti 2 i 1 ( x)
j j j Ti j +1 = Ti j + (Ti 1 2Ti + Ti +1) .

(6)

Ejemplo:

F. Antoine S.

A. Sangiacomo C.

192

Captulo 6

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Particularizando a un problema especifico, podemos decir, que en tiempo cero 0, la j=0, t = 0.1 ; 1 0 0 0 0 temperatura es 0 0 C a toda la barra de 10 i=1; T1 = T1 + (T0 2T1 + T2 ) = 0 + (100 2(0) + 0) = 100 ; cm. Est a temperatura cero o sea 1 Ta = Tb = 0 . i=2; T2 = T20 + (T10 2T20 + T30) = 0 + (0 2(0) + 0) =0; Ahora si la sometemos a temperatura en los extremos de T f .inicial =1000 C

T f . final = 500 C , se ve en la figura:

1 0 0 0 0 y i=3; T3 = T3 + (T2 2T3 + T4 ) = 0 + (0 2(0) + 0) =0;

Para estos materiales particularmente para aluminio tenemos:


L = 10cm

1 i=4; T4 = T40 + (T30 2T40 + T50) = 0 + (0 2(0) + 50) = 50 resultando la temperatura despus t = 0.1 ; T01 = 100; T11 = 2.086; T21 = 0;

de

T31 = 0; T41 = 1.043; T51 = 50

al = 0.49 cal / s cm C
0

c p = 0.2174cal / s 0C

j=1, t = 0.2 ; 1 1 i=1; T12 = T11 + (T0 ) 2T11 + T2 = 100 + (100 2(100 ) + 0) = 200 2002 ; 1 1 1 i=2; T22 = T2 ) + (T11 2T2 + T3

= 2.7 g / cm3
k=

al 0.49cal / s cm 0C = c p 0.2174cal / s cm 0C 2.7 g / cm3

= 0 + (100 2(0) + 0) = 1002 ;


1 1 1 1 i=3; T32 = T3 ) + (T2 2T3 + T4

= 0.83478 k t 0.83478 = = = 0.02086 ( x) 2 22

= 0 + (0 2(0) + 50) = 502 ;


1 1 1 1 i=4; T42 = T4 ) + (T3 2T4 + T5 = 50 + (0 2(50 ) + 50)

t = 0.1 x = 2.0

= 50 502 T02 = 100; T12 = 4.085; T22 = 0.044;

2 2 2 Esta es una discretizacin, en la cual T3 = 0.022; T4 = 2.042; T5 = 50 debemos calcular la temperatura en cada Para este mtodo, explcito, la convergencia se da cuando < 1 punto como se ve en la figura 4 ; debemos tener en cuenta que no es un mtodo estable. Usted debe seguir el proceso hasta llegar el tiempo t=1 segundo.

Mtodo Implcito (Atrs)

Aplicando a la frmula (6) tenemos:


F. Antoine S. A. Sangiacomo C.

193

Captulo 6

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

x 2 vas sern T Ti j +1 Ti j = t t 2T x
2

2T

1 1 T3 + (2 + 1)T4 = 50 ; T ; sus aproximaciones respectiel cual se resuelve por t

y ,

j +1 j +1 j +1 Ti + Ti + 1 2Ti 1

0 0 T11 100 2 + 1 1 2 + 1 0 T2 = 0 1 0 0 2 + 1 T3 1 0 2 + 1 0 T4 50

( x)

(7) Resolviendo por cualquier mtodo del mercado se tiene T11 = 2.0032691204 ,
1 T2 = 0.040532509 ,

1 T3 = 0.020869194 ,
1 T4 = 1.0016466338 , o sea: T01 = 100; T11 = 2.003; T21 = 0.041;

Reemplazando en la EDP se tiene j +1 j +1 j +1 T31 = 0.021; T41 = 1.002; T51 = 50 Ti + Ti + Ti j +1 Ti j 1 2Ti 1 . (8) k = t ( x) 2 Mtodo de Crank - Nicolson (Semi suma) Haciendo operaciones elementales y k t , haciendo = Ti j1 2Ti j + Ti +j1 1 2 + ( x) 2 k( ( x) 2 k t . (10) j +1 j +1 +1 +1 (T j +1 2Ti j +1 + Ti + Ti j , Ti j1 Ti j +1 Ti j 2Ti j +1 + Ti +j1 1 ) = Ti 2 i 1 )= + ( x) t ( x) 2 j j +1 j +1 j +1 j +1 Ti = Ti + (Ti 1 2Ti + Ti +1 ) . (9) Haciendo operaciones elementales y Usamos el sistema de manejo fcil dado por: k t , haciendo = j +1 j +1 j +1 j Ti + ( 2 + 1 ) T T = T . (9) i i ( x) 2 1 i +1 Con los datos anteriores del ejemplo de 2T j +1 2T j = (T j 2T j + T j ) i i i 1 i i +1 arriba y la frmula (9), resolvemos ahora: j +1 +1 + (Ti 1 2Ti j +1 + Ti +j1 ) j=0, t = 0.1 ; Acomodando 1 1 i=1; T0 + (2 + 1)T11 T2 = T10 +1 2( 1)Ti j = Ti j1 + Ti +j1 + Ti +j1 1 1 , 100 + (2 + 1)T1 T2 = 0 j +1 j +1 2 ( + 1 ) T + T i i + 1 1 1 i=2; T11 + (2 + 1)T2 T3 =0 (11) 1 1 1 o tambin i=3; T2 + (2 + 1)T3 T4 = 0 +1 +1 Ti j1 + (2 + 1)Ti j +1 Ti +j1 = 1 1 i=4; T3 + (2 + 1)T4 50 = 0 ; , j j j = T + ( 1 2 ) T + T i 1 i i +1 Resultando (12) 1 1 (2 + 1)T1 T2 =100
1 1 T11 + (2 + 1)T2 T3 =0 1 1 1 T2 + (2 + 1)T3 T4 =0
F. Antoine S.

Resolviendo el ejemplo de arriba se tiene: j=0, t = 0.1 ;


A. Sangiacomo C.

194

Captulo 6

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

i=1;

T01 + (2 + 1)T11 T21 = = T00 + (1 2 )T10 + T20

, ,

100 + (2 + 1)T11 T21 = = 100 + (1 2 )0 + 0


1 (2 + 1)T11 T2 = 200 T11 + (2 + 1)T21 T31 =

i=2;

= 0 + (1 2 )0 + 0
1 1 T11 + (2 + 1)T2 T3 =0

1 1 1 i=3; T2 + (2 + 1)T3 T4 =0 1 1 i=4; T3 + (2 + 1)T4 = 100 ; Resultando 0 0 T11 200 2 + 1 1 2 + 1 0 T2 = 0 1 0 0 2 + 1 T3 1 0 2 + 1 T4 100 0

y T11 = 4.006256 ,
1 T2 = 0.082536 ,

1 T3 = 0.042210 ,
1 T4 = 2.003141 , o sea: T01 = 100; T11 = 4.006; T21 = 0.083;

T31 = 0.042; T41 = 2.003; T51 = 50

F. Antoine S.

A. Sangiacomo C.

195

Captulo 7

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

o complejos; x = ( x1 , x2 ,..., xn ) . A la expresin

CAPTULO 7

I = I [ y ( x)]

se llama funcional (real o complejo) de la funcin y ( x) Objetivo: Es estudiar los mtodos variacionales para la solucin (funcin de una funcin) si se le de una ecuacin diferencial con valor de frontera. asocia a cada funcin y ( x) K , de forma unvoca, un nmero I 7.0. MTODOS VARIACIONA- (real o complejo). LES PARA LA RESOLUCIN DE El conjunto K = { y ( x)} para el PROBLEMAS DE CON- que est definido el funcional en cuestin se llama dominio de DICIONES DE FRONTERA definicin del funcional, 7.1. Concepto de Funcional y de mientras que a las funciones en si se les conoce con el nombre de Operador funciones admisibles. En el presente captulo se definen los conceptos de funcional y de 7.1.3. Ejemplo operador slo para funciones. En general se puede definir para Sea K = { y ( x)} el conjunto de conjuntos generales de todas las funciones reales y elementos, cosa que no haremos diferenciable en el punto x = 0 . A la expresin aqu.
d 7.1.1. Definicin k = [ y ( x)] x = 0 = y (0) dx Dado un conjunto K = { y ( x)} de funciones y ( x) de las variables independientes x. En donde x es se le puede consideran como un nmero real o complejo o el funcional de y ( x ) , el cual est conjunto de n componentes reales definida en el conjunto K, luego a cada funcin de K se le asocia de
F. Antoine S. A. Sangiacomo C.

193

Captulo 7

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

forma unvoca un nmero real, a saber, el valor de y(0) de su derivada en el punto x = 0 . 7.1.4. Ejemplo Considere el conjunto de todas las funciones y ( x) continuas y diferenciable en el intervalo [a, b] o dicho de otra forma, y ( x) C 1[a, b] . La longitud de arco s de la curva y = y ( x ) entre los puntos (a, y (a )) y (b, y (b)) , es una funcional de y ( x) en el conjunto C 1[a, b] . Este funcional se puede expresar por la frmula

b Figura 1. En la figura se ve como la longitud de arco es una funcin creciente. 7.1.5. Ejemplo

Sea K el conjunto de todas las funciones no negativas z = f ( x, y ) , que en un dominio cerrado G son b s = 1 + y 2 dx . continuas y que en la frontera a de ese dominio, son cero. Una O sea, s es una funcin creciente, representacin de este volumen pues, a medida que x se aleja de es a, crece la longitud de arco.
V = f ( x, y )dxdy
G

y es un funcional de f ( x, y ) .

a
F. Antoine S. A. Sangiacomo C.

194

Captulo 7

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

El funcional I = I [ y ] se llama lineal si est definido en un conjunto K de funciones lineales y si para dos funciones admisibles cualesquiera u y v se cumple la expresin
I [u + v] = I [u ] + I [v] .

Figura 2. 7.1.6. Definicin Un conjunto K de funciones se llama lineal si con dos funciones cualesquiera u , v K tanto su suma u + v K , como el producto u K , donde es una constante cualquiera (real o compleja). 7.1.7. Ejemplo Son conjuntos K de funciones lineales: a) El conjunto de todos los polinomios. b) El conjunto de todas las funciones continuas. c) El conjunto de todas las funciones que son cero en la frontera de un dominio. 7.1.8. Definicin
F. Antoine S.

En donde y son constante cualesquiera. 7.1.9. Ejemplo El funcional considerado en el ejemplo 7.1.3
k=

= y(0) , es lineal.

d [ y ( x)] x = 0 dx

7.1.10. Definicin En el conjunto K = { y ( x)} est definido un operador L si a cada funcin y ( x) K se le asocia por medio de L, de forma unvoca, una funcin z = z ( x) . (La funcin z puede tambin depender de una de las otras variables t = (t1 , t 2 ,..., t m )). Esta asociacin entre funciones se expresa simblicamente como L( y ) . z = Ly o El conjunto K de todas las funciones y = y ( x) , en el que el operador L est definido, se le
A. Sangiacomo C.

195

Captulo 7

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

llama dominio de definicin de este operador, y a las funciones y K se les llaman funciones admisibles. 7.1.11. Ejemplo

(operador diferencial lineal) con los valores z C[ a, b] . Si consideramos, por ejemplo, al operador definido por

L( y ) = y ' '+ y ,

Sea K = { y ( x)} el conjunto de entonces es: todas las funciones derivables. d L(1) = 0 + 1 = 1 , , o la Entonces la operacin dx L( x) = 0 + x = x , determinacin de la derivada, es L ( x 2 ) = 2 + x 2 , L ( e x ) = 2e x , un operador (llamado operador L ( sin ( x )) = 0 . diferencial): Por medio del operador diferencial lineal L podemos escribir la ecuacin diferencial de orden n ordinaria, lineal, no y ( x ) Si en general las funciones homognea y general, en forma [ a , b ] en el intervalo son abreviada, como sigue: continuamente derivables sucesivamente n veces, esto es, Ly = f ( x ) . (2) n y C [a, b] , entonces el operador En donde L es un operador de la L es del tipo forma (1), f ( x ) es una funcin z = Ly = p0 ( x) y ( n ) + p1 ( x) y ( n 1) + ... continua dada y y la solucin ... + p ( x ) y + p ( x) , (1) buscada.
d y( x) = y ( x) . dx
n 1 n

donde los coeficientes son 7.1.12. Ejemplo funciones continuas pi C[a, b] . Consideremos el conjunto Esto es, un operador definido en K = { u ( x, y )} de todas las n K = C [ a, b] un conjunto funciones u C 2 (G ) , en donde G
F. Antoine S. A. Sangiacomo C.

196

Captulo 7

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

es un dominio dado. asociacin definida por frmula

La combinaciones lineales u + v la una funcin admisible, con y constantes cualesquiera), y por 2 2 u u consiguiente se cumple las + u = 2 2 , y x condiciones: entre u y u es un operador 1. L (u ) = Lu , definido (operador de Laplace ) en el conjunto K. Si ponemos u igual a una funcin conocida 2. L(u + v ) = Lu + Lv . f ( x, y ) , obtenemos entonces la ecuacin diferencial de Poisson De ah resulta la expresin
u = f ( x , y ) .
(3)

L(u + v) = Lu + Lv

Si en particular f ( x, y ) es para y constantes idnticamente cero, obtenemos cualesquiera. entonces la ecuacin diferencial Como se ve fcilmente, que los de Laplace

u = 0 .

(4)

operadores

d , dx

considerado en los ejemplos Por consiguiente, podemos anteriores, son lineales. considerar a las ecuaciones diferenciales, tanto ordinarias 7.1.14. Ejemplo como en derivadas parciales, desde un punto de vista general, El operador L definido mediante como ecuaciones de operador. Ly = y 2 7.1.13. Definicin Un operador se llama lineal si l no es lineal. esta definido en un conjunto En efecto, tenemos lo siguiente: lineal (es decir, con dos funciones admisibles u y v, es tambin cada una de sus
F. Antoine S. A. Sangiacomo C.

197

Captulo 7

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

L(u + v) = (u + v) 2

debe

resultar

Lu + Lv = u 2 + v 2

cualesquiera u y v se cumple la expresin

pero claramente se ve que resulta o


L(u + v) = (u + v) = u + v + 2uv ,
2 2 2

uLv d = vLu d
( Lu , v) = (u, Lv) .

(5) en general uv tiene diversos valores y no siempre es cero. Si adems para cada funcin admisible u se cumple la Sea K el conjunto de todas las desigualdad funciones u continua y reales en ( Lu , u ) 0 , el dominio . Si ahora es u K y v K , al nmero con lo cual es vlida, entonces y slo entonces, la igualdad (u , v) = uv d ,

( Lu , u ) = 0 , se llama producto escalar de las funciones u y v. Se deja ver u = 0, se cumple cuando claramente que (u , v) = (v, u ) . entonces al operador L se la llama positivo. 7.1.15. Definicin
Sea { u} un conjunto de funciones lineales, continuas y definidas en un dominio . En este conjunto de funciones, sea definido un operador L lineal cuyos valores sean igualmente funciones continuas definidas en el dominio . Un operador lineal cualquiera se llama simtrico (autoadjunto) si para dos funciones admisibles 7.1.16. Ejemplo Consideremos definido por
Ly = y ,

al

operador

en el conjunto de todas las y C 2 [0,1] , siendo funciones y (0) = 0 y y (1) = 0 .


A. Sangiacomo C.

F. Antoine S.

198

Captulo 7

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Solucin: Si u y v son dos funciones admisibles, obtenemos entonces Con sta teora dada lneas arriba podemos entrar al problema 1 1 (vLu uLv )dx = (vu + uv)dx variacional.

Y deja notar que el operador L es tambin positivo.

= (uv vu ) 0 = 0 .

7.2. Problema Variacional Sea dado el funcional


I = I [ y ( x)] ,
(1)

Luego es

vLudx = (uLv )dx ,


0

es decir,
( Lu , v) = (u , Lv ) .

Y por consiguiente L es un operador simtrico. Si consideramos que u = 0 , en virtud de las condiciones de contorno dadas, es la nica funcin admisible con u = 0 , obtenemos entonces para u 0 , adems
( Lu , u ) =
1 0

uLudx = (uu )dx


0
1 0

= uu

+ (u 2 )dx > 0
0

del cual; suponemos que est definido en un conjunto K = { y ( x)} de funciones determinadas. Al problema de determinar el extremo del funcional (1) se le llama problema variacional. Algo ms exacto se formula, como sigue, el problema variacional. Bsquese una funcin y = y ( x) K de forma que para todas las funciones admisibles y = y ( x) que se diferencien muy poco de la funcin y ( x ) se cumpla la desigualdad

( Lu , u ) = 0 ,

I [ y] I [ y ] ,
en caso de un mnimo, o
I [ y] I [ y ] ,

para u = 0 .

F. Antoine S.

A. Sangiacomo C.

199

Captulo 7

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

en caso de un mximo. Observemos que puede explicarse el concepto de la diferencia entre las funciones y y y de forma diferente. 7.2.1. Ejemplo Consideremos el problema siguiente: a partir del conjunto de las curvas correspondientes a funciones lisas o regulares y = y ( x ) , que pasan por los N (b, B) , puntos M (a, A) y determnese la curva de longitud de arco ms pequea.

Figura 3. Solucin: Este problema conduce a la determinacin de un mnimo del funcional


s=
b a

1 + y 2 dx ,

para las funciones y = y ( x) de la


1 clase C [a, b] , siendo

y (a) = A y

y (b) = B .

Por consideraciones geomtricas, es evidente que la solucin buscada es la recta


y = A+ BA ( x a) . ba

Por eso se cumple que


smn = (b a ) 2 + ( B A) 2 .

7.3. Teorema Fundamental del Mtodo Variacional para la Resolucin de los Problemas de Condiciones de Frontera b
F. Antoine S. A. Sangiacomo C.

200

Captulo 7

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Dado en el dominio G con una ecuacin frontera diferencial lineal (ordinaria o en derivadas parciales), siendo los coeficientes funciones continuas. Bsquese una solucin y de esta ecuacin diferencial, la cual satisfaga en la curva de contorno (en la frontera) las condiciones de contorno lineales dados. Al primer miembro de la ecuacin diferencial lo podemos considerar como un operador lineal L aplicado a la funcin y, por lo cual L est definido en un conjunto K de funciones, cuyos elementos tienen derivadas sucesivas del orden exigido en G + y que satisfacen adems en las condiciones de contorno dadas. Por consiguiente, nuestro problema de las condiciones de contorno conduce a la solucin de la ecuacin de operador

por consiguiente, en la frontera las condiciones de contorno

R[ y ] = 0 ,

(2)

R es un funcional lineal dado o un operador deferencia lineal de orden inferior al de L. El problema de las condiciones de contorno o frontera no homogneas
Ly = f ( P ) ,

siendo la condicin de contorno

R[ y ] = ( P ) para P ,

(3)

en donde ( P ) es una funcin conocida, pueden transformarse en un problema de condiciones de contorno homogneas. Para tal fin necesitamos introducir mediante

Ly = f ( P ) ,

(1)

y = z + y1
una nueva funcin desconocida z, siendo y1 una funcin lisa que satisfaga la condicin de contorno (3):
R[ y1 ] = ( P) .
A. Sangiacomo C.

en donde P es el conjunto de variable independientes y f ( P) es una funcin conocida (que nosotros consideramos como continuas). La funcin y pertenece a la clase K y satisface,

F. Antoine S.

201

Captulo 7

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Empecemos con los teoremas De las frmulas (1) y (3) importantes. obtenemos 7.3.1. Teorema 1: Sea L un operador positivo, lineal Lz = f ( P ) Ly1 y simtrico definido en el y conjunto K. La ecuacin de R[ z ] = 0 . operador (1) con la condicin de La funcin y1 , en general, puede contorno (2) tiene a lo sumo una solucin en el conjunto K: es indentificarse fcilmente. decir, si existe una solucin del La idea fundamental del mtodo problema de las condiciones de variacional, expuesto en nuestro contorno (1), (2), sa es nica. caso, consiste en sustituir el problema de las condiciones de Prueba: contorno (1) y (2), por un Supongamos que el teorema 7.3.1 problema equivalente al de la no sea correcto y que el problema determinacin de un extremo de las condiciones de contorno (normalmente mnimo) para un funcional determinado. El tenga dos soluciones y1 y y2 , es mtodo variacional para la decir, que se cumpla resolucin de problemas de las Ly1 = f ( P) , R[ y1 ] = 0 , (4) condiciones de contorno encontr una gran difusin despus que el y matemtico alemn Ritz en el ao Ly 2 = f ( P ) , R[ y2 ] = 0 . (5) 1908 propusiera un procedimiento cmodo para Restando las anteriores resolver de forma aproximada el ecuaciones (4) y (5) obtenemos problema variacional. El mtodo de Ritz se tratar ms adelante Ly1 Ly 2 = L( y1 y2 ) = 0 , (aunque ya dimos una forma en y R[ y1 y2 ] = 0 , (6) el mtodo de Rayleigh-Ritz visto en el anterior captulo 4). es decir,
( y1 y2 ) K .
F. Antoine S. A. Sangiacomo C.

202

Captulo 7

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

homogneas tiene la solucin y , El producto escalar de la primera el funcional F [ y ] toma para ecuacin de (6), por la diferencia y = y un mnimo. Si por el ( y1 y2 ) , resulta contrario, en el conjunto K existe una funcin y , para la cual el ( L( y1 y2 ), ( y1 y2 )) = 0 . (7) funcional (8) toma un mnimo, entonces esta funcin es la como se ha supuesto que el solucin de la ecuacin (1). operador L es positivo en el conjunto K y la funcin y1 y2 Prueba: pertenece a K, resulta de la Primera forma: Sea la funcin y , una solucin frmula (7) que del problema de las condiciones ( y1 y2 ) = 0 , de contorno (1) y (2), es decir, que se cumple que es decir, y1 = y2 , que es lo que R[ y ] = 0 . Ly = f ( P ) y queramos probar. Si sustituimos ahora en la 7.3.2. Teorema Sean L un operador positivo, frmula (8) f ( P ) por Ly , simtrico y definido en el obtenemos entonces conjunto K, y F [ y ] un funcional F [ y ] = ( Ly , y ) 2( Ly , y ) . (9) de la forma

F[ y] = ( Ly, y) 2( f , y)
= ( Ly 2 f ) yd .
(8)

En virtud de la simetra del operador L, resulta


( Ly , y ) = ( y , Ly ) = ( Ly , y ) .

Aqu, f = f ( P ) es el segundo Por tanto es miembro de la ecuacin (1). Si el problema de las condiciones F [ y ] = ( Ly , y ) ( y , Ly ) ( Ly , y ) de contorno (1) y (2), con condiciones de contorno = ( Ly, y y ) [( Ly, y) ( Ly , y )] ( Ly , y )
F. Antoine S. A. Sangiacomo C.

203

Captulo 7

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

mnimo del funcional F [ y ] est = ( Ly , y y ) ( Ly , y y ) ( Ly , y ) dado por la expresin siguiente:


= ( L( y y ), ( y y )) ( Ly , y ) .
(10)

Fmn [ y ] = F [ y ] = ( Ly , y ) .

En el miembro derecho de la ecuacin (10) slo el primer sumando es variable. Evidentemente, y y pertenece a K. De Ah obtenemos, en virtud de que el operador L es positivo,
( L ( y y ), ( y y )) 0 .

Segunda forma: Supongamos que existe una funcin y del conjunto K para la cual el funcional (9) toma un mnimo. Esto significa que para cualquier funcin y1 K de un entorno pequeo de y se cumple la desigualdad

F [ y1 ] F [ y ] 0 . Por consiguiente, el funcional F [ y ] toma su valor mnimo para Pongamos ahora aquellas funciones admisibles, y slo para sas, para las que se q = ( y1 y ) K cumple que

( L( y y ), ( y y )) = 0 .

y consideremos el grupo de funciones


y = y + q ,
(11)

De ah obtenemos, en virtud de la definicin del operador positivo


( y y) = 0 ,

es decir,
y= y.

en donde es un nmero real. Evidentemente, la funcin y es admisible para cualquier valor de , y para valores suficientemente pequeos de se cumple la desigualdad
F = F [ y ] F [ y ] 0 .
A. Sangiacomo C.

De la ecuacin (10) podemos todava deducir que el valor


F. Antoine S.

204

Captulo 7

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

( Ly f , q ) = 0 .

Segn la ecuacin (8), obtenemos


F = ( Ly, y ) 2( f , y ) ( Ly , y ) + 2( f , y )

Por consiguiente, funcin q K es

para

toda

= ( Ly , y ) 2( Ly , y ) + 2( Ly f , y )

y luego Ly f = 0 , = ( Ly, y) 2( Ly , y) + 2( Ly f , y y ) + ( Ly , y ) 0 . (12) es decir, Ly = f . De ah resulta, si empleamos la transformacin (10) y la ecuacin Esto significa que y es una (11). solucin de nuestro problema de F = ( L( y y ), ( y y )) ( Ly , y ) las condiciones de contorno.
+ 2( Ly f , y y ) + ( Ly , y )

2( L y f , y ) + ( L y , y )

( L y f , q ) d = 0 ,

(14)

7.4. Transformacin del 2 ( Lq, q ) + 2 ( Ly f , q) 0 . (13) Problema de Condiciones de Contorno Lineal para una El miembro izquierda de la Ecuacin Diferencial Ordinaria desigualdad (13) es un trinomio de Segundo Orden en un de segundo grado con respecto al Problema Variacional parmetro , el cual debido a (13) no cambia su signo. En Consideremos la ecuacin consecuencia, la ecuacin de diferencial ordinaria segundo grado correspondiente no tiene races reales, es decir, y ' '+ P( x) y + Q( x) y = h( x) , (1) tiene un discriminante negativo
( Ly f , q ) 2 ( Lq, q ) 0 0 .

con las condiciones de contorno lineales


1 y (a ) + y (a ) = A ,
A. Sangiacomo C.

De ah tenemos

F. Antoine S.

205

Captulo 7

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

q( x) = p( x)Q( x) , Supongamos que las funciones f ( x) = p( x)h( x) . P( x) , Q( x) y h( x) son continuas en el intervalo [a, b] . Supongamos Una ecuacin diferencial de segundo orden de la forma (4) se que tambin se cumple que llama autoadjunta. Si 1 + 0 y 1 + 0 . introducirnos el operador lineal
p ( x) > 0 ,

1 y (b) + y (b) = B .

(2)

Transformamos la ecuacin (1) Ly = [ p ( x) y] q ( x) y , dx en su forma especial, en la llamada forma autoadjunta. Con este fin, multipliquemos todos obtenemos sus trminos por el factor Ly = f ( x ) , positivo
p ( x) = e a
x

(5)

(6)

en donde p ( x) , p( x) , q( x) y f ( x) son funciones continuas en Obtenemos el intervalo [a, b] . Consideremos en primer lugar el p ( x) y + p ( x) P ( x) y + p ( x )Q( x) y caso en que las condiciones de = p ( x ) h( x ) . (3) frontera (2) sean homogneas, es decir, que Teniendo en cuanta la expresin 1 y ( a ) + y ( a ) = 0 , .
p( x) = e a
x

P ( x ) dx

P ( x ) dx

P( x) = p ( x) P( x) ,

1 y (b) + y (b) = 0 .

(7)

la ecuacin (3) la podemos siendo expresar como


d [ p( x) y ] + q( x) y = f ( x) . dx

1 + 0
(4)

1 + 0 .

Aqu se cumple que


F. Antoine S.

Supongamos que 1 > 0 y 1 > 0 . Entonces podemos demostrar,


A. Sangiacomo C.

206

Captulo 7

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

teniendo en cuenta esas suposiciones, que el operador L es autoadjunto en la clase K = { y} de funciones, si entendemos por K a la clase y C 2 [a, b] de funciones derivables sucesivamente dos veces en el intervalo [a, b] , las cuales satisfacen en los extremos del intervalo x = a y x = b las condiciones de frontera (7). Sean u y v dos funciones de K. Entonces se cumple, en virtud de la frmula (5), que
( Lu , v) ( Lv, u ) =
b a

Las funciones u ( x) y v( x) satisfacen las condiciones de frontera homogneas

1u (a ) + u (a ) = 0 , a1v(a) + v(a ) = 0 .
Siendo 1 0 consecuencia es
u (a) =

0 . En

u (a) , v(a) = v(a) 1 1

o
u (a) =

d v ( p( x)u ) q ( x)u dx

1 u (a ) , v(a ) = 1 v(a) .

Tenemos entonces que se cumple


w(a) = 0 .

d + u ( p ( x)v) q ( x)v dx dx
=
b a

[ p ( x)(uv vu) + p( x)(uv vu)]dx

Anlogamente, se puede sealar que


w(b) = 0 .

b a

d [ p ( x)(uv vu )]dx dx
b a

= p ( x)(uv vu )

Por consiguiente resulta de la ecuacin (8) que ( Lu , v) ( Lv, u ) = 0 , es decir,


(8)

= p (b) w(b) p(a ) w(a ) .

Con
w( x) = u ( x) v( x) . u ( x) v( x)
(9)

( Lu , v) = ( Lv, u ) .
La ltima ecuacin nos indica que el operador L es simtrico.
A. Sangiacomo C.

F. Antoine S.

207

Captulo 7

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

A continuacin estudiaremos las condiciones para que el operador L sea positivo. Para las funciones y K se cumple

Consiguientemente, el problema de las condiciones de frontera (6) y (7), si se cumplen las desigualdades (12) y (14), es equivalente, segn el teorema b d 7.3.2 al de la determinacin de un ( Ly, y ) = [ p ( x) y] q ( x) y ydx . a dx mnimo para el funcional
(10)

F [ y ] = ( Ly , y ) + 2( f , y ) , (15) Si integramos por partes el primer trmino de la ecuacin en la clase K de funciones. Si (10) resulta empleamos la ecuacin (11) resulta que b
( Ly , y ) = p ( x) y y
b a

[ p( x) y 2 q( x) y 2 ]dx .

F [ y ] = p(a) y (a) y(a) p(b) y (b) y(b) (11)

a p ( x) > 0 , resulta de Ya que (11), que el operador L es positivo si se cumplen las En particular, para condiciones 1 > 0 resulta que

[ p ( x) y 2 q ( x) y 2 + 2 f ( x) y ]dx .
(16)

1 > 0

q ( x) 0 para a x b ,

(12)
(13)

F ( y) =

y (a ) y ( a ) 0 , y (b) y(b) 0 .

p(a ) y 2 (a ) + p (b) y 2 (b) 1 1

b a

[ p ( x) y2 q ( x) y 2 + 2 f ( x) y ]dx .
(17)

Dado por supuesto que 1 0 y 1 0 , en virtud de las condiciones de frontera (7), la desigualdad (13) es equivalente a las dos desigualdades

0,
F. Antoine S.

0.

(14)

Una expresin anloga se obtiene tambin en los otros casos. Volvamos ahora al problema de las condiciones de frontera (6), siendo las condiciones frontera (2) no homogneas. Para eso supongamos que las
A. Sangiacomo C.

208

Captulo 7

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

desigualdades (12) y (14) se cumplen. En la clase K1 de las funciones que satisfacen las condiciones de frontera (2) el operador L es en general positivo y no simtrico. Por este motivo no podemos emplear aqu directamente el teorema 7.3.2 dado anteriormente. Sea z = z ( x) una funcin de clase C 2 [a, b] , que satisfaga las condiciones frontera (2), es decir, que se cumpla que
1 z (a ) + z (a ) = A ,
1 z (b) + z (b) = B .
(18)

y la ecuacin diferencial
Lu = Ly Lz ,

es decir

Lu = f ( x ) Lz .

(21)

En consecuencia, la funcin u pertenece a K. El operador L es simtrico y positivo en la clase K de funciones. En consecuencia, la solucin u del problema de las condiciones de frontera (2), (21) proporciona segn el teorema 7.3.2, un mnimo al funcional
F [u ] = ( Lu , u ) + 2( f ( x) + Lz , u ) .

Sea y la solucin del problema de condiciones de frontera (6), (2) e De ah obtenemos, por ecuacin induzcamos una funcin nueva (11), u = u ( x) que est definida F [u ] = p (a)u (a )u (a) p (b)u (b)u (b) mediante

u = yz.

(19)

b a

[ p ( x)u 2 q( x)u 2 + 2( f ( x) + Lz )u ]dx . (22)

Esta funcin u satisface las condiciones de frontera De (19) podemos deducir que la homogneas solucin y del problema de las condiciones de frontera (6), (2) 1 z (a ) + z (a ) = 0 , proporcionan un mnimo al funcional siguiente 1 z (b) + z (b) = 0 , (20)
F1[ y ] = p(a )[ y (a) z (a )][ y(a ) z (a )]
A. Sangiacomo C.

F. Antoine S.

209

Captulo 7

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

p(b)[ y (b) z (b)][ y(b) z (b)]


+
b a

[ p( x)( y z ) 2 q( x)( y z ) 2
+ 2( f ( x ) + Lz )( y z )]dx

Sustituyendo esta expresin en (23), obtenemos entonces por transformaciones elementales


F1[ y ] = p (a )[ y ( a ) z ( a )][ y ( a ) z (a )]

= p ( a )[ y (a ) z ( a )][ y(a ) z (a )]

p (b)[ y (b) z (b)][ y(b) z (b)]


+
b a

p(b)[ y (b) z (b)][ y(b) z (b)]


+ +
+ 2
b a

b a

[ p( x) y q( x) y + 2 f ( x) y ]dx
2 2

[ p( x) y 2 q( x) y 2 + 2 f ( x) y ]dx
b a

[ p ( x) z 2 q ( x) z 2 + 2 f ( x) z ]dx

[ p ( x) z 2 q ( x) z 2 + 2 f ( x) z ]dx .
(24)

b a

[ p ( x) y z + q ( x) yz + ( y z ) Lz ]dx .
(23)

Sean 1 > 0 y 1 > 0 . Usando las condiciones frontera (2) nos resulta
y(a ) = A y (a)

Por integracin obtenemos

por

partes

1
B y (b)

, z (a) =
z (b) =

A z (a)

a ( y z) Lzdx =
d = ( y z ) ( p( x) z '+ q( x) z dx a dx
b

y
y(b) =

B z (b)

Luego resulta
= ( y z ) p ( x ) z
b a

b a

+ [ p ( x) z ( y z ) q( x) z ( y z )]dx
= p(a)[ y (a ) z (a)]z (a)

F1[ y ] =

+
b a

p(a)

1
1

[2 Ay (a) y 2 (a )]

p(b)

[2 By (b) y 2 (b)]

p(b)[ y (b) z (b)]z (b)


+
b a

[ p( x) y2 q( x) y 2 + 2 f ( x) y ]dx

[ p ( x) z ( y z ) q ( x) z ( y z )]dx .

p(a) [2 Az (a ) z 2 (a )] 1 p (b) [2 Bz (b) z 2 (b)]

F. Antoine S.

A. Sangiacomo C.

210

Captulo 7

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

b a

a) [ p ( x) z 2 q ( x) z 2 + 2 f ( x) z ]dx .

(25)

Si 1 = 0 y 1 0 se deduce el funcional siguiente


A

y (a ) = z (a ) = . Ya que los trminos existentes entre las llaves {} de la ecuacin (25) son constantes y no Tomando la ecuacin (24) se dependen de la funcin y, desprende que para h[ y ] puede podemos considerar, en lugar del tomarse el funcional funcional F1[ y ] , el funcional siguiente p (b) 2
h[ y ] = p(a)

[2 Ay (a) y 2 (a)]

h[ y ] =
b a

[2 By (b) y (b)]

p(b)

[2 By (b) y (b)]
2

+
b)

[ p ( x) y 2 q ( x) y 2 + 2 f ( x) y ]dx .

b a

[ p ( x) y 2 q( x) y 2 + 2 f ( x) y ]dx . (26)

Por tanto, el problema de las condiciones de frontera (6) y (2) con condiciones de frontera no homogneas, teniendo en cuenta la suposicin de que se cumplen las desigualdades (12) y (14), es equivalente al problema variacional para el funcional (25) en la clase K1 de funciones, en donde los elementos de K1 satisfacen las condiciones de frontera (contorno) prefijadas.

De forma parecida, puede demostrarse que en el caso en que Si 1 = 0 y 1 = 0 se cumple


b a

h[ y ] =

[ p( x) y2 q( x) y 2 + 2 f ( x) y ]dx

. Nota: Para darse una idea prctica del manejo de esta teora muy importante, ver los problemas resueltos por el mtodo de Rayleigh-Ritz al final del captulo 4 (en el 4.4).

7.5. Problemas de las 7.4.1. Casos particulares: A manera de observacin Condiciones de Frontera (Contorno) para la Ecuacin tenemos los dos casos:

F. Antoine S.

A. Sangiacomo C.

211

Captulo 7

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Diferencial de Poisson y de homogneas (1), (3). Con este fin Laplace sealemos que el operador Sea dada la EDP de Poisson
u = f ( x , y ) ,
(1)

Lu = u
es simtrico y positivo en la clase de funciones f C 2 (G ) , las cuales son cero en la frontera . A esta clase de funciones las designamos por K = { u ( x, y )} . Sea u K y v K . Formando la expresin
2 u 2 u ( Lu , v) ( Lv, u ) = v( 2 + ) x y2 G

en donde
u = 2 u x2 + 2 u y2

f ( x, y ) C (G ) .

Bsquese una solucin continua en el dominio cerrado G = G + 2 v 2 v + u( 2 + ) dxdy de la ecuacin diferencial (1) que x y2 se satisface en la frontera de u v u v x (u x v x ) + y (u y v y ) dxdy ese dominio, la condicin de = G contorno Con el auxilio de la frmula de u = ( P) , (2) Green
Q P en donde P es el punto ( x, y ) y ( Pdx + Qdy) = G x y dxdy ( P ) una funcin continua prefijada. Consideremos obtenemos, empleando las primeramente el caso ( P) = 0 , es condiciones de frontera decir (contorno) homogneas,

u = 0,

(3)

u = 0, v = 0

y resolvamos el problema de las condiciones de frontera la expresin


F. Antoine S. A. Sangiacomo C.

212

Captulo 7

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

v u ( Lu , v) ( Lv, u ) = (u )dx v x x u v v + (u )dy y y

pero

(u y dx + u x dy ) = 0 ,

quedndonos
u 2 u 2 dxdy , ( Lu , u ) = + y x G (5)

= 0.

(4)

En consecuencia se cumple que


( Lu , v) = ( Lv, u ) .

es decir,

Esto significa que el operador L es simtrico. Si ( Lu, u ) = 0 , resulta de (5) la Ahora tenemos que demostrar expresin que el operador L es positivo. Para ello se tiene que cumplir que u u = = 0.
2 u 2 u ( Lu , u ) = u ( 2 + ) dxdy 2 x y G
u u (u )+ (u ) dxdy = x x y y G

( Lu , u ) = ( u , u ) 0 .

u 2 u 2 + + y dxdy . x G

Si empleamos la primera de la frmula de obtenemos, en virtud condiciones de frontera funcin u


( Lu , u ) = (u

integral Green, de las para la

u u dx + u dy ) x y

u 2 u 2 + + y dxdy , x G
F. Antoine S.

De ah se obtiene u ( x, y ) = c , y en virtud de la condicin de frontera u ( x, y ) = 0 . (3) resulta En consecuencia, el operador L es tambin positivo. Por tanto, se cumplen para el problema de las condiciones de frontera (1) con las condiciones homogneas (2) las suposiciones del anterior teorema 7.3.2. En consecuencia, este problema de las condiciones de frontera (contorno) es equivalente al problema variacional para el funcional
F [u ] = ( Lu , u ) 2(u , f )
(6)

A. Sangiacomo C.

213

Captulo 7

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

en la clase de funciones K definidas anteriormente. Segn la y es una solucin de la ecuacin frmula (5), obtenemos diferencial
u 2 u 2 F [u ] = + 2 fu dxdy . x y G (7)

Lv = Lu Lz = f ( P ) Lz . (10)

Volvamos al problema de las condiciones de frontera (1) con las condiciones de frontera no homogneas (2). Sea K1 = { u ( x, y )} la clase de funciones u C 2 (G + ) , cuyos elementos satisfacen las condiciones de frontera (2). Con lo visto anteriormente, construyamos en primer lugar una funcin z = z ( x, y ) C 2 (G + ) , que satisfaga las condiciones de frontera. Para ello introduzcamos la funcin
v( x, y ) = u ( x, y ) z ( x, y ) , (8)

Aqu Lz = z es una funcin conocida. Segn (6), la solucin v = v( x, y ) del problema de las condiciones de frontera (contorno) (10), (9) proporciona un mnimo para la funcional
F [v ] = ( Lv, v ) 2(v, f ( P ) Lz ) . (11)

Si volvemos a tener en cuenta en la ltima igualdad a la funcin u, obtenemos entonces, con el auxilio de las propiedades del producto escalar y del operador lineal L
F [u z ] = F1[u ]
= ( L(u z ), u z ) 2(u z , f ( P) Lz )

en donde u ( x, y ) es la solucin de nuestro problema de las condiciones de contorno no homogneas. La funcin as definida v = v( x, y ) satisface en la frontera la condicin de contorno homognea.
v =0
F. Antoine S.

= ( Lu , u ) 2(u , f ) + (u , Lz )
( z, Lu ) + 2( z, f ) ( Lz , z )
(12)

(9)

Siendo los dos ltimos trminos de (12) independientes de la funcin buscada u = u ( x, y) , la funcin u = u ( x, y) , para la cual el funcional (12) toma un mnimo, y minimiza tambin al funcional
A. Sangiacomo C.

214

Captulo 7

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

F2 [u ] = ( Lu, u ) 2(u, f ) + [( Lz , u ) ( Lu, z )] ,

obtenemos
( Lz , u ) ( Lu , z ) = ( x, y )(

(13)

u z )ds . n n

(14) haciendo que tenga igualmente un mnimo. Demostraremos ahora que el Por otra parte, resulta segn la funcional (13) puede sustituirse frmula (5) por un funcional independiente u ds ( Lu , u ) = u de z. Si empleamos las n transformaciones utilizadas en la u 2 u 2 frmula (4) obtenemos + + dxdy ,

( Lz , u ) ( Lu , z ) = ( zu uz )dz
G

x u = ( x, y ) ds n
G

u u u u )dx + ( z )dy = ( z u u y y x x

u 2 u 2 + + y dxdy . x G

(15)

= (z

u u u )ds , n n

Sustituyendo la ecuacin (14) y (15) en la (13), obtenemos


u 2 u 2 dxdy + F2 [u ] = 2 fu x y G z ( x, y ) ds . (16) n

donde n expresa la normal exterior en y entonces se cumple


u u d = n x d z z d = n x d y u d s yd y z d s yd x , s x . s

Debido a
z = u = ( x, y ) ,
F. Antoine S.

Siendo los dos ltimos sumandos de la frmula (16) independiente de la funcin u, el problema de las condiciones de frontera (1) y (2) equivale al problema variacional para el funcional

A. Sangiacomo C.

215

Captulo 7

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

u 2 u 2 dxdy h[u ] = 2 fu + y x G (17)

Para simplificar, consideremos el mtodo de Ritz para un funcional particular de la forma


F [u ] = ( Lu , u ) 2( f , u ) ,
(1)

en la clase K1 de funciones. En particular si tenemos definido en un conjunto lineal f ( x, y ) = 0 , obtenemos entonces K = { u} . la ecuacin diferencial de Con los supuestos: Laplace que L es un operador lineal positivo, u = 0 . f una funcin continua dada. Adems, supongamos que las As el problema de las funciones u de la clase K condiciones de frontera satisfacen la condiciones de (contorno) (1) y (2) se llama frontera lineales problema de Dirichlet cuya R[u ] = ( P ) . (2) solucin de este problema se Aqu R es un funcional lineal deduce de la ecuacin (17), la conocido y un valor funcin u de la clase K1 , hace constante dado o una funcin. que la integral de Dirichlet
u 2 u 2 h[u ] = + y dxdy x G

Construyamos una serie de funciones linealmente independientes lisas


u0 ( P ) , u1 ( P ) , , un ( P) ,

tenga un mnimo.

donde u0 ( P) tiene que satisfacer 7.6. Conceptos Fundamentales las condiciones de frontera del Mtodo de Ritz (contorno) no homognea El mtodo de Ritz ofrece soluciones de forma aproximada de los problemas variacionales.
F. Antoine S.

R[u0 ] = ( P ) ,

(3)

A. Sangiacomo C.

216

Captulo 7

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

y las funciones ui ( P) , i=1, 2, , Llegamos n, satisfacen las condiciones de ecuaciones frontera homogneas h =0, c1 R[ui ] = 0 , para i=1, 2, , n. (4)

al
h = 0, c2

sistema

de

h =0, cn

y a partir del cual podemos Ahora a partir de esta funciones, determinar las constantes ci , i=1, formemos la combinacin lineal 2, , n, en la ecuacin (5). Por lo tanto el problema n u ( P, c1 , c2 ,..., cn ) = u0 ( P ) + ci ui ( P ) . variacional (1) y (2) se i =1 transforma aproximadamente en (5) la determinacin de un extremo Aplicando las condiciones de de la funcin h(c1 , c2 ,..., cn ) de varias variables. La exactitud de frontera (contorno) (3), resulta n la aproximacin crece, en R[u ] = R[u0 ] + ci 0 = ( P) , general, al aumentar el nmero i =1 de las variables en la funcin h. es decir, u K y c1 , c2 ,..., cn constantes cualesquiera. La solucin aproximada del 7.6.1. Mtodo de Ritz para el problema variacional (1) y (2) la Problema de la Condiciones de buscamos ahora en la ecuacin Frontera Simple (5). Con este fin, sustituimos u ( P, c1 , c2 ,..., cn ) en el funcional Sea dada la ecuacin diferencial lineal (1). As nos resulta F [u ] = h(c1 , c2 ,..., cn ) , (6) d
dx [ p ( x) y] + q ( x) y = f ( x) (1)

donde h es una funcin conocida, que depende de las n parmetros con la condiciones de frontera c1 , c2 ,..., cn . Buscando ahora los (contorno) ms simples coeficientes c1 , c2 ,..., cn de forma y (a ) = A , y (b) = B , (2) F [u ] tome un mnimo. que
F. Antoine S. A. Sangiacomo C.

217

Captulo 7

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

p , q y f C[ a , b ] siendo y p > 0 para a x b . De las condiciones de frontera 1 = 0 , completas se tiene 1 = 0 y nos queda el problema variacional ms simple que es el funcional
F[ y] =
b a

Busquemos una solucin para este problema variacional como una combinacin lineal de la forma
y ( x) = u0 ( x) + ci ui ( x) ,
i =1 n

(4)

donde ci , i=1, 2, , n, son por definir. (3) parmetros Evidentemente, la funcin K = { y ( x)} de definida mediante la combinacin en la clase (4) satisface las funciones y que pertenecen a la lineal clase C 2 [a, b] y satisfacen las condiciones de frontera, es decir, se cumple que condicionas de frontera (2).
[ p( x) y 2 q( x) y 2 + 2 f ( x) y ]dx ,

Para la solucin del problema variacional (3) y (2) empleamos el mtodo de Ritz. Para tal efecto, elegimos un sistema de funciones linealmente independientes (funciones coordinantes)
u0 ( x) , u1 ( x) , , u n ( x) ,
u0 (a) = A , que u0 (b) = B y las funciones restantes ui ( x) , i > 0 , satisfagan las condiciones de frontera (contorno) homogneas, es decir, que se cumple

y ( a ) = A , y (b) = B .
Elijamos ahora los coeficientes c1 , c2 ,..., cn de tal manera que la funcin y ( x) proporcione un extremo al funcional (3). Si sustituimos la expresin (4) en (3), entonces, obtenemos
n ( x) + ci ui ( x) F [ y ] = p( x) u0 a i =1
n q( x) u0 ( x) + ci ui ( x) i =1

de

forma

n + 2 f ( x) u0 ( x) + ci ui ( x) dx i =1

= g (c1 , c2 ,..., cn ) .

ui (a ) = ui (b) = 0 , para i=1, 2, , n.


F. Antoine S. A. Sangiacomo C.

218

Captulo 7

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

g (c1 , c2 ,..., cn ) Siendo una funcin de segundo orden de los c1 , c2 ,..., cn . En parmetros condicin precisa para el caso de un extremo de la funcin derivable g (c1 , c2 ,..., cn ) , que se cumplan las ecuaciones siguientes
g g g = 0, = 0 ,, = 0. c1 c2 cn (5)

coordinantes y crece, en general, al aumentar su nmero. 7.6.2. Ejemplo Resolver la ecuacin diferencial
y ' '+ (1 + x 2 ) y + 1 = 0 .

Con las condiciones de frontera


y (1) = y (1) = 0 .

El sistema de ecuaciones (5) es, lineal respecto a los coeficientes (parmetros) buscados c1 , c2 ,..., cn . El nmero de ecuaciones es igual al nmero de incgnitas. Cuando (5) tiene solucin, la determinemos a partir de los coeficientes ci , i=1, 2, , n. Segn eso obtenemos la solucin al problema variacional y, como consecuencia, la solucin del problema de las condiciones de frontera por medio de la frmula (4). La evaluacin del error para el mtodo de Ritz es relativamente difcil, de forma que renunciamos a profundizar en este tema aqu. Digamos nicamente que la exactitud de la solucin depende del alto grado de la eleccin adecuada de las funciones
F. Antoine S.

Solucin: Como funciones coordinantes { ui ( x)} , elijamos polinomios en


x 2 que satisfacen las condiciones

de frontera homogneas
u 0 ( x) = 0 ,
u1 ( x) = 1 x 2 ,

u 2 ( x) = 1 x 4 ,

u n ( x) = 1 x 2n .

Para dar un procedimiento ilustrativo y simplificar las operaciones, tomemos nicamente tres funciones coordinantes, es decir, busquemos la funcin y = y ( x ) en forma de suma
A. Sangiacomo C.

219

Captulo 7

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

y = c1 (1 x 2 ) + c2 (1 x 4 ) .

(6)

4 1 38 = 8 c1 + c 2 , 9 3 105
1 F = 8 x 3 (2c1 + 4c2 x 3 ) -1 c2

Para la ecuacin diferencial en cuestin en la que se cumple que

p ( x) = 1 , q( x) = 1 + x 2 , f ( x) = 1 ,

2(1 + x 2 )(1 x 4 )[c1 (1 x 2 )


+ c2 (1 x 4 )] 2(1 x 4 ) dx 2488 2 4 c2 , = 8 c1 + 3465 5 9

es evidente que es autoadjunta. Formemos el funcional Igualando a cero para obtener un correspondiente ptimo (mnimo), entonces resulta el sistema de ecuaciones
F[ y] =
1 -1

[ y 2 (1 + x 2 ) y 2 2 y ]dx .

Si sustituimos aqu y por la expresin (6), obtenemos entonces


F[ y] =
1 -1

38 4 1 c1 + c2 = , 105 9 3 4 2488 2 c1 + c2 = , 9 3465 5

{(2c x + 4c x )
3 1 2

y con este sistema se tiene la solucin


c1 = 0.988 y c2 = 0.054 .

(1 + x 2 )[c1 (1 x 2 ) + c2 (1 x 4 )]2

2[c1 (1 x ) + c2 (1 x )] dx .
2 4

Si sustituimos los valores Las derivadas parciales con averiguados c1 y c2 en la respecto a c1 y c2 la calculamos frmula (6), nos resulta la as solucin aproximada buscada
1 F = 4 x(2c1 x + 4c2 x 3 ) -1 c1

y = 0.934 0.988 x 2 + 0.054 x 4 .

(7)

(1 + x 2 )2(1 x 2 )[c1 (1 x 2 )

+ c2 (1 x 4 )] 2(1 x 2 ) dx
Figura 4
F. Antoine S. A. Sangiacomo C.

220

Captulo 7

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Problema Resolver la EDO y ' '+ y = 3 x 2 ; con puntos frontera (0, 0) hasta (2, 3.5) . Usando la s funciones: u 0 ( x ) = 74x , u1 ( x) = x(2 x) ,
u 2 ( x ) = x 2 ( 2 x ) ; u3 ( x ) = x 3 ( 2 x ) .

1.6000 1.6000 1.9810 c1 - 2.4667 1.6000 3.0476 4.8763 c = - 3.6000 2 c3 1.9810 4.8763 8.9401 - 5.4094

Solucin de Ac=b C[1] = -0.855890 C[2] = -0.527986 C[3] = -0.127442 y = 7*x/4+(-0.85589)*(x*(2-x))+(-0.52799)*(x^2*(2x))+(-0.12744)*(x^3*(2-x)) O tambin
y = 74x 0.85589(2 x x 2 ) 0.52799(2 x 2 x 3 + 0.12744(2 x 3 x 4 )

Solucin:

Figura 6. Figura 5.
p(x) = 1 ; q(x) = 1 ; r(x) = 3 x 2 .
derivada u0 ' = 7 / 4 derivada u1 ' = (2 x) x derivada
Nota: Las integracin numrica se hizo por el mtodo de Simpson

u 2 ' = 2 * x * (2 x) x ^ 2

derivada u 2 ' = 3 * x ^ 2 * (2 x) x ^3 . A[1,1] = ((2-x)-x)*((2-x)-x)-(x*(2-x))*(x*(2-x)); Integral de [1,1] = 1.59999593098958 A[1,2] = ((2-x)-x)*(2*x*(2-x)-x^2)-(x*(2-x))*(x^2*(2-x)); Integral de [1,2] = 1.59999593098958 A[1,3] = ((2-x)-x)*(3*x^2*(2-x)-x^3)-(x*(2-x))*x^3*(2-x); Integral de [1,3] = 1.98096871376038 b[1] = -(3*x^2)*(x*(2-x))-((2-x)-x)*7/4+7*x/4*x*(2-x); Integral de [1] = -2.46665445963542 A[2,1] = (2*x*(2-x)-x^2)*((2-x)-x)-(x^2*(2-x))*x*(2-x): Integral de [2,1] = 1.59999593098958 A[2,2] = (2*x*(2-x)-x^2)*(2*x*(2-x)-x^2)-(x^2*(2x))*(x^2 *(2-x)); Integral de [2,2] = 3.04763944943746 A[2,3] = (2*x*(2-x)-x^2)*(3*x^2*(2-x)-x^3)-(x^2*(2-x)) *(x^3*(2-x)); Integral de [2,3] = 4.87625575065613 b[2] = -(3*x^2)*(x^2*(2-x))-(2*x*(2-x)-x^2)*(7/4)+(7*x/4) *(x^2*(2-x)); Integral de [2] = -3.59997049967448 A[3,1] = (3*x^2*(2-x)-x^3)*((2-x)-x)-(x^3*(2-x))*(x*(2x)) Integral de [3,1] = 1.98096871376038 A[3,2] = (3*x^2*(2-x)-x^3)*(2*x*(2-x)-x^2)-(x^3*(2-x)) *(x^2*(2-x)); Integral de [3,2] = 4.87625575065613 A[3,3] = (3*x^2*(2-x)-x^3)*(3*x^2*(2-x)-x^3)-(x^3*(2-x)) *(x^3*(2-x)); Integral de [3,3] = 8.94005673596015 b[3] = -(3*x^2)*(x^3*(2-x))-(3*x^2*(2-x)-x^3)*(7/4) +(7*x/4)*(x^3*(2-x)); Integral de [3]= 5.40942327181498 Matriz de coeficientes Ci o sea Ac=b:

7.6.3. Aplicaciones del Mtodo de Ritz para la Solucin de Problemas de Condiciones de Frontera de Sturm Liouville Sea la ecuacin diferencial autoadjunta homognea
[ p ( x) y] + [q ( x) + g ( x)] y = 0 ,
(1)

con las condiciones de frontera (contorno) homogneas


0 y (a ) + 1 y( a ) = 0 , 0 y (a ) + 1 y (a ) = 0 .

(2)

Donde tenemos que:


p ( x) > 0 , 0 + 1 0 ,

0 + 1 0 .

F. Antoine S.

A. Sangiacomo C.

221

Captulo 7

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Adems p ( x) , q( x) , g ( x) son funciones continuas y un parmetro. Evidentemente la funcin y = 0 es una solucin trivial de ecuacin diferencial (1) que satisface las condiciones de frontera (2). Nosotros, nos interesamos por las soluciones no triviales del problema de las condiciones de frontera (1) y (2). La determinacin de la soluciones no triviales de la ecuacin diferencial (1) que satisfacen las condiciones de frontera homogneas (2) es el problema de Sturm Liouville. Este problema se presenta a menudo en las ecuaciones diferenciales de la fsica matemtica. A los valores del parmetro , para los cuales existen soluciones no triviales del problema (1) y (2), se les conoce como autovalores del problema de Sturm Liouville. Las soluciones no triviales correspondientes a ellos se les llaman autofunciones o autosoluciones de este problema. Limitmonos aqu a la ecuacin diferencial (1) con la condiciones de frontera ms sencillas
F. Antoine S.

y ( a ) = 0 , y (b) = 0 ,

(3)

y sealemos cmo se resuelve de forma aproximada con ayuda del mtodo de Ritz el problema de Sturm Liouville. Con este fin, formemos para la ecuacin diferencial (1), como ya se hizo anteriormente, el funcional correspondiente
F[ y] =
b a

{ p ( x) y 2 [q ( x) + g ( x)] y 2 } dx ,

(4)

busquemos la funcin y = y ( x, ) para que minimice a este funcional, adems, cumpla las condiciones

y ( a, ) = 0 ,

y (b , ) = 0 .

Aquellos valores del parmetro , para los cuales nuestro problema variacional tiene una solucin no trivial, son los autovalores del problema de Sturm Liouville considerado. Representemos la funcin buscada y por una aproximacin en una combinacin lineal de la forma
y = ci ui ( x) ,
i =1
A. Sangiacomo C.

(5)

222

Captulo 7

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

autovalores de nuestro problema de las funciones coordinantes, de las condiciones de frontera con (contorno) la ecuacin algebraica de grado n ui (a) = ui (b) = 0 , para i=1, 2, , n. ( ) = 0 , (7) En virtud de la homogeneidad de este problema, pongamos es la ecuacin caracterstica o u0 ( x) = 0 . Si introducimos la ecuacin de frecuencias del expresin (5) en la integral (4), problema de Sturm Liouville. Si la ecuacin obtenemos entonces, despus de resolvemos caracterstica (7), tendremos los n hacer operaciones sencillas primeros autovalores 1 , 2 , ..., n . F [ y ] = h(c1 , c2 , ..., cn , ) , Para hallar los valores de los coeficientes c1 , c2 , ..., cn se tiene donde h es una funcin de que sustituir cada uno los segundo orden en las variables autovalores i ya determinados c1 , c2 , ..., cn . en el sistema de ecuaciones (6), Los coeficientes c1 , c2 , ..., cn los del cual pueden determinarse encontramos a partir de las entonces las soluciones no condiciones necesarias para un triviales. Las autofunciones extremo de la funcin h: y = y ( x, j ) , para j=1, 2, , n,
h h h =0, = 0 ,, =0. c1 c2 cn (6)

El sistema de ecuaciones homogneas (6) tiene entonces, y slo entonces, una solucin no trivial, si el determinante del sistema ( ) , que evidentemente es una funcin del parmetro , es cero. Por tanto obtenemos para la determinante de los
F. Antoine S.

las determinamos por la frmula (5), en donde los coeficiente ci , con i=1, 2, , n, son sustituidos por los valores determinados anteriormente. Observemos que por medio del mtodo de Ritz pueden determinarse nicamente unos cuantos autovalores del problema de Sturm Liouville, y stos slo
A. Sangiacomo C.

223

Captulo 7

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

de forma aproximada. En general, tales problemas tienen, infinitos autovalores. Para el mtodo Ritz puede decirse en general que cuanto mayor es el nmero de funciones coordinantes utilizadas, ms autovalores del problema de condiciones de frontera podemos averiguar y mayor ser la exactitud de las operaciones. 7.6.4. Ejemplo Por medio del mtodo de Ritz, determinar los primeros autovalores y las dos primeras autofunciones del problema de Sturm Liouville para la ecuacin diferencial

Teniendo en cuenta las condiciones de frontera, podemos elegir, por ejemplo, las funciones coordinantes siguientes
u1 ( x) = x(1 x) , u2 ( x) = x 2 (1 x) .

Pongmoslas en (5) y tenemos


y = ci ui ( x) = c1 x(1 x) + c2 x 2 (1 x)
i =1
2

(11)

en donde c1 y c2 son coeficientes constantes y particularmente c1 c2 0 . Si sustituimos la expresin (11) en (10), obtenemos
F [ y ] = {[c1 (1 2 x) + c2 (2 x 3x 2 )]2
0 1

y ' '+ y = 0 ,
siendo las frontera condiciones

(8)

[c1 x(1 x) + c2 x 2 (1 x)]2 } dx .

de Ahora derivando con respecto a los parmetros c1 y c2 , resulta


(9)
1 F = 2 {(1 2 x)[c1 (1 2 x) + c2 (2 x 3x 2 )] 0 c1

y (0) = y (1) = 0 .

Solucin: Usando la frmula (4) para esta ecuacin diferencial nos queda el funcional
F [ y ] = { y2 y 2 } dx .
0
F. Antoine S.

x(1 x)[c1 x(1 x) + c2 x 2 (1 x)]} dx 1 1 1 1 = c1 + c2 c1 + c2 6 60 3 30


1 F = 2 {(2 x 3x 2 )[c1 (1 2 x) + c2 (2 x 3x 2 )] 0 c2

(10)

x 2 (1 x)[c1 x(1 x) + c2 x 2 (1 x)]} dx


A. Sangiacomo C.

224

Captulo 7

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Determinemos ahora los coeficientes c1 y c2 a partir del Para conseguir los ptimos sistema de ecuaciones (12). Para hagamos las derivadas parciales el valor de = 1 = 10 se obtiene igual acero c1 = c y c2 = 0 . Resultando la primera 1 1 1 1 c1 + c2 c1 + c2 = 0 autofuncin de nuestro problema 6 60 3 30 de las condiciones de frontera, 2 1 1 1 c2 = 0 c1 + c2 c1 + segn la frmula (11) 15 105 6 60 o y1 = cx(1 x) , para c 0 . 1 1 c1 + c2 1 = 0 ,
3 6 10 1 2 c1 1 + c2 1 = 0 6 10 15 14 (12)

2 1 1 1 = c1 + c2 c1 + c2 15 105 6 60

Ahora usamos el otro valor = 2 = 42 , obtenemos


2c1 + c2 = 0 , 16c1 8c2 = 0 .

resultando
21 1 10 10 = 0 , 51 41 10 14

De ah resulta el
c1 = c ,
c 2 = 2 c .

simplificando determinante,

al

efectuar

1 3 = 0 . 10 14

(13)

Introduciendo estos ltimos valores en (11) nos queda la segunda autofuncin


y2 = c( x 3x 2 + 2 x 3 ) , c 0 .

Obtenemos las aproximaciones para los dos primeros autovalores De este problema particular, del problema conocemos su solucin exacta 1 = 10 , 2 = 42 . (14)
F. Antoine S. A. Sangiacomo C.

225

Captulo 7

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

donde sus autovalores son dados u = f ( x, y ) . (2) por n = 2 n 2 , para n=1, 2, , Sea una curva cerrada sencilla que delimite un dominio acotado y las autofunciones se determinan y f ( x, y ) una funcin continua en por la frmula . Segn lo visto anteriormente este problema de las condiciones yn = c sin ( n x ) , de frontera es equivalente al para n=1, 2, , problema variacional para el funcional siendo c 0 . En particular cuando u 2 u 2 F [u ] = (3) + dxdy , n = 1 se tiene x y
G

en la clase K de funciones y C 2 , en el dominio G + cerrado, las cuales satisfacen en Como deja ver el error relativo es 6.4% la frontera la condicin de 1.3% de y del frontera (2). Construyamos ahora respectivamente. el sistema de funciones linealmente independientes 7.6.5. Mtodo de Ritz para el (funciones coordinantes) Problema de Dirichlet u0 ( x, y ) , u1 ( x, y ) , , u n ( x, y ) C 2 (G + ) Determinemos ahora una solucin de la ecuacin diferencial de Laplace de forma que se cumpla
2 = 4 2 = 39.48 .

1 = 2 = 9.87 ,

u = 0 , para ( x, y ) G ,

(1)

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

u ( x, y ) = 0 , que satisfaga la condicin de i para i=1, 2, , n. contorno

La combinacin lineal
F. Antoine S. A. Sangiacomo C.

226

Captulo 7

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

( x, y ) = u0 ( x, y ) + ci ui ( x, y ) , (4)
i =1

n ui u j + ci y y dxdy = 0 i =0

(6)

pertenece entonces, constantes cualesquiera c1 , c2 , ..., cn , a la clase K de funciones admisibles. La frmula (4) podemos escribirla en forma abreviada como sigue
( x, y ) = ci ui ( x, y ) ,
i =0 n

donde j=1, 2, , n. para o de otra forma


[u0 , u1 ] + c1[u1 , u1 ] + ... + [u0 , u 2 ] + c1[u1 , u 2 ] + ... + cn [un , u1 ] = 0, cn [un , u1 ] = 0,

... ... ... ... ... [u0 , un ] + c1[u1 , un ] + ... + cn [u n , u n ] = 0.

(6)

donde se tiene que


(4)

u u j ui u j + [ui , u j ] = i dxdy x x y y G

donde c0 = 1 . Si introducimos la expresin (4) en el funcional (3) obtenemos


2 2 n n ui u i . F [ ] = ci x + ci y dxdy i =0 G i = 0

y se cumple que
[ui , u j ] = [u j , ui ] .
(7)

(5)

Determinemos ahora los coeficientes c1 , c2 , ..., cn para que el funcional F [ ] tome un mnimo. A tal efecto, tiene que simplificarse las condiciones necesarias:
n ui u j F [ ] = 2 ci x x cj G i = 0

A partir del sistema de ecuaciones lineales (6) pueden determinarse ahora los coeficientes c1 , c2 , ..., cn . ( x, y ) con los La funcin coeficientes determinados a partir de (6) representan una solucin de aproximacin del problema de las condiciones de frontera (contorno) de Dirichlet. La exactitud o error de aproximacin depende de la eleccin de las funciones coordinantes uk ( x, y) y del nmero de ellas.

F. Antoine S.

A. Sangiacomo C.

227

Captulo 7

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

7.6.6. Ejemplo A partir de esas funciones, Determinar una funcin u ( x, y ) formamos la combinacin lineal que, en el dominio x > 0 , y > 0 , x + y < 1 , sea armnica y en la ( x, y ) = x 2 + y 2 + c1 xy (1 x y ) frontera x = 0 , y = 0 . x + y = 1 , de + c2 x 2 y (1 x y ) + c3 xy 2 (1 x y ) . (9) ese dominio satisfaga la condicin Puede probarse fcilmente que la u = x2 + y2 . (8) funcin ( x, y ) satisface para valores cualesquiera de las constantes c1 , c2 , c3 la condicin de contorno (8). Para el establecimiento del sistema de ecuaciones (6), calculemos los coeficientes de las c1 , c2 , c3 y los incgnitas trminos absolutos. Los resultados estn resumidos en la tabla Figura 7. Solucin: Elijamos el siguiente sistema de funciones coordinantes
u 0 ( x, y ) = x 2 + y 2 ,
j
1 2 3 [u0 , u j ]
1 30 1 90 1 90

[u1 , u j ]
1 90 1 252 1 252
Tabla 1.

[u2 , u j ]
1 252 3 1120 1 70

[u3 , u j ]
1 252 1 70 3 1120

u1 ( x, y ) = xy (1 x y ) ,
u 2 ( x, y ) = x 2 y (1 x y ) ,

De ah obtenemos el sistema de ecuaciones lineales siguientes para determinar los coeficientes


1 1 1 1 c1 + c2 + c3 = 90 252 252 30

u3 ( x, y ) = xy (1 x y ) .
3
F. Antoine S.

A. Sangiacomo C.

228

Captulo 7

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

1 3 1 1 c1 + c2 + c3 = 252 1120 70 90 1 1 3 1 c1 + c2 + c3 = 252 70 1120 90

Resolviendo el sistema , nos da


c1 = 3031 3.0401 , 997 56 c2 = c3 = 0.0562 . 997

Si

sustituimos estos valores c1 , c2 , c3 en (9) la solucin aproximada es:


( x, y ) = x 2 + y 2 +
3031 xy (1 x y ) 997

56 2 56 2 x y (1 x y ) xy (1 x y ) 997 997

F. Antoine S.

A. Sangiacomo C.

229

Apndice

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

= F = 1.46308814969555 1 Stress = Tensin = 21.6688786817538 APNDICE 2 Stress = Tensin = 28.4455581989223 3 Reaccin = -26002.6544181045 A.1 Una aplicacin directa del captulo 4 para 4 Reaccin = -25601.00237903 Elementos Finitos uni - dimensionales sera. Pero en Realidad en esta Solucin Veamos la siguiente figura que Tambin Necesitamos Desarrollos de corresponde a un problema que es real y Teora y ms Teora para que sean que se presenta en Ingeniera Entendidos! (especialmente en Ingeniera Civil): Iniciamos un estudio comparativo de lo que conocemos nosotros y como es visto por parte de la ingeniera. Primero una EDO (Ecuacin Diferencial Ordinaria) dada (se presenta as):

y ' '+b( x) y '+c( x) y = r ( x)


Una barra rgida, est soportada por una La ponemos de la Forma Ritz (para efectos barra de acero (1 a 3) (elemento  ) y una de de facilidad de clculo [forma adjunta]): aluminio (2 a 4) (elemento ). Se aplica ( p( x) y' )'+Q( x) y = f ( x) una carga P=30103 N. Para una Solucin u(x) dada; ponemos sus coeficientes p, Q y f en la Funcional (ya fue Acero (1) Aluminio (2) visto en el mtodo de Ritz) [Capt. 4]: A=1200 mm2 A=900 mm2 1 E = 200103 N/mm2 E=70103 N/mm2 I [u ] = ( p( x)[u( x)]2 0 l = 4.5m l = 3.0m + Q ( x)[u ( x)]2 2 f ( x)u ( x)) dx Cuyos resultados se consiguen por una simple corrida de un proceso de Ritz. Aqu para un mejor entendimiento lo pondremos en forma paralela a la realidad Basta un Planteamiento ? y resolver (forma de entendimiento de los Ingenieros): sistema de matriz banda 1 DESPLAZAMIENTO = F = 0.487598525316494 2 DESPLAZAMIENTO = F = 1.21914335326184 3 DESPLAZAMIENTO = F = 4.875497703394E-5 4 DESPLAZAMIENTO = F = 4.800187946068E-5 5 DESPLAZAMIENTO
F. Antoine S.

Energa de = deformacin + unitaria U


o sea:
1

Potencial de trabajo

WP

U=1 ( p( x)[u( x)]2 + Q( x)[u ( x)]2 )dx 2


0
A. Sangiacomo C.

230

Apndice

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

WP = f ( x)u ( x)dx
0

Pero, Nosotros los Matemticos, aqu debemos ver que esto es tambin Real, Este resultado lo optimizamos por: pues la Energa Potencial la cintica y la I [u ] =0 o =0 accin y reaccin estn presentes, lo que ci qi falta es especificar:

por eso no sabe las aplicaciones frase que debemos ya superar, el resto son presentaciones del lgebra lineal, multiplicacin de vectores internamente.

La energa de deformacin unitaria lineal Luego pasamos a construir la Matriz de Rigidez Global y el Vector de Carga, la es 1 T 2 Matriz Banda: de sta, la total: U =
1 2 v

T dV

Estos, nuevamente son aspectos tcnicos diramos de la ingeniera, pero, son del lgebra lineal.

El potencial de trabajo WP dado por (aqu Matriz de rigidez local para el elemento e: se debe entender que se tiene las fuerzas 1 1 1 1 q o U e = qT k e q de carga, traccin, pesos puntuales que se U e = qT c e 2 2 1 1 presentan en un mdulo real de trabajo): WP = uT fdV uT TdS u i T Pi v s E A e i Con : c = e e le Uniendo tenemos: Vector de carga: T T =1 dV u f dV WPe = qT f e + qT T e v 2 v

uT TdS uiT Pi
i

donde: f e =

Ee Ae f 2

1 e Tle 1 1 y T = 2 1

Comparando para U:
1 2

Para asociar cada Elemento basta la:


TABLA DE CONECTIVIDAD Elemento Nro 1 2 Nodo 1 Nodo 2 3 1 4 2

0 ( p( x)[u( x)]

+ Q( x)[u ( x)]2 )dx


=
1 2 v

T dV

Y para WP:
f ( x)u ( x)dx = uT fdV
0 v 1

uT TdS u i T Pi
s i

Para el elemento (1) del problema 1 de arriba y aplicando los datos:

Esta comparacin se debe tomar con pinzas pues sucede siempre slo que aveces no estamos enterados, y por esa desinformacin se tiene problemas grabes como matemticos, sale una frase es matemticos!
F. Antoine S. A. Sangiacomo C.

231

Apndice

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

[como si superpondran los valores y una matriz sobre la otra]


Para todos los NODOS se tiene la matriz global incompleta:
1 2 3 4 5 0 1 0 2 0 3 0 4 0 5 0 53.33 0 53.33 0 21 0 21 3 K = 10 53.33 0 53.33 0 1 21 0 21 0 1 3 0 0 0 0

3 k1 =

1
3

E1 A1 1 1 200 10 1200 1 1 = 4500 l1 1 1


3 1

1 1

Y por los nodos que intervienen se tiene:


1 0 1 3 200 10 3 1200 0 0 0 4500 1 1 0 1

Para Completar se considera condiciones de frontera teniendo:

las

k1 =

Y para el Elemento (2) se tiene:


4 k2 = 2 4 2 E 2 A2 1 1 70 10 3 900 1 1 4 = 1 1 2 l 2 1 1 3000
4 2

Y tomando en cuenta los nodos se tiene:

1Q p1 + 2Q p 2 = 0

esto origina la matriz de restricciones la cual se debe acoplar a la matriz de rigidez: 1 0 1 4 3 C12 70 10 900 C1 2 k2 = 0 0 0 2 3000 C 2 1 0 1 2 C1 2 la cual usaremos con la proporcionalidad que Para K global se superponen los K1 y K2 se tenga. As: La barra de la figura hace fuerza de carga 21 0 21 proporcional a los puntos de aplicacin x, 1, 53.33 0 53.33 3 y 3 2, 5, los cuales tienen sus respectivas 10 0 0 0 10 0 0 0 distancias, aplicando la proporcionalidad que 21 0 21 53.33 0 53.33 all existe se tiene: y ello alegricamente se vera algo as:

53.33 0 53.33 21 0 21 103 0 0 0 00 53 533 .33 10 0 .33 0

21 0

21
A. Sangiacomo C.

F. Antoine S.

232

Apndice

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

1 Stress = Tensin = 21.6688786817538 2 Stress = Tensin = 28.4455581989223 3 Reaccin = -26002.6544181045 4 Reaccin = -25601.00237903 Una figura podra ser:

de donde se tiene el planteamiento siguiente: Q1 2 Q =0 esto origina Q1 1 = 3 5 Q5 6 y Q2 5 = esto origina Q2 5 Q =0 6 5 Q5 6


1 5 53.33 17.77 1 10 7 17.77 5.9259 5 2 5

53.33 44.44 2 10 7 44.44 37.037 5

Hace un instante arriba se mencion el mtodo de Galerkin para la solucin de problemas de elementos finitos en algunos casos, yo dira muchos, la exposicin est en captulo 4.
Caso Real

Y agregando F (vector de carga) por fin Para el caso real con el planteamiento de obtenemos: arriba de Galerkin tomaremos un problema de armaduras.
0 53.33 0 533386.7 0 533354.3 0 21 103 53.33 0 533386.7 0 21 0 533354.3 0 177777.7 444444.4 0 0 177777.7 Q1 0 444444.4 0 Q2 Q3 = 0 0 Q 0 0 4 Q5 30000 429629.6

KQ = F
Que es un Sistema Lineal de NN. K es matriz NN, Q es N1 y F es N1

La idea es como calcular, en lo que se ve a simple vista, un puente como el de la figura donde los elementos son los prantes travesaos y puntales inclinados, como se nuestra en la figura.

Cuya solucin es: 1 DESPLAZAMIENTO = F = 0.487598525316494 2 DESPLAZAMIENTO = F = 1.21914335326184 3 DESPLAZAMIENTO = F = 4.875497703394E-5 4 DESPLAZAMIENTO = F = 4.800187946068E-5 5 DESPLAZAMIENTO = F = 1.46308814969555
F. Antoine S.

para el caso de un prante inclinado se tiene la siguientes disposicin:

A. Sangiacomo C.

233

Apndice

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

entonces tenemos:

q ' = Lq

Par un desplazamiento virtual: = ( x) d y la deformacin unitaria: ( ) = dx La forma de Galerkin considerado aqu es:

Con matriz L de transformacin: l m 0 0 L= . 0 0 l m Con Ke Usando la matriz k anterior se tiene: E A 1 1 k= e e le 1 1

( ) Adx T fAdx
L

1 T q' k ' q' , 2 y usando L de arriba y q ' = Lq obtenemos: sobre la regin discretizada, la ecuacin 1 anterior toma la forma: U e = qT [ LT k ' L]q 2 L T ( ) Adx L T fAdx 1 e e y simplificando: U e = q T kq 2 T Tdx iPi = 0 T L donde se a tomado k = [ L k ' L] ; o e i con interpolacin de las ecuaciones l2 lm l 2 lm = N ; = B 2 2
L i

T Tdx iPi = 0

Ue =

ke =

La disposicin anterior debe tratarse para un sistema de coordenadas local y luego pasar al Global con: Coordenada local:

Ee Ae lm m le l 2 lm 2 lm m

lm m l2 lm lm m2

Veamos el siguiente Problema que se presenta muy a menudo y que ilustra a cuerpo entero ello:

q' = [q'1 q '2 ]T


Coordenada Global:

q = [q1 q2 q3 q4 ]T
y cuya relacin es dada por: q'1 = q1 cos( ) + q2 sin( ) ; q'2 = q3 cos( ) + q4 sin( ) que son los cosenos directores

para resolverlo haremos: Cuya tabla de Conectividad es dada por:


A. Sangiacomo C.

l = cos( ) , m = cos( ) , cos( ) = sin( ) ,


F. Antoine S.

234

Apndice

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

3
1 k13 1 k 23 1 k33 1 k 43

4
1 1 k14 1 2 k 24 1 3 k34 1 4 k 44

Elemento 1 2 3 4

1 1 3 1 4

2 2 2 3 3

1 1 k11 k12 1 1 k k 22 k 1 = 21 k1 k1 32 31 1 1 k k 41 42

Elemento 2:
5
6

3 4 0 0 5 0 1 6 0 0 3 0 1 4

0 0 1 29.5(10 ) 0 k2 = 0 0 30 0 1 5
2 k 55 2 k k 2 = 65 k 2 35 2 k 45

6
2 k56 2 k 66 2 k36 2 k 46

3
2 k 53 2 k 63 2 k 33 2 k 43

4
2 5 k 54 2 6 k 64 2 3 k 34 2 4 k 44

Matriz de valores de los cosenos directores es dada por: Elemento le l m 1 40 1 0 2 30 0 1 3 50 0.8 0.6 4 40 1 0 Matriz de rigidez para: [por ejemplo] Elemento 1:

Elemento 3:
1
6

0.48 0.64 0.48 1 0.64 0.48 0 .36 0.48 0.36 29.5(10 ) 2 k3 = 0.64 0.48 0.64 0.48 5 50 0.48 0.36 6 0.48 0.36

5
3 k15 3 k 25 3 k55 3 k 65

6
3 1 k16 3 2 k 26 3 5 k56 3 6 k 66

3 4

1 1 29.5(10 ) 0 k = 1 40 0
6

0 1 0 1 0 0 0 2 0 1 0 3 0 0 0 4

3 3 k11 k12 3 3 k k 22 k 3 = 21 k 3 k 3 52 51 3 3 k k 61 62

y tambin para el k4 Elemento 4:


7 1 29.5(10 ) 0 k4 = 1 40 0
6

considerada para el caso de armado de la matriz global se tendr para las entradas, los N # de elemento k Nodo , para este caso ser: Nodo
1 2

5 6

0 1 0 7 0 0 0 8 0 1 0 5 0 0 0 6
235

F. Antoine S.

A. Sangiacomo C.

Apndice

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

7
4 k 77 4 k k 4 = 87 k 4 57 4 k 67

8
4 k 78 4 k88 4 k58 4 k 68

5
4 k 75 4 k85 4 k55 4 k 65

6
4 7 k 76 4 8 k86 4 5 k56 4 6 k 66

3 Q3 27.12(10 ) 3 Q 5 . 65 ( 10 ) pulgadas = 5 Q 22.25(10 3 ) 6


Q = [0, 0, 27.12(10 3 ), 0, 5.65(10 3 ), 22.25(10 3 ), 0, 0]T

Cuya Matriz de rigidez global es dada Una figura de esta solucin podra ser: por:
1 2 3
1 k13 k1 23 1 2 k33 + k33 1 2 k 43 + k 43 2 k53 2 k 63 0 0

4
1 k14 k1 24 1 2 k34 + k34 1 2 k 44 + k 44 2 k54 2 k64 0 0

5
3 k15 3 k 25 2 k35 2 k 45 2 3 4 k55 + k55 + k55 2 3 4 k65 + k 65 + k 65 4 k 75 4 k85

6
3 k16 3 k 26 2 k36 2 k 46 3 4 + k56 + k56 3 4 + k 66 + k 66 4 k 76 4 k86

7 0 0 0 0
4 k57 4 k 67 4 k 77 4 k87

8 0 1 0 2 0 3 0 4 4 5 k58 4 6 k 68 4 7 k 78 4 8 k88

1 3 1 3 k11 + k11 k12 + k12 1 3 1 3 k 21 + k 21 k 22 + k 22 1 k1 k32 31 1 1 k 42 k 41 3 k3 k52 51 3 3 k 61 k 62 0 0 0 0

2 k56 2 k 66

que son los elementos de la matrices Ke dispuestos en estricto orden y en las entradas respectivas. Representando en la maqueta es: Remplazando sus respectivos valores en las entradas nos resulta:
1 2 3 4 5 6 7 8 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 0 7.68 5.76 22.68 5.76 15.0 5.76 4 . 32 0 0 5 . 76 4 . 32 0 15.0 0 15.0 0 0 0 0 0 0 20.0 0 0 20.0 29.5(10 6 ) 0 0 0 22.68 5.76 15.0 600 7.68 5.76 0 0 20 5.76 24.32 5.76 4.32 0 0 0 0 0 15.0 15.0 0 0 0 0 0 0 0

----------------------------------------------------Despus de aplicar las condiciones de frontera Q1 = Q2 = Q4 = Q7 = Q8 = 0 (o sea, los que no se mueven) se tiene:
0 0 Q3 20000 15 29.5(10 6 ) 0 22.68 5.76 0 Q5 = 600 25000 0 5.76 24.32 Q6

Como se ve es interesante. Y su solucin es dada por:

F. Antoine S.

A. Sangiacomo C.

236

Apndice

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

(3) + g1 ( x, y )u ( x, y ) = g 2 ( x, y ) finitos bi - dimensional aplicando donde 1 y 2 son los ngulos direccionales de aproximaciones numrica la normal de la frontera que apunta hacia afuera en el punto ( x, y ) , como se puede observar en la Se complementa con el captulo 4. figura a.1. B.1. Introduccin al Mtodo de Elementos En los procesos en ingeniera que involucran ecuaciones diferenciales parciales para dar una solucin aproximada frecuentemente se recurre al mtodo de elementos finito. Este mtodo se vio en el captulo 4 y en el 7, aqu lo presentamos para dos dimensiones particularmente. La ventaja del mtodo de elementos finitos sobre los mtodos de diferencias finitas es la relativa facilidad con la que se manejan las condiciones de frontera del problema. Una variedad grande de problemas fsicos de condiciones de frontera, tienen la frontera irregular y otros en estas condiciones contienen derivadas. La tcnica de Figura a.1. diferencias finitas se vuelven engorrosas y difciles, por el problema de que cada condicin En muchos de los problemas fsicos en las reas de frontera con derivada debe aproximarse de mecnica de slidos y elasticidad se presenta mediante cociente diferenciales en los puntos de ecuaciones diferenciales parciales similares a la la malla y las formas irregulares de la frontera ecuacin (1). Para dar solucin a un problema de hacen bastante difcil la eleccin de los puntos de este tipo consiste en la minimizacin de un cierto red. El mtodo de elemento finito incluye las funcional que involucra integrales, sobre una condiciones de frontera como integrales en un clase de funciones determinadas por el problema. funcional que se debe minimizar, as que el Supongamos que p , q , r y f son todas procedimiento de construccin de la base es continuas en D G , que las primeras derivadas independiente de las condiciones de frontera parciales de p y q son continuas y que g1 y particulares del problema en cuestin.

u u g1 ( x, y ) > 0 . Entonces la solucin de (1) ( p ( x, y ) )+ ( q ( x, y ) ) y x x y minimiza de manera nica el funcional + r ( x, y )u ( x, y ) = f ( x, y ) , (1) 2 2 w w 1 con ( x, y ) D donde D es una regin plana I [W ] = { [ p ( x, y ) + q( x, y ) y 2 x D con frontera G . 2 Las condiciones de frontera para este son de la r ( x, y ) w ] + f ( x, y ) w}dxdy
+ { g 2 ( x, y ) w + 1 g ( x, y ) w 2 }dS , (4) u ( x, y ) = g ( x , y ) , (2) 2 1 G2 en una porcin G1 de la frontera. En la parte sobre todas las funciones w , que satisfacen a la restante de la frontera G2 , se requiere que ecuacin (2) en G1 , y que sean continuamente u ( x, y ) cumpla
forma

Consideraremos aqu la ecuacin diferencial g 2 son continuas en G2 . Adems supongamos parcial que p ( x, y ) > 0 , q ( x, y ) > 0 , r ( x, y ) 0 y

p ( x, y )

u u cos(1 ) + q ( x, y ) cos( 2 ) x y

diferenciables dos veces. El mtodo de elemento finito aproxima estas solucin minimizando el funcional I sobre una clase menos de funciones,

F. Antoine S.

A. Sangiacomo C.

237

Apndice

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

de la misma manera que el mtodo Ritz n +1 , n + 2 ,..., m se usan [par asegurar que se anteriormente. satisfaga la condicin de frontera El primer paso en el procedimiento consiste en ( x , y ) = g ( x, y ) dividir la regin en un nmero finito de secciones, o elementos, de forma regular, ya sean en G1 , mientras que el resto de las constantes rectngulos o, tringulos que son os que ms se 1 , 2 ,..., m se usan para minimizar el acostumbran. m funcional I [

ii ] .
i =1

Reemplazando en (4) el funcional es de la forma

I [ ] = I [ ii ]
i =1

=
D

{1 [ p ( x, 2

m i ( x, y ) y ) i x i =1

Figura a.2.

m i ( x, y ) + q( x, y ) i y i =1

Un conjunto de funciones que se usa para el 2 m tratamiento de aproximacin es generalmente el r ( x, y ) ii ( x, y ) ] conjunto de polinomios segmentarios de grado i =1 fijo en x y y , para este proceso de m aproximacin se debe pedir a los polinomios que + f ( x, y ) i i ( x, y )} dxdy unan de tal manera que la funcin resultante sea i =1 continua con primeras o segundas derivadas m continuas o integrables en la regin entera. Los + { g 2 ( x, y ) ii ( x, y ) polinomios del tipo lineal en x y y , i =1 G2 ( x, y ) = a + bx + cy , 2 m son usualmente par elementos triangulares 1 + 2 g1 ( x, y ) ii ( x, y ) }dS . (5) mientras que los polinomios del tipo bilineal en i =1 x y y, Aqu tomamos como variables de I a los ( x, y ) = a + bx + cy + dxy , parmetros 1 , 2 ,..., n , y lo optimizamos para son para elementos rectangulares. Para resolver este problema, supongamos que la tener un mnimo o sea: I regin D ha sido dividida en elementos = 0 , para k = 1, 2, , n. (6) triangulares. La coleccin de tringulos de denota k por T y los vrtices de estos tringulos se llaman Derivando (5) nos resulta nodos. El mtodo busca una aproximacin de la m i ( x, y ) k ( x , y ) I forma = {[ p ( x, y ) i

( x, y ) = ii ( x, y ) ,

i =1

1 , 2 ,..., m son polinomios donde segmentarios de primer grado, linealmente independientes y 1 , 2 ,..., m son constantes. Algunas de estas constantes, digamos
F. Antoine S.

i =1

+ q ( x, y ) i
i =1 m

i ( x, y ) k ( x, y ) y y

r ( x, y ) ii ( x, y ) k ( x, y )]
i =1

A. Sangiacomo C.

238

Apndice

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

+ f ( x, y ) k ( x, y )} dxdy

+ { g 2 ( x, y ) k ( x, y )
G2

donde v =

k = n +1

ik k ;

para cada i=1, 2, , n.

La eleccin particular de las funciones de base es muy importante debido a que una apropiada m + g1 ( x, y ) ii ( x, y ) k ( x, y )}dS (6) eleccin puede hacer que la matriz A se definida positiva y en banda. Para nuestro problema (1) i =1 igualando a cero para cada k = 1, 2, , n resulta que es de segundo orden, supondremos que D el m poligonal y que G1 es un conjunto continuo de ( x , y ) k ( x, y ) 0= [ { p ( x, y ) i rectas, con lo que D = T . x x i =1 D Para empezar el procedimiento dividamos la ( x, y ) k ( x, y ) regin T en una coleccin de tringulos + q ( x, y ) i y y T1 , T2 ,..., TM con los vrtices, o nodos del isimo tringulo en

r ( x, y )i ( x, y ) k ( x, y )} dxdy +
G2

g1 ( x, y)i ( x, y)k ( x, y)}dS ] i


D

V ji = ( x ij , y ij )

para j=1, 2, 3.

Ahorrando notacin, escribiremos a V ji como

+ f ( x, y ) k ( x, y ) dxdy

V j = ( x j , y j ) cuando estemos trabajando con el


(7) nodo fijo Ti . Con cada vrtice V j asociamos un polinomio lineal

g 2 ( x, y) k ( x, y)dS ,
G2

Formando un conjunto de ecuaciones y se puede escribir de la forma matricial puesto que un donde N i ( x , y ) = 1, si j = k . j k k sistema lineal: 0, en otro caso A = b , (8) Esto produce sistemas lineales de la forma (por T ejemplo para j = 2 ) A = [ ] , = ( , ,..., ) , donde
ik 1 2 n

N ij = N j = a j + b j x + c j y ,

b = ( 1 , 2 ,..., n )T , y definidas como

ik = { p( x, y )
D

i ( x , y ) k ( x, y ) x x

1 x1 1 x 2 1 x3

y1 a j 0 y2 b j = 1 0 y3 c j

+ q ( x, y )

i ( x, y ) k ( x, y ) y y r ( x, y )i ( x, y ) k ( x, y )} dxdy

g1 ( x, y)i ( x, y)k ( x, y)}dS ,


G2

para cada i=1, 2, , n, k=1, 2, , m, y

i = f ( x, y ) k ( x, y ) dxdy
D

que se encuentran en T G de izquierda a derecha y de arriba hacia abajo. Con cada nodo (9) Ek , asociamos una funcin k que es lineal en cada tringulo, tiene el valor uno y cero en cada uno de los otros nodos. Esto hace que k sea idntica a N ij en el tringulo Ti cuando el nodo

en los que el elemento uno aparece en el vector de la derecha en su j-simo rengln. Sea E1 , E2 ,..., En una asignacin de los nodos

g 2 ( x, y) k ( x, y)dS + v ,
G2

Ek es el vrtice denotado por V ji .


B.2. Ejemplo:

para cada i=1, 2, , n.

F. Antoine S.

A. Sangiacomo C.

239

Apndice

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

da
1 1 N1 2 ( x, y ) = 3 x + 3 y .

1 ( x, y ) = a3 + b3 x + c3 y Y as tambin para N 3 nos da


1 N3 ( x, y ) = 1 1 x 2 y. 3 3

En cambio para T2 , partiendo del punto (1,1) notndolo como V12 , el (0,0) como V22 y el

(1,0) como V32 .


2 ( x, y ) que toma el valor de La funcin lineal N1 uno en (1,1) y cero en los puntos (0,0) , (1,0) , y Para ilustrar supongamos que el problema de satisface elementos finitos contiene a los tringulos T1 y

Figura a.3.

T2 .
Si resolvemos en el orden antihorario para el T1 partiendo del punto (1,1) notndolo como V11 , el
1 1 (1,2) como V2 y el (0,0) como V3 .

`2 2 2 a1 + b1 (1) + c1 (1) = 1

2 2 2 a1 + b1 (0) + c1 ( 0) = 0 , 2 2 2 a1 + b1 (1) + c1 ( 0) = 0 2 2 al resolver esto nos resulta a1 = 0 , b1 = 0,

1 ( x, y ) que toma el valor de 1 La funcin lineal N1 uno en (1,1) y cero en los puntos (0,0) , ( 1,2) , da y satisface

c 2 = 1 , y reemplazando en
2 N1 ( x, y ) = a1 + b1 x + c1 y 2 N1 ( x, y ) = y .

1 1 1 a1 (1) + c1 (1) = 1 + b1 1 1 1 a1 + b1 (1) + c1 (2) = 0 , 1 1 1 a1 + b1 (0) + c1 ( 0) = 0

2 2 ( x, y ) y N 3 ( x, y ) , De manera similar para N 2 resultndonos 2 N2 ( x, y ) = 1 x

1 1 al resolver esto nos resulta a1 = 0 , b1 =2 , 3 y 1 c1 =1 , y reemplazando en 3


1 N1 ( x, y ) = a1 + b1 x + c1 y da 1 N1 ( x, y ) = 2 x+ 3 1 3

2 N3 ( x, y ) = 1 y ,

respectivamente.

Aqu tenemos que remarcar la consecuencia y ) geomtrica que en la frontera comn de T1 y T2 Respectivamente para la funcin lineal 1 2 que toma el valor de uno en (1,2) y cero en los se tiene N1 ( x, y ) = N1 ( x, y ) puesto que y = x. puntos (0,0) , (1,1) , y satisface

y.

N1 2 ( x,

1 1 a1 2 + b2 (1) + c2 (1) = 0 1 1 a1 2 + b2 ( 1) + c2 ( 2) = 1 , 1 1 a1 2 + b2 (0) + c2 (0) = 0 1 1 al resolver esto nos resulta a1 2 = 0 , b2 = 3 , 1 c1 2 = 3 , y reemplazando en

Continuando con este proceso para la funcional I con una representacin explcita por

( x, y ) = ii ( x, y ) ,
i =1

tendremos para

N1 2 ( x, y ) = a2 + b2 x + c2 y
F. Antoine S.

T1 : ( x, y ) = 1 ( 2 x+1 y ) + 2 ( 1 x+1 y) 3 3 3 3
240

A. Sangiacomo C.

Apndice

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

B.3. Ejemplo: Con las suposiciones de lneas arriba y con los Para generar las componentes de la matriz A por datos del ejemplo A.2 anterior y con la figura a.5 facilidad tomemos la figura a.4

T2 : ( x, y ) = 1 ( y ) + 2 (1 x) + 3 (1 y ) .

+ 3 (1 1 x 2 y) , 3 3

2 2 2 2 2 2 r ( a1 + b1 x + c1 y )(a3 + b3 x + c3 y )dxdy
T2

Figura a.5. Figura a.4. Supongamos que E1 no en nodo de G2 . La para E3 con 32 = 23 y relacin entre los nodos y los vrtices de los 1 1 1 tringulos para esta figura es 23 = b3 b1 pdxdy + c1 3c1 q dxdy 1 T1 T1 E1 = V3 = V12 , E4 = V22 ,

1 E3 = V2 = V32 ,

E2 = V11 .

Como 1 y 3 son ambos diferentes de cero en T1 y T2 , las componentes 13 = 31 se calculan usando (9)

1 1 1 1 1 r ( a1 3 + b3 x + c3 y )( a1 + b1 x + c1 y ) dxdy
T1

2 2 2 2 + b2 b1 pdxdy + c2 c1 q dxdy
T2 T2

13 = { p
T

1 3 +q 1 3 x x y y
r 1 3} dxdy


T2

2 r ( a2

2 2 2 + b2 x + c2 y )(a1

2 2 + b1 x + c1 y )dxdy

= { p
T1

1 3 +q 1 3 x x y y
r 1 3} dxdy

reemplazando los valores hallados en el ejemplo A.2

23 = ( 1 )( 2 ) pdxdy + (1)(0) q dxdy 3 3


T1 T1

r (1 1 x 2 y )( 2 x+1 y )dxdy 3 3 3 3
T1

+ { p
T2

1 3 +q 1 3 x x y y
r 1 3} dxdy

+ (1)(0) pdxdy + (0)(1) q dxdy


T2 T2

r (1 x)( y )dxdy
T2

1 1 1 = b3 b2 pdxdy + c1 3c2 q dxdy


T1 T1

y haciendo operaciones resulta:


2 23 = ( 9 ) pdxdy T1


T1

r ( a1 3

1 1 + b3 x + c1 3 y )( a2

1 + b2 x + c1 2 y ) dxdy

2 2 + b1 b3

T2

2 2 pdxdy + c1 c3

q dxdy
T2

r (1 1 x 2 y )( 2 x+1 y )dxdy 3 3 3 3
T1

F. Antoine S.

A. Sangiacomo C.

241

Apndice

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

r (1 x)( y )dxdy .
T2

TN +1 , TN + 2 ,..., TM son los tringulos


restantes. (Si M = N implica que todos los tringulos tienen lados en G2 ). Marcar los tres vrtices del tringulo Ti con
i i i i i i ( x1 , y1 ) , ( x2 , y2 ) y ( x3 , y3 ).

restringida a T1 y parte de 1 restringida a T2 . En general, una componente k tiene contribuciones de k restringidas a cada uno de los tringulos que tienen a Ek como vrtice, las componentes de los nodos que se encuentran en G2 tendrn integrales de lnea aadidas en A y b. Tomando la Ecuacin Diferencial Parcial

Parte de la componente 1 proviene de 1

Marcar

los

E1 , E2 ,..., Em estn en T G2 y En +1 , ..., Em estn en G1 . (Nota: si n = m implica que G1 no


contiene nodos.) Paso 3: Entrar: k , N , M , n, m , {nmeros enteros} Entrar: Para i = 1 hasta M entrar
{los vrtices}

nodos (vrtices) donde E1 , E2 ,..., En

u u ( p ( x, y ) )+ ( q ( x, y ) ) x x y y + r ( x, y )u ( x, y ) = f ( x, y ) , ( x, y ) T D
sujeta a las condiciones de frontera u ( x, y ) = g ( x, y ) , ( x, y ) G1 y

i i y ( x3 , y3 ) Entrar: Para i = 1 hasta m entrar Ei


i i ( x1 , y1 ) , i i ( x2 , y2 )
{los nodos (vrtices)} {Nota: esto ltimo es necesario para

u u un nodo o sea: Ei = ( xi , yi ) o cos(1 ) + q ( x, y ) cos( 2 ) p ( x, y ) x y Ei ( xi , yi ) .} + g1 ( x, y )u ( x, y ) = g 2 ( x, y ) , Paso 4: Para i = n + 1 hasta m hacer ( x, y ) G2 i = g ( xi , yi ) {con los Ei = ( xi , yi ) } donde G1 G2 es la frontera de T , y 1 y 2 Paso 5: Para i = 1 hasta n hacer son los ngulos direccionales de la normal a la i = 0 frontera. Con esto pasamos a describir el Para j = 1 hasta n ij = 0 . algoritmo para su solucin por el mtodo de elementos finitos. Paso 6: Para i = 1 hasta M hacer 1 x1 y1 B.4. Algoritmo del Mtodo de elemento i = det 1 x2 y2 finito 1 x3 y3 Paso 1: Definir p( x, y ) , q( x, y ) , i i i i x i y i y2 x3 i y2 y3 i r ( x, y ) , f ( x, y ) ; b1 = ; a1 = 2 3 i i Paso 2: Dividir la regin T en tringulos i i T1 , ..., TM tales que: T1 , ..., Tk son los x x2 i c1 = 3 tringulos con todos sus vrtices i interiores a T . i i i i x i y i y3 x1 i y3 y1 i Tk +1 , Tk + 2 ,..., TN son los tringulos ; b2 = ; a2 = 3 1 i i con por lo menos un lado en G2 ;

hacer corresponder un vrtice con

F. Antoine S.

A. Sangiacomo C.

242

Apndice

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

i c2

i i i i x1 x3 x i y i y1 x2 i = ; a3 = 1 2 ; i i

(i ) tl = tl + z k ,j,

en otro caso
(i ) l = l t zk ,j,

i b3 =

i c3 = i i Para j = 1 hasta 3 hacer


i y1 i y2 ; i x2 i x1

{func. lineales}

En otro caso Si t n entonces


(i ) t = t l zk ,j.

N ij ( x, y )
Paso 7:

a ij

+ bij x + c ij y .
Paso 15:

Si l n entonces
(i ) ll = ll + z k ,k ,

Para i = 1 hasta M hacer


{aqu la integrales se evaluaran por mtodos numricos}

Para j = 1 hasta 3 hacer Para k = 1 hasta j hacer

(i ) l = l + H k .

Paso 16:

Para i = K + 1 hasta N

{calcula las integrales dobles sobre los tringulos}

(i ) z (ji,)k = b (ji )bk p( x, y)dxdy Ti (i ) + c (ji ) ck q( x, y)dxdy Ti (i ) r ( x, y ) N (ji ) ( x, y ) N k ( x, y )dxdy , Ti

{Calculando las integrales de lnea y colocndolas en el sistema lineal}

Paso 17: Para k = 1 hasta 3 hacer Paso 18: Encontrar l tal que

(i ) (i ) El = ( xk , yk ) , Paso 19: Si k > 1 entonces Para j = 1 hasta k 1 hacer Paso 20: Encontrar l tal que

H (ji ) = f ( x, y ) N (ji ) ( x, y )dxdy .


Ti

Et = ( x (ji ) , y (ji ) ) ,
Paso 21: Si l n entonces Si t n entonces
(i ) lt = lt + J k ,j, (i ) tl = tl + J k ,j,

Paso 8:

Para i = K + 1 hasta N Para j = 1 hasta 3 hacer Para k = 1 hasta j hacer


{Calcula las integrales de lnea}

J (ji,) k =

g1 ( x, y) N j
G2

(i )

(i ) ( x, y ) N k ( x, y )dS , (i )

en otro caso
(i ) l = l t J k ,j,

I (ji ) =
Paso 9:

g 2 ( x, y ) N j
G2

( x, y )dS .

En otro caso Si t n entonces


(i ) t = t l J k ,j.

Para i = 1 hasta M hacer Paso 10: Para k = 1 hasta 3 hacer Paso 11: Encontrar l tal que Paso 22:

{se construye las integrales sobre cada tringulo y se arma el sistema lineal}

Si l n entonces
(i ) ll = ll + J k ,k ,

(i ) (i ) El = ( xk , yk ) , Paso 12: Si k > 1 entonces Para j = 1 hasta k 1 hacer Paso 13: Encontrar l tal que Et = ( x (ji ) , y (ji ) ) ,

(i ) l = l + I k .

Paso 14:

Si l n entonces Si t n entonces
(i ) lt = lt + z k ,j,

Paso 23: Resolver el sistema lineal Ac = b donde A = ( l ,t ) , b = ( l ) , c = ( t ) , para 1 l , t n . Paso 24: Publicar: ( 1 , 2 ,..., m ) .
{Para

k = 1 hasta m

hacer

k = N (ji )

en

F. Antoine S.

A. Sangiacomo C.

243

Apndice

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Ti

si

Ek = ( x (ji ) , y (ji ) ) .
m k =1

Entonces aproxima a

( x, y ) = k k ( x, y )
u ( x, y )
en

Solucin: D en tringulos Primero subdividimos etiquetndolos como se sugiere en el paso 2 del algoritmo. Para este ejemplo, G1 = L6 L7 y

D G1 G2 . }

G2 = L1 L2 L3 L4 L5 .
Los tringulos ya marcados se muestran en la figura
(i )

Paso 25: Publicar: Para i = 1 hasta M hacer Para j = 1 hasta 3 hacer Publicar (a j , b j , c j ) . Paso 26: Parar. B.5. Ejemplo: La temperatura u ( x, y ) , de una regin bidimensional D satisface la ecuacin de Laplace
(i ) (i )

= 0 , en D . x2 y2 La regin D considerada se muestra en la figura.


Figura a.7. La condicin de frontera u ( x, y ) = 4 , en L6 y

2 u ( x, y )

2 u ( x, y )

L7 , implica que l = 4 cuando l = 6,7,...,11 .


Para determinar los valores de

l = 1,2,...,5 , aplicamos los pasos restantes del


algoritmo y generamos la matriz

para

0 0 0 1 2.5 0 1.5 1 0.5 0 Figura a.6. A = 1 4 0 0 1 0 0 . 5 0 2 . 5 0 . 5 Y supongamos que tenemos las siguientes 0 0 0.5 1 condiciones de frontera 0 u ( x, y ) = 4 , para ( x, y ) L6 y ( x, y ) L7 , y el vector 6.0666 u ( x, y ) = x , para ( x, y ) L2 y 0.0633 n u ( x, y ) b = 8 . 0000 ( x, y ) L4 , = y , para ( x, y ) L5 , n 6.0566 u ( x, y ) x + y = , para ( x, y ) L1 y 2.0316 n 2 La solucin del sistema lineal Ac = b es ( x, y ) L3 . u denota la derivada direccional en la Donde n
direccin de la normal de la frontera de la regin D en el punto ( x, y ) .
F. Antoine S. A. Sangiacomo C.

244

Apndice

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

1 4.0383 4.0782 2 c = 3 = 4.0291 . 4 4.0496 4.0565 5

Objetivo: Aplicar la Solucin Numrica de un sistema EDO a un sistema de Compartimentos

I. Introduccin

Resultando la siguiente aproximacin a la En los modelos de compartimentos las solucin de la ecuacin de Laplace y las sustancias u organismos en estudio se condiciones de frontera en los tringulos suponen repartidas en diferentes respectivos

T1 : ( x, y ) = 4.0383(1 5 x + 5 y ) + 4.0291(2 + 10 x) + 4(2 5 x 5 y ) T2 : ( x, y ) = 4.0782(2 + 5 x + 5 y ) + 4.0291(4 10 x) + 4(1 + 5 x 5 y ) T3 : ( x, y ) = 4(1 + 5 y ) + 4(2 5 x 5 y ) + 4.0383(5 x ) T4 : ( x, y ) = 4.0383(1 5 x + 5 y ) + 4.0782(2 + 5 x + 5 y ) + 4.0291(2 10 y ) T5 : ( x, y ) = 4.0782(2 5 x + 5 y ) + 4.0496(4 + 10 x) + 4(3 5 x 5 y ) T6 : ( x, y ) = 4.0496 (6 10 x ) + 4.0565(6 + 10 x + 10 y ) + 4(1 10 y ) T7 : ( x, y ) = 4(5 x + 5 y ) + 4.0383(5 x) + 4(1 5 y ) T8 : ( x, y ) = 4.0383(5 y ) + 4(1 5 x) + 4(5 x 5 y ) T9 : ( x, y ) = 4.0291(10 y ) + 4(2 5 x 5 y ) + 4(1 + 5 x 5 y ) T10 : ( x, y ) = 4.0496(10 y )
+ 4 (3 5 x 5 y ) + 4 ( 2 + 5 x 5 y ) .

compartimentos los cuales no son ms que clases de equivalencias definidas a partir de esas sustancias u organismo de tal forma que las transferencias entre tales clases de equivalencias sean proporcionales a la cantidad de unidades en cada compartimento. Llamando xi (t ) a la cantidad de material u organismo en el compartimento i en el instante t y aij al coeficiente de

proporcionalidad asociado a la transferencia del compartimento j al i el cual siempre es positivo, el balance de la masa (materia u organismos) en cada compartimento se puede escribir de la siguiente forma lineales
n n dxi = a ji xi + aij x j , i = 1..n ; dt j =1 j =1 (I.1) asumiendo

aii = a ji ,
j =1 j i

i = 1..n

(I.2)

podemos escribir el sistema (I.1) de la forma


La solucin real del problema con valores de siguiente: frontera es dx u ( x, y ) = xy + 4 . Se le deja al lector comparar los resultados. dt

= Ax

(I.3)

donde: C.1. Identificacin de Parmetros en Modelos de Compartimentos y Funciones Convexas en Procesos Farmacolgicos
F. Antoine S. A. Sangiacomo C.

245

Apndice

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

a11 a12 ... a1n a a22 ... a2 n 21 , A= .. .. .. .. an 2 ... ann an1

(I.4)

indefinidamente este carcter, lo que unido al balance de masa permite garantizar la estabilidad asinttica de estos modelos. II. Identificacin de Parmetros en Modelos de Compartimentos

estas caractersticas de la matriz A garantizan Los modelos de compartimentos pueden ser que se cumple el llamado balance de masa utilizados para determinar los parmetros que del sistema, o sea que cualquier instante de describen un sistema, buscando los a que ij tiempo: hacen ptimo el ajuste entre la solucin terica del sistema (I.1) y los datos n n experimentales. (I.5) xi (t ) = xi (0) Antes de resolver este problema es necesario i =1 i =1 Para cada matriz A est claro que las conocer si es soluble a priori, o sea, si dada soluciones del sistema (I.1) estn la estructura del sistema, es posible obtener unvocamente determinadas cuando se unvocamente los valores de los coeficientes conozcan sus condiciones iniciales es decir, aij de la matriz que determina el sistema. El el vector: problema no es trivial ya que existen x1 (t 0 ) ejemplos de sistemas en los que no es posible determinar unvocamente los coeficientes. x0 = ... Por otra parte, debe tenerse en cuesta no xn (t 0 ) xi son observables todos los el cual habitualmente se obtiene de manera experimentalmente por lo que se puede experimental. En la practica los modelos de definir un vector s cuyos componentes i compartimentos no estn aislados del indican si la variable xi es observable exterior, por lo que debe introducirse un ( = 1 ) o no ( = 0 ). i trmino de perturbacin u, que representa un i efecto de la entrada de la sustancia hacia los Una vez demostrado que el sistema es compartimentos desde el exterior, quedando: identificable a priori es necesario encontrar efectivamente, cuales valores de los u1 x1 coeficientes aij hacen corresponder las dx soluciones del modelo con las observaciones prcticas (empricas). Esta tarea es la llamada (I.6) identificacin a posteriori. Es necesario definir un sentido de Teniendo en cuenta las perturbaciones el proximidad entre las soluciones y las balance de masa en un momento dado t, mediciones. Esto puede hacerse de v arias queda maneras. n n T La forma ms evidente es la de minimizar la (I.7) xi (t ) = xi (0)0 ui (r )dr desviacin entre los valores observados y i =1 i =1 calculados de la manera siguiente: adems puede demostrarse que si los valores K (a ) = T x (t ) x exp (t ) 2 dt = min! ij m 0 m m son positivos, las soluciones mantendrn m =1
F. Antoine S. A. Sangiacomo C.

dt

= Ax + u ,

x = ... , xn

u = ... u n

246

Apndice

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

garantizar el obtener una solucin local, y luego saber si esta es global. exp donde x m (t ) es la curva experimental Teniendo en cuenta la forma de los para la variable m, y m es el coeficiente coeficientes de la matriz A del sistema (I.1), el problema se puede interpretar como un que indica si la curva puede ser observada o problema de programacin no lineal con no. Esta forma de definir el sentido de restricciones lineales. proximidad tiene la desventaja de que para cada evaluacin de la funcin K, es necesario Mn K (aij ) resolver el sistema(I.1) proceso este que sujeto a: consume mucho tiempo. n Para evitar este problema se puede escoger aii + a ji = 0, i = 1..n como funcin a minimizar: (II.1)
K (aij ) =
m =1

m 0

d x m (t ) dt
n

j =1 i j

i =1

exp xm (t )

2 dt = min!

aii 0,
(II.2)
2

i = 1..n . (II.3)

Si escribimos la matriz A como un vector del

espacio E n parando sus filas una a continuacin de la otra La cual tiene la ventaja de no ser necesario T de resolver el sistema (I.1) pero incluye el a = (a11 , a12 , L , a1n , a21 , a22 , L , a1n , L , an1 , an 2 , L , ann ) calculo numrico de las derivadas de las exp el problema se puede describir de la siguiente funciones x m (t ) , lo que ocupa tambin manera tiempo y propende por otra parte, aumentar Mn K (aij ) la importancia del ruido aleatorio que puede haberse introducido en las mediciones, por lo sujeto a: Ma = 0 que es recomendable que la utilizacin de a0. (II.4) este mtodo sea precedido por un filtrado de 2 las curvas experimentales para evitar este donde M E n riesgo. Adems generalmente las funciones 1 0 ... 0 1 0 ... 0 ... ... 1 0 ... 0 experimentales estn dadas en forma tubular, 0 1 ... 0 0 1 ... 0 ... ... 0 1 ... 0 M = incluyendo pocos puntos, por lo que la . . . . . . . . . . . . . . aproximacin resultante es pobre, por lo que 0 0 ... 1 0 0 ... 1 ... ... 0 0 ... 1 no permite el clculo de las derivadas con (II.5) buena exactitud. En el modelo a veces se conoce de antemano En ambos casos es necesario encontrar el que algunos aij son iguales a cero, por lo que mnimo de la funcin K. Este problema no es hay que aadirle nuevas restricciones al trivial ya que al no poderse garantizar que K problema. En nuestra notacin esto se sea convexa, no puede ni siquiera asegurarse expresa aadindole a la matriz M una fila que los mnimos locales sean globales, o sea, que la solucin posible en el entorno de un por cada aij = 0 , esta fila va a tener todos punto sea lo mejor posible en todo el espacio. sus componentes iguales a cero salvo el de la De todas maneras, es necesario primero posicin ( n i + j ) que ser igual a uno. Con

F. Antoine S.

A. Sangiacomo C.

247

Apndice

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

eso se obtiene una matriz de (n + k )n 2 , asociados al esquema de flujo arriba establecido, as: donde k es cantidad de aij iguales a cero. & a 0 0 x1 x 1 21 & III. Eleccin de un problema Especfico de x2 = a21 a32 0 x2 ; (III.1) x a32 0 Identificacin x3 &3 0 tenemos entonces que los coeficientes a12 , Esto se refiere que ha manera de ejemplo a , a , a y a33 son ceros. practico se desarrolla la solucin de uno en 13 23 31 Luego usando una dosis conocida x1 (0) de particular. medicamento y los valores de concentracin Famacocintica del medicamento en sangre x2 , que sern La farmacocintica es un de las aplicaciones medidos oportunamente por extracciones ms conocida de los modelos de peridicas de sangre se logra determinar los compartimentos. La tarea aqu consiste en coeficientes a correspondientes al paciente ij modelar el proceso de absorcin, dado, y con esto se optimiza la dotacin de degradacin y eliminacin de un frmaco medicamento la cual est representado por la dado, con el fin de obtener un determinado dosis inicial. efecto teraputico, o sea obtener la dosis optima para alcanzar un determinado efecto Otro problema con tratamiento anlogo teraputico y no provocar fuertes efectos sera el siguiente: Tomando ahora un antibitico que se secundarios. introduce por perfusin endovenosa, se Tomando una sustancia que se introduce tiene entonces los compartimentos por va oral se tiene entonces un SANGRE {1}, LQUIDO TISULAR {2} compartimento que es el ESTMAGO y la EXCRECIN {3}, aqu en {2} es {1}, al pasar por difusin a la SANGRE lo donde surte efecto el antibitico. distinguimos como el compartimento {2} Veamos el esquema grfico: y finalmente todos los procesos de expulsin del frmaco se agrupan en el compartimento {3} EXPULSIN. De manera que se estable el siguiente esquema d compartimentos:

Figura 2. El cual sera igual al anterior visto lneas arriba. Figura 1 Entonces los coeficientes aij sern Obsrvese que un modela ms complejo incluye sus interacciones reales y sera:

encontrados del sistema de ecuaciones

F. Antoine S.

A. Sangiacomo C.

248

Apndice

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

t [0, T ] la distancia entre la curva observable y la analtica debe ser mnima. Podramos elegir slo la distancia simple
entre xm (t ) (la curva experimental observable) y xi (t ) hallada por clculos por alguna norma definida por ejemplo: Figura 3
xi (t ) xiexp (t ) ,
exp

o con el correspondiente sistema de ecuaciones x(t ) x exp (t ) . diferenciales que lo describe. & a a 0 x1 Podemos usar la desviacin entre los valores a12 x 1 21 31 &2 = a12 a32 0 x2 observados y los calculados, o sea, la norma a21 x L2 de la siguiente manera: x 0 a31 a32 x3 &3 n (III.2)
x(t ) x exp (t )
2 L2

m =1

(x

exp m (t ) xm (t )

)2dt

IV. Reduccin a un Problema de en todo caso necesitamos el mnimo de las Programacin No Lineal con Restricciones expresiones dadas y ello nos conduce aun problema de Optimizacin No Lineal, puesto Lineales que son convexas al menos en una vecindad. Retomemos nuestro problema (III.1) de la Para proseguir con esta idea debemos tomar en cuenta que en todo momento se habla de seccin anterior en estudio puntos experimentales que unidos forman &1 a21 0 0 x1 x una curva experimental observable, esto ya & 2 = a21 a32 0 x2 (IV.1) x lo indicamos con el uso de i en el [II] x 0 x & 0 a 32 3 3 anteriormente. Esto permite trabajar en la solucin particular de este sistema nuestros clculos slo con los datos homogneo es: experimentales observables y por ende comparables, o sea, para el ltimo caso de la a t desviacin nos resulta: e 21 x1 n a t 2 T a t exp x2 = ae 21 ae 32 , (IV.2) m xm (t ) xm (t ) dt , 0 x m =1 1 + be a 21t ae a32 t 3 la cual nos evitar muchas complicaciones a32 a 21 y b = ; y adems innecesarias. donde a = a a 21 a32 21 a 32 Para efectos de ajuste a un programa de a21 a32 . optimizacin, hagamos un funcional K (aij ) Son curvas del tipo exponencial para cada tal que con los conceptos anteriores se hace xi , i=1,2,3. n 2 T exp La curva formada por la unin de los puntos K (aij ) = m 0 xm (t ) xm (t ) dt m =1 observados llamada curva observable debe ahora tenemos mnimo Mn K (aij ) , y luego ser simulada con mnimo de error y, este trmino mnimo nos da una idea de la tenemos que recordar que en todo momento minimizacin del problema, o sea, para cada se hace cumplir que los aij 0 , adems no

F. Antoine S.

A. Sangiacomo C.

249

Apndice

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

existen perturbaciones, o sea, u=0, pero debe cumplir con

el problema inmediato que surge tanto al simular como al controlar un sistema, por modelo de Compartimentos es el de obtener o sea: los parmetros del sistema en base al n conocimientos del comportamiento del aii a ji = 0, i = 1..n sistema en ciertos casos conocidos. j =1 Ante todo para resolver este ltimo problema i j es necesario saber si es soluble a priori. El y nos resulta el planteamiento completo de la problema general de identificacin a priori siguiente forma: no ha sido an resuelto por completo, peor Mn K (aij ) existen varias condiciones necesarias y sujeto a: algunas necesarias y suficientes. n Una de estas caractersticas se encuentra en nuestra matriz A, para el balance de masa, aii a ji = 0, i = 1..n condiciones que ya fueron dada en (I.2) y j =1 i j (I.4). Por otra parte debe ser conocido el nmero aii 0, i = 1..n de compartimentos xi que son observables y como se ve es un problema de experimentalmente, pues una condicin Programacin No Lineal con Restricciones necesaria importante para nuestro caso es Lineales. que dado el sistema (I.3) se cumpla, que si V. Solubilidad y Mtodo de Gradiente y es el nmero de compartimentos para los cuales ui es idnticamente nulo y el Condicin de Convexidad contenido inicial tambin lo es, y el Solubilidad a priori del problema nmero de compartimentos i es nulo, Veamos el caso particular en que se tiene: entonces para que el sistema sea identificable, a priori, es necesario que al menos el nmero de coeficientes aij
j =1 i j

aii = a ji ,

i = 1..n

& a 0 x 1 21 &2 = a21 a32 x x a32 &3 0

0 x1 0 x2 0 x3

Figura 4. Entonces los coeficientes aij sern

sean idnticamente nulos. En este problema que abordamos tenemos = 2 y = 2 y el producto de = 4 y los ceros son cinco. Para completar esta primera parte tambin debe tenerse en cuenta que debe cumplirse en todo momento la condicin

encontrados del sistema de ecuaciones diferenciales asociados al esquema de flujo arriba establecido, as:

aii a ji = 0,
j =1 i j

i = 1..n

aii 0,

i = 1..n .
A. Sangiacomo C.

(V.1)

F. Antoine S.

250

Apndice

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Par

el

caso

Condiciones Karush - Kuhn - Tuker que son anteriormente, (las restricciones son siempre las condiciones de convexidad del problema activas), resulta que debe cumplirse que Mn K (aij ) sujeto a: (V.2)
n

k ij > 0

por

lo

dicho

aii a ji = 0,
j =1 i j

aii a ji = 0,
j =1 i j

i = 1..n

i = 1..n

aii 0,

i = 1..n

(V.5) que son las restricciones del problema. Por ello se concluye la convexidad del problema.

aii 0,

i = 1..n .

Sabemos que las funciones lineales son convexas, o sea, restricciones del problema. Mtodo de Solucin y Funciones convexas Falta slo las condiciones sobre el Lagrangeno en el mtodo de Karush - Kuhn - Una vez demostrado que el sistema es Tuker identificable priori es necesario encontrar efectivamente, cuales valores de los s n coeficientes aij hacen corresponder las 0 0 0

esta tarea es la llamada identificacin a (V.3) posteriori. 0 Aqu K (aij ) aplica el gradiente para la Toda la idea aqu radica en la construccin variable aij , s es el nmero de restricciones y de una funcin convexa, pues si esta es una funcin convexa tendremos la certeza de que hay que tener en cuenta las restricciones que el punto ptimo existe. Ello lo conseguimos son activas en el problema a optimizar, con con el auxilio del punto IV de arriba. la suerte que son todas activas por Ma = 0 , Tomando en cuneta el definido sentido de por lo tanto se tiene lo siguiente: proximidad, entre las soluciones y las aij 0 , mediciones (datos experimentales). La forma entonces ms evidente es minimizar la desviacin entre los valores observados y los valores K (aij ) + k pq = 0 , calculados de la manera siguiente: a pq
n

K (aij ) + kij aii + aij = 0 soluciones del modelo en ecuaciones k =1 j =1 diferenciales con las observaciones prcticas i j

queda un sistema de ecuaciones que tiene la K (a ) = T x (t ) x exp (t ) 2 dt 0 m 0 m ij m siguiente expresin: m =1 n T xm (t ) (V.6) exp 2 m xm (t ) xm (t ) dt Esta forma de definir el sentido de 0 a pq m =1 proximidad tiene la desventaja de cada (V.4) + k ij = 0 . evaluacin de la funcin K, es necesario donde las combinaciones posibles resolver el sistema (I.3) proceso este que particularmente en este caso, para (p; q) son consume mucho tiempo. (2; 1) y (3; 2) y adems considerando la Para evitar este problema se puede escoger como funcin a minimizar curva observable.

F. Antoine S.

A. Sangiacomo C.

251

Apndice

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

columna n - dimensional g ( x) = f ( x)T . 0 Cuando no hay posibilidad de ambigedad i =1 m =1 se suprime el argumento la cual tiene la ventaja de no ser necesario aveces ( , , , ) x = x x L x y, por ejemplo se escribe 1 2 n resolver el sistema (I.3), pero el incluye el calculo numrico de las derivadas de las g k en lugar de g ( xk ) = f ( xk )T . exp funciones xi (t ) , lo que ocupa tambin El mtodo de descenso de mayor pendiente tiempo y propende a aumentar la importancia est definido por el algoritmo iterativo xk +1 = xk k g k (VI.1) del ruido aleatorio que pueda haberse introducido en las mediciones, por lo que es donde k es un nmero no negativo que recomendable que la utilizacin de este minimiza f ( xk g k ) o sea resulta de mtodo sea precedida por un filtrado de las curvas experimentales para evitar este riesgo. k = : Mn f ( xk g k ) . 0 Adems, generalmente las funciones Exciten algunos algoritmos para dar solucin experimentales estn dadas en forma tabular, al problema como son el direcciones incluyendo pocos puntos, por lo que la conjugadas y el mtodo de Newton. aproximacin resultante es pobre y el clculo de las derivadas permite una buena exactitud. Mtodo de Newton
K (aij ) =
T dx m m ami xiexp (t ) dt 0 n

exp dt

En ambos casos es necesario encontrar el El mtodo de Newton se basa en que la mnimo de la funcin K. funcin f que se minimiza se aproxima De esta manera es necesario primero localmente por una funcin cuadrtica, y esta garantizar el obtener una solucin local, y funcin de aproximacin se minimiza luego saber si esta es global. exactamente. As cerca de xk se puede aproximar f por la serie de Taylor truncada VI. Mtodo de Gradiente f ( x) f ( xk ) + f ( xk )( x xk )
+1 ( x xk )T F ( xk )( x xk ) , (VI.2) Uno de los mtodos ms antiguos y conocido 2 de minimizacin de una funcin de varias El lado derecho se minimiza en variables es el mtodo de mayor pendiente xk +1 = xk [ F ( xk )]1 f ( xk )T , (VI.3) (tambin llamado mtodo de Gradiente). El mtodo es de gran importancia terica es y esta ecuacin es la forma pura del mtodo uno de los ms sencillos para los que existe de Newton. Teniendo en cuneta las condiciones de un anlisis satisfactorio. suficiencia de segundo orden para un punto mnimo, se supone que en un punto mnimo El mtodo relativo, x * , la matriz Hessiana F ( x*) es Sea f una funcin con primeras derivadas definida positiva. parciales continuas en E n . Con frecuencia se Entonces se pude argumentar que si se tiene necesitar el vector gradiente de f, por lo que segundas derivadas parciales continuas, se dar una nocin simplificadora. El F ( x) es definida positiva cerca de x * , por gradiente f ( x) , de acuerdo con lo lo que el mtodo esta bien definido cerca de establecido, est definido como un vector fila la solucin.

n - dimensional. Por conveniencia se define


F. Antoine S. A. Sangiacomo C.

252

Apndice

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

VII. Clculo del Gradiente de K

De (VII.4) para nuestro problema particular que estamos tratando aqu, no da un total de Para hallar los valores de la matriz A o sea 27 ecuaciones diferenciales de la forma: identificar los aij que mejor aproximan la m=1;
x3 x1 x2 d x1 = a11 + a12 + a13 x1 a11 a11 a11 d t a11 x3 x1 x2 d x1 = a11 + a12 + a13 + x2 d t a12 a12 a12 a12 x3 x1 x2 d x1 = a11 + a12 + a13 + x3 a13 a13 d t a13 a13 x3 x1 x2 d x1 = a11 + a12 + a13 a21 a21 d t a21 a21

curva experimental, se calcula el mnimo de K, de las ecuaciones (II.1) o (V.6), esto lo conseguimos aplicando el mtodo de gradiente (aij ) k +1 = (aij ) k k K (aij ) k (VII.1)
K (aij ) aij = 2 m
m =1 n T

(x

exp m (t ) xm (t )

) x a (t ) dt
m ij

. . . . . . . . . . . (VII.2) x3 x2 x1 Aqu se nos presenta el problema para d x1 + a13 + a12 = a11 xm (t ) d t a32 a32 a32 a32 calcular , para ese propsito usamos x3 x2 x1 d x1 aij el siguiente artificio: n x xk d xm = amm m + amk d t aij aij k m aij
n amm amk xm + xk aij k m aij

d t a33

= a11

a33

+ a12

a33

+ a13

a33

m=2;
x3 x1 x2 d x2 + a23 + a21 = a22 d t a11 a11 a11 a11 x3 x2 x1 d x2 = a22 + a21 + a23 a12 a12 d t a12 a12 x3 x2 x1 d x2 = a22 + a21 + a23 a13 a13 d t a13 a13 x3 x2 x1 d x2 = a22 + a21 + a23 + x1 d t a21 a21 a21 a21 x3 x2 x1 d x2 = a22 + a21 + a23 x2 a22 a22 d t a22 a22 = a22 + a21 x3 x1 + a23 a33 a33

(VII.3) [Es referente a la fila m del sistema (I.1). particularmente para (III.1) y para m=2, & 2 = a21 x1 a32 x2 + 0 x3 . En donde se han x intercambiado las derivadas por conveniencia o facilidad.] x (t ) ij Haciendo wm = m , se tienen un sistema . . . . . . . . . . . aij x2 d x2 de ecuaciones diferenciales para
ij wm :

d t a33

a33

ij d wm ij ij = amm wm + amk wm + mi x j ; dt k m para i j

m=3
x3 x2 x1 d x3 = a33 + a32 + a31 d t a11 a11 a11 a11
x3 x1 x2 d x3 + a31 + a32 = a33 a21 a21 d t a21 a21

. . . . . . . . . . .

d ij ij = amm wm + amk wm mi xm ; dt k m (VII.4) para i = j . donde mi es la delta de Kronecker, con condiciones iniciales nula (homogneas).

ij wm

. . . . . . . . . . .
x3 x1 x2 d x3 = a33 + a31 + a32 x3 d t a33 a33 a33 a33

(VII.5)
A. Sangiacomo C.

F. Antoine S.

253

Apndice

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Paso 6: M n = M 0 , n=0 Y agrupando nos dan un total de 9 sistemas Paso 7: Repetir hasta cumplir Tol. de ecuaciones diferenciales como por {Cuerpo del Algoritmo} ejemplo (particularmente para a12 ): K (aij ) Paso 8: Calcular ;
d dt d dt d dt x1 x1 = a21 a12 a12 x2 x1 x2 a32 = a21 a12 a12 a12 x3 x2 a32 = a12 a12 + x2
aij

Paso 9: Calcular n ptimo por

{Por Simpson o trapecios}

0 Paso 10: Calcular

n = : Mn K (aij g n )

;
K (aij ) aij

(VII.6) que al resolver da el valor de los valores de x1 x2 x3 , , , del cual slo tomamos a12 a12 a12 x2 el de , para comparar. a12 VIII. Algoritmo: Paso 1: Definir la funcin: ij d wm ij ij = amm wm + amk wm + mi x j ; dt k m para i j
ij d wm ij ij = amm wm + amk wm mi xm ; dt k m para i = j , Paso 2: Definir la funcin

M n +1 = M n n

Paso 11: n = n + 1; Paso 12: Si M n +1 M n Tol entonces ir paso 14; Paso 13: En otro caso M n = M n +1 ir al Paso 8; Paso 14: Publicar M n +1 .
{Como el valor ptimo del proceso}

IX. Programa Delphi Pascal

K (aij ) =

m =1

m 0

(x

exp m (t ) xm (t )

)2 dt

Paso 3: Definir la funcin

K (aij ) aij

Paso 4: Definir la matriz M n n 2 (a ij )

a0 0 0 11 0 Paso 5: Ingresar M 0 = a 0 0 a 22 21 0 a0 0 32 Tol. {Valor inicial y la Tolerancia}


Nota: Son los valores respectivamente de

La idea de lo que debemos hacer para darle solucin al problema es: Primero: se plantea el problema de tres ecuaciones diferenciales (VII.5) y resolver por mtodo numrico con las aproximaciones dadas a21 y a32 . Segundo: se compara con los datos experimentales dados pro la muestra del compartimento observable.
A. Sangiacomo C.

a21 a11 y a22 a32

F. Antoine S.

254

Apndice

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Tercero: se tiene en cuenta la tolerancia o error con alguna norma entre los datos experimentales y los calculados. Cuarto: de acuerdo al paso tercero se regresa al primero o se para el proceso. Por lo extenso del programa slo se muestra en el disco compacto donde estn todos los programas de este apndice parmetros

Figura 1.

D.1. Problema de Degradacin

Modelacin 1. Se desea calcular el parmetro a y b ptimos, de una ecuacin diferencial I. [ Motivaciones, Conceptos, mtodos, ordinaria. recursos] [Un proceso de degradacin es proporcional al proceso y ' y + r , r es un parmetro.] I.1. Motivaciones: Nos motiva como poder y ' = ay + b (1) dar solucin al problema anterior donde se dada una tabla de valores nos dice como hallar la solucin del mejor t y parmetro a y b tal que sea ptimo (una idea, es que debe ser el mejor de un conjunto de 0 =0 1 valores que puede tomar a y b tal que la distancia = 0.5 = 0.899796867714381 2 entre los datos empricos observables y los calculados sean los mejores u ptimos). 1 = 1.58787736114947
3 2

= 1.5

= 2.00053378903594 = 2.53888223531423 =2.84098081255924 . . . . . . . =3.99781840028095 . . . . . . . y 4 Tabla 1.

2 2.5 . . . . . . 20 . . . . . . t

Solucin:

I.2. Conceptos: ecuacin diferencial de primer orden, parmetro, ptimos, distancia, error y error controlado. Norma, funcional. [Recuerde error y distancia van de la mano, una necesita de la otra y viceversa.] I.3. Mtodos: Solucin general de una EDO de primer orden por mtodos algebraicos ordinarios. Solucin de una EDO de primer orden por mtodos numricos. Solucin de una EDO de primer orden por mtodos de series (Taylor, Picard, coeficientes indeterminados, ). Por otro lado, se debe poner en evidencia la necesidad de optimizar a travs de clculos, convencionales o no, un determinado parmetro. [En nuestro caso necesitamos idear
A. Sangiacomo C.

F. Antoine S.

255

Apndice

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

{modelo bsico} una forma que relacione los datos podemos hacer suponiendo unos valores ya empricos y los calculados de alguna forma apropiada, conocidos de k, a y b, como por ejemplo: pero, verificable (ver el punto II y II.5.2).] k= b y a=0.5, b=2, el cual nos dara una
a

I.4. Recursos: Bibliografa ad hoc, tabla nueva, pero, que nos permite construir calculado-ras, computadoras, datos un camino posible de solucin puesto que en experimentales, datos subliminales, material la tabla y (0) = 0 . humano, . . . [Para nuestro caso en esta vez, un t poco de conocimiento de ecuaciones diferenciales, y = b + ke at y = 4(1 e 2 ) . (4) a clculo de races, optimizacin simple, una calculadora t y de bolsillo, o sino una computadora (ver el punto II y 0 = 0 III.2.)] 1 = 0.5 =0.8847969 2 II. [Anlisis del sistema, marco experimental, relaciones, restricciones, estrategias de solucin]

1
3 2

= 1.5738774

= 1.5

= 2.1105338 = 2.5284822 = 2.8539808 . . . . . . . = 3.9998184 . . . . . . . y 4.0000000 Tabla 2.

2 2.5

II.1. Anlisis del sistema: Puesto que se tiene la variable independiente . . . . . . t (tiempo) y la dependiente resultados del 20 proceso representado por y. No olvidar los . . . . . . parmetros a y b del problema en cuestin. t

Entonces este sistema presenta una ecuacin diferencial de primer orden con los De aqu se tratar de reencontrar a y b parmetros a y b [parmetro de suponiendo conocido k [puesto que el proceso proporcionalidad]. empieza en cero se puede dar por hallado el y ' y + r y ' = ay + b (2) parmetro k]. La solucin general presenta otro parmetro llamado de integracin, digamos k que deben ser tomados en cuanta en el proceso de solucin del sistema y=b + ke at , (3) a parmetros a, b y k. Otra cualidad que no debemos dejar pasar es que empieza de cero o del instante t 0 = 0 .

Figura 2.

II.2. Marco experimental: presenta la tabla 1 que son los valores experimentales II.3. Relaciones: las relaciones que tenemos es la que estn referidas a la solucin de una (empricos) tomados del fenmeno. diferencial por mtodos En algunos casos podemos construir nosotros ecuacin algebraicos. un tabla de valores subliminales de datos seudo experimentales para conseguir una idea ms clara del problema. Esto lo
F. Antoine S. A. Sangiacomo C.

256

Apndice

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

La construccin del modelo bsico II.5.2. Creacin de un funcional, este debe alternativo, con valores supuestos, ya tener en cuenta un proceso de mejorar la conocidos de (4). forma de encontrar los parmetros a y b Estos nuevos valores pueden ser manejados h(a, b) = Experii (a, b) Calci (a, b) (5) muy fcilmente y darnos una idea de o ms particular consecucin de una solucin para un caso b h(a, b) = ( Experii (a, b) Calci (a, b)) 2 dt hipottico (ver III.).
a

(6) Mtodos de ajuste de curvas por mtodos 3 5 1 t {0, 2 ,1, 2 ,2, 2 ,20} y estadsticos y otros, clculo de races por donde mtodos directos o numricos [biseccin, Calc (a, b) Calc (a, b, t ) , o sea depende de i i cuerdas, Newton, ]. Se puede recurrir a otros at b mtodos sofisticados como son de t, [recordar y = a + ke ]. n optimizacin [urea, Cbicas, Newton, ], 2 mximos y mnimos, gradiente, direcciones h(a, b) = ( Experii (a, b) Calci (a, b)) i =0 conjugadas, II.4. Restricciones: en la modelacin se debe i =0 de considerar las restricciones que presenta (7) dentro de la tabla 1 y adems si es problema real, no hay infinitos, no hay aparentes III. [ F o r m u l a c i n d e h i p t e s i s , saltos, el proceso es aparentemente suave. Si Formulacin del modelo bsico, es proceso de degradacin tiene fin en algn Formulacin del modelo simplificado] momento [al menos en cantidades considerables]. Tal vez, restricciones de tipo de clculo, falta III.1. Formulacin de hiptesis: de algunos pre experimentos e informacin H0: (H4) El valor ptimo de a y b se puede adicional sobre el mismo proceso de calcular optimizando el funcional h(a, b) de degradacin. arriba. Se ve de la tabla que el valor b>0. Por otro lado se tiene la gran escasez de H1: La solucin se hallar por mtodos datos experimentales. numricos para cada ai , bi y tendremos una II.5. Estrategia de solucin: sucesin de valores { y 0 , y1 , L , y n } . Debe II.5.1. Para este caso particular la primera entenderse que los y i para cada t j , estrategia es considerar unos valores de k y de a conocidos [k= - 4 y a=0.5, b=2, ver (4)] j = 0,1, ..., N t son soluciones de (2) por y con ellos construir la tabla 2 de arriba. Con cualquier mtodo. esta se puede idealizar una solucin: H2: La solucin la conseguiremos haciendo II.5.1.1. Calcular el valor de a por reemplazo clculos en un funcional que represente a la directo en (4) de algunos valores de la tabla distancia (error) entre los datos 2, estos sern verificados. experimentales y los calculados por el II.5.1.2. Despejar a de (3), suponiendo que el modelo o un submodelo. valor de k es conocido (k= - 4). H3: El proceso debe construir una sucesin convergente de puntos {a0 , a1 , a2 ,L L, an ,L} a , {b0 , b1 , b2 , L
F. Antoine S. A. Sangiacomo C.

h(a, b) = ( Experii (a, b) Calci (a, b)) .

257

Apndice

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

L, bn ,L} b , donde a y b son los valores y=b + ke at , es la solucin. a buscados. Con el valor de que para t=0, y=0 se obtiene k= b : a III.2. Formulacin del modelo bsico: Recuerde todos los interesados en resolver y=b (1 e at ) a un sistema (problema) tienen en su mente Sea alguna idea, una visin o una imagen a particular de como podran hallar un modelo, h(a, b) = (0.8847969 b (1 e 2 )) 2 a una solucin, de como funciona; esa misma + (1.5738774 b (1 e a )) 2 idea, visin, imagen constituye un modelo a bsico. ) a( 3 2 )) 2 + (2.1105338 b ( 1 e a

Para nuestro caso particular nuestro modelo bsico es una ecuacin diferencial y de alguna solucin con algn parmetro.

+ (2.5284822 b (1 e 2 a )) 2 a

+ (2.8539808 b (1 e a

) a( 5 2

)) 2

III.2.1. Usando la tabla 2 se tendr los La filosofa de hallar un ptimo para este siguientes resultados bsicos: caso cambia un tanto pues, se tiene a la vista y=b + ke at , es la solucin. dos parmetros (variables) a y b. Nuestro a nuevo problema [submodelo se de la ptica de la Con el valor de que para t=0, y=0 se obtiene optimizacin de varias variables], podramos usar k= b : a un mtodo muy sencillo as como el mtodo at y=b ( 1 e ) (8) coordenado [Usted puede ver otros ] a Para t = 1 , se tiene y = 1.5738374 , y t = 2 , y = 2.5284822 , remplazando Se plantea de la siguiente forma: se tiene Se traza dos grficas particulares en calculamos un a: direccin de a y despus en direccin b. las grficas generan formas que nos dan la a 1.5738374 = b ( 1 e ) posible certeza de un descenso. a
2.5284822 = b (1 e 2 a ) a

Dividiendo miembro a miembro se tiene: 2.5284822 1 = e a 1.5738374


a = 0.49993279 con ese valor podemos calcular el valor de b: 1.5738374(0.49993279) = b(1 e 0.49993278 ) b = 1.99988758 ; el cuales puede verificar para todos los valores. [Recuerde este es slo un mero (simple) ver que resuelve.]
2.5284822 a = ln( 1 1) .5738374

esta es en direccin de a, como se nota tiene un mnimo en el intervalo [0.1, 5]

III.2.2. Usando la tabla 2 se tendr los siguientes resultados bsicos:


F. Antoine S. A. Sangiacomo C.

258

Apndice

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

esta es en direccin de b, como se nota tiene un mnimo en el intervalo [-1, 5]

Figura 5.
Programando este mtodo en Delphi, en C++, en MAtLab, etctera. El proceso de solucin se vuelve tedioso pues despus de 50 iteraciones empezando 1 0 donde Gk toma direcciones o esto del punto inicial (a, b)=(1, 5) se tiene por 0 1 solucin (a, b)=(0.59779, 2.15740) y despus es si k es impar o par respectivamente as: de 303 (a, b)=(0.50001, 2.00003). [Tiene sus 1 a a bemoles en el algoritmo.] = 0 k b k impar k +1 b k Para el caso de la tabla 1 se tiene el siguiente o resultado: 0 a a (10) Despus de 50 iteraciones empezando del = 1 k b k par k +1 b k punto inicial (a, b)=(1,5) se tiene por solucin (a, b)=(0.59127, 2.12668) y despus donde k se toma del conjunto de 331 (a, b)=(0.48807, 1.96257). a ( ) k { : Mn h G (11) k } . III.2.3. Una alternativa mucho mas poderosa 0 < b k es pues de usar mtodo de gradiente: a a Y en una figura total se ve as: = (8) b b k Gk . k +1 k (9) donde Gk toma direcciones de gradiente o sea: ha (a, b) Gk = h ( a, b ) b ha (a, b) a a = k b h ( a , b) (12) k +1 b k b k

Figura 3. a a = b k Gk ; k +1 b k

Figura 4.

n Una idea de llegar al ptimo es caminar en ha ( a, b) = 2 [( yi b (1 e at i )) a cada coordenada y halla ese mnimo, luego i =1 en la otra, como se ve el la figura 5: b2 (1 e at i )( b t e at i )] a i

hb (a, b) = 2 ( yi b (1 e at i ))( 1 (1 e at i )) a a
i =1

(12)
F. Antoine S. A. Sangiacomo C.

259

Apndice

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

donde los valores ti y yi son los valores de tabla 1 o 2 y el k es un elemento del III.3. Formulacin del modelo simplificado: Una vez que el modelizador tiene el modelo conjunto formado por bsico, la siguiente etapa es el procesamiento a ha (a, b) depuracin de la informacin, } . y k { : Mn h formalizacin de conceptos, estructuramiento 0 < hb (a, b) k b k de tcnicas y depuracin de datos e (13) informacin, y de experimentacin, es cuando a comenzado la construccin del Usando los valores de la tabla 2 nos resulta modelo simplificado, ello es pues que despus de 50 iteraciones empezando del estamos entrando en una mejor comprensin punto inicial (a, b)=(1,5) se tiene por del sistema. solucin (a, b)=(0.86693, 2.65838) y despus [En nuestro modelo se empieza ya por tener la forma de 303 iteraciones (a, b)=(0.50061, 2.00099). clara de cmo se puede encontrar el parmetro a, y b ver el punto III.2.2 y III.2.3 de arriba.] Para la tabla 1, despus de 50 iteraciones empezando del punto inicial (a, b)=(1,5) se III.3.1. El valor de a y b se calcula por el tiene por solucin (a, b) =(0.81380, 2.53724) ptimo de y despus de 782 iteraciones (a, b)=(0.48806, n 1.96254). 1 h(a, b) = ( Experii (a, b) Calci (a, b)) 2
i =0

Una comparacin de la tabla 1, directa n 2. h(a, b) = Experii (a, b) Calci (a, b) usando el resultado: i =0 (a, b) = (0.48806, 1.96254) b 0.48806 t 1.96254 y = 0.48806 (1 e ). (14) 3. h(a, b) = ( Experii (a, b) Calci (a, b)) 2 dt
a

(15) tal que h(a, b) mnimo ; ello se consigue 0 =0 =0 por [no nicos] mtodo de Gradiente, Newton, 1 =0.870713244962 Davidon-Fletcher-Powell, : = 0.899796867714 = 0.5 2 688 381 Con la restriccin de que se verificar en = 1.587877361149 1.552885839895 = cada paso que h(a, b) n > h(a, b) n +1 . 1

yexperim

yCalcul

3 2

= 1.5

2 2.5 . . . . 20 . . . . t

47 =2.000533789035 94 =2.538882235314 23 =2.840980812559 24

02 =2.087343598484 24 =2.506072081331 III.3.2. El valor de a y b se calcula por el ptimo de 82 n =2.834130827846 h ( a, b ) = ( Experii (a, b) Calci (a, b)) 2 53
i =0

. . . . =3.997818400280 =4.020872164456
95

. . . . . . . y 4 Tabla 3. estudiamos las variaciones en direccin del Qu correcciones se pueden hacer o deben hacerse?

(16) Pero aqu analizamos la derivada solamente, 54 ha (a, b) o sea, Gk = , en otras palabras h ( a, b) 4.02110396262755 b

F. Antoine S.

A. Sangiacomo C.

260

Apndice

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

gradiente, por el criterio de descenso de h(a, b) o h(a, b) n > h(a, b) n +1 . Por los visto en el punto III.2.3, tuvimos a= 0.4880564064215341, b= 1.9625431420593951. ello se tiene comparado en la tabla 3.
y=
1.96254 (1 e 0.48806 t ) . 0.48806

b yiR K (a, b) ,

(17)

donde yiR K (a, b) es la solucin de (1) por mtodos numricos de Runge - Kutta para un a y b particular del paso correspondiente; y R K (a, b) y b yiR K (a, b) es la a i derivada de (1) el cual crea dos nuevas ecuaciones diferenciales: ( y ' )'a = (ay + b)'a ( y ' )'a = y a ( y )'a , haciendo u = ( y )'a se tiene: (18) u '= y au y ( y ' )'b = ( ay + b)'b ( y ' )'b = a( y )'b +1 , haciendo v = ( y )'b se tiene: v ' = a v + 1 (19) Probar que (18) y (19) son es ciertas??? Estas se resuelven por Runge Kutta pero con condiciones iniciales homogneas.

Figura 6.

III.3.3. Se puede usar mtodos numricos Haga los planteamientos necesarios para resolver para la solucin de la ecuacin diferencial por tres mtodos diferentes por lo menos. [Runge-Kutta] el planteamiento podra ser IIII. Verificacin: [confrontacin, comprobacin, como sigue: confirmacin, revisin, control, prueba, demostracin, ha (a, b) a a = k h (a, b) (12) justificacin] b k +1 b k b k De
h( a, b) = [( yi yiR K ( a, b))]2
i =1 n

Falta verificar con CHI o t

se tiene:
ha ( a, b) = 2 [( yi yiR K ( a, b))
i =1 n

a yiR K (a, b)
hb (a, b) = 2 [( yi ( yi yiR K (a, b))
i =1 n

Aqu es donde se hacen la confrontacin, la comprobacin, una confirmacin y los procesos de cotejar los resultados. Otra situacin que aqu se debe hacer es la revisin y control del modelo y un examen del funcionamiento en tiempo real y proyectado. Es donde se pone en evidencia la demostracin y justificacin con pruebas reales.

F. Antoine S.

A. Sangiacomo C.

261

Apndice

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Y por ltimo un repaso y la investigacin de las evidencias que ha crea y dejado como huella el modelo.

1
3 2

= 1.57387736114947 = 1.5 = 2.11053378903594 = 2.52848223531423 = 2.85398081255924 . . . . . . . =3.99981840028095 . . . . . . . y 4 Tabla 3.

2 V. Validacin : [legalidad, eficacia, legitimidad, 2.5 vigencia, actualidad, efectividad, autenticidad, refrendo, . . . . . . certificacin, permanencia] 20 . . . . . . Falta verificar con CHI o t t En esta etapa nos proponemos ver la legalidad y la legitimidad, seguida de la eficacia, la vigencia y la efectividad del Par el punto III.2.3. modelo simplificado. III.2.3. Para el mtodo de gradiente: De otro lado, ver la actualidad y la autenticidad del modelo, si es conveniente, si Algoritmo: es posible que se refrende solo y su certificacin en su funcionamiento [ver su Paso 1: definir h(a, b) generalidad]. n Tambin su vigor, la fuerza y permanencia, = ( Experii (a, b) calci (a, b)) 2 de hecho la utilidad y justeza del modelo. i =0 ha (a, b) Paso 2: Definir Gk = ; h ( a, b) b // como la frmula (12) y (12) en III.2.3. VI. Implementacin: Dotar de los medios que se tengan a mano Paso 3: Entrar a0 , b0 y error; //puntos iniciales y tolerancia de clculo obtenidos por el modelo para la consecuente Paso 4: Calcular aplicacin o Implementacin del trabajo que n sea productivo, que rinda frutos en la h ( a , b ) = 2 (1 e at i )) [( yi b a utilizacin del modelo. a

i =1

Dotar de los medios necesario para hacer algo o realizar algo.

b2 a

(1 e at i )( b t e at i )] a i
n

hb (a, b) = 2 [( yi b (1 e at i )) a
i =1

Apndice: [El caso donde se supone que la EDO y =f (t, y) no se puede resolver analticamente, veamos eso en III.3.3.]

( 1 (1 e at i ))] a

//donde los valores ti y yi son los valores de //tabla 1 o 2 a Para y ' = ay + b (1) Paso 5: Calcular k y de: b y con las condiciones que y(0)=0 y b=2 y k +1 a=0.5. a ha (a, b) k { : Mn h h ( a, b ) } 0 < b b t y k k 0 =0 // el k es un elemento de ese conjunto 1 = 0 . 5 2 =0.884796867714381
F. Antoine S. A. Sangiacomo C.

262

Apndice

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

ha (a, b) a a = y luego k b h ( a, b) k +1 b k b k a a Paso 6: si b < error ir a (8) k +1 b k Paso 7: en otro caso k=k+1; ir a (4) a Paso 8: publicar ; b k +1 Paso 9: Parar.

( y ' )'b = a ( y )'b +1 , haciendo v = ( y )'b se tiene: v ' = a v + 1

(19)

Algoritmo: Paso 1: Definir h(a, b)


= ( Experii (a, b) calci (a, b)) 2
i =0 n

Paso 2: Entrar a0 , b0 y error; Para el punto III.3.3. Paso 3: Definir por Runge - Kutta yiR K (a, b) ; III.3.3. Usando mtodos numricos por el // para las condiciones iniciales del modelo mtodo Runge - Kutta para la solucin de la Paso 4: y: y R K ( a, b ) ecuacin diferencial se sigue: a i ha (a, b) a a RK y ( a, b ) = b b k h ( a, b) (12) b i k +1 k b k // con las condiciones iniciales homogneas Paso 5: Calcular n n RK ha ( a, b) = 2 [( yi yi ( a, b)) ha ( a, b) = 2 [( yi yiR K ( a, b))
i =1

a yiR K (a, b)
hb (a, b) = 2 [( yi ( yi yiR K (a, b))
i =1 n

i =1

a yiR K (a, b)
hb (a, b) = 2 [( yi ( yi yiR K (a, b))
i =1 n

b yiR K (a, b) ,

(17)

b yiR K (a, b)

// como la frmula (18) y (19) en III.3.3. donde yiR K (a, b) es la solucin de (1) por //donde los valores ti y yi son los valores de mtodos numricos de Runge - Kutta para un //tabla 1 o 2 a y b particular del paso correspondiente; a Paso 6: Calcular y de: RK RK k b y ( a , b ) y b yi (a, b) es la a i k +1 derivada de (1) el cual crea un dos nuevas a ha (a, b) k { : Mn h ecuaciones diferenciales: h ( a, b ) } 0 < b b k k ( y ' )'a = ( ay + b)'a // el k es un elemento de este conjunto ( y ' )'a = y a ( y )'a ,

haciendo u = ( y )'a se tiene: u '= y au y ( y ' )'b = ( ay + b)'b


F. Antoine S.

(18)

ha (a, b) a a = y luego b b k h ( a , b) k +1 k b k

a a Paso 7: si b < error ir a (9) k +1 b k


A. Sangiacomo C.

263

Apndice

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

2.0873519247481 8 2.5060836582987 2 = 2.52848223531423 9 Paso 10: Parar. 2.8341455245783 2.5 = 2.85398081255924 4 Usando el algoritmo para el punto III.3.3. . . . . . . . . . . . para la tabla 3 se tiene: 20 =3.9998184002809 Empezando (a, b)=(0.8, 4) y un error =1e-4 5 en un programa en Delphi, despus de 154 . . . . . . . . . . . iteraciones: t y 4 a= 0.501471468794668 b= 2.00241097045862 h(a, b)= 2.06944326240555E-6; t=0.0; y= 0 Otro: t=0.5; y= 0.885549455453002 Usando el algoritmo de Davidon Fletcher t=1.0; y= 1.57470923492254 Powell, considerando slo los datos del t=1.5; y= 2.11103298139873 intervalo [0, 2.5] se tiene: t=2.0; y= 2.52841537892586 t=2.5; y= 2.8532342349062 a= 0.4880564063674041 Para error =1e-10 despus 532 iteraciones b= 1.9625431419652620 a = 0.500000005509842 b = 2.00000001866987 f ( ... ) = 0.0107296347335802 en 776 Iteraciones h(a, b)= 1.97340590554093E-18 Reemplazando en t=0.0; y= 0 y=b (1 e at ) t=0.5; y= 0.884796868453144 a t=1.0; y= 1.57387736197043 se tiene: t=1.5; y= 2.11053378953686 .9625431419 652620 y=1 (1 e 0.4880564063 674041t ) t=2.0; y= 2.52848223526679 0 .4880564063 674041 t=2.5; y= 2.85398081185179 bueno as sucesivamente. t y y calculada 0 =0 =0 1 Para la tabla 1 se tiene: = 0.5 =0.88479686771 =0.8707153894208 Para un error=1e-9 despus de 552 iteraciones 2 4381 05 a = 0.488056507067734 b = 1.96254330904985 1 = =1.5528908902021 1.57387736114947 h(a, b)= 0.01072963473359 3 =2.0873518857471 t=0.0; y= 0 = 1.5 = 2 2 2.11053378903594 t=0.5; y= 0.870715442451957 =2.5060836570168 2 = t=1.0; y= 1.55289095044864 2.52848223531423 6 t=1.5; y= 2.08735192474818 =2.8341455693588 2.5 = t=2.0; y= 2.50608365829879 2.85398081255924 4 t=2.5; y= 2.83414552457834 . . . . . . . . . . . 20 =3.9998184002809 =4.0209081914194 t y y calculada 5 7 0 =0 =0 . . . . . . . . . . . 1 = 0.5 =0.88479686771 =0.870715442451 2 t y 4 4381 957 1 = =1.552890950448 1.57387736114947 64

Paso 8: en otro caso k=k+1; ir a (5) a Paso 9: publicar b ; k +1

3 2

= 1.5 =

2.11053378903594

F. Antoine S.

A. Sangiacomo C.

264

Apndice

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Considerando el intervalo aumentado [0, 2.5] y el punto t=20 se tiene: a= 0.4924193411800212 b= 1.9691081758046109 h(...) =0.0107482956260861 en 368 Iteraciones
Problema: Se puede pensar que la expresin

y=b (1 e at ) de y ' = ay + b , a
del problema anterior, se le puede agregar una condicin ms que es b=4a. El problema toma otra versin de la optimizacin, podra sugerir una solucin y la alcanzara a construir una implementacin.

F. Antoine S.

A. Sangiacomo C.

265

Bibliografa

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Bibliografa Becker, E. B. (1981). Finite Elements An Intriduction Vol. 1 Englewood Cliffs, Nj: Prentice Hall 1981 Burden, R. Faires, J. D. (1985). Anlisis Numrico. Mxico: Ed. Grupo Editorial Iberoamrica ISBN 968-7270-09-8 Burnett, D. S. (1987). Finite Element Analysis from Comcepts to Applications. Reading, MA: Addison Wasley. Cant, M. (1985). La biblia del DELPHI 5. Madrid: Ed. Anaya Multimedia. ISBN 84-4150994-8 Chandrupatla, T. y Belengundu, A. (1999). Elementos Finitos en Ingeniera. Mxico Prentice Hall ISBN 970-17-0260-3 Chartre, F. (s.f.). Programacin con DELPHI 4. Espaa Ed. Anaya Multimedia Cornell, G. y Strain. T. (1995). Programacin en Delphi. Mxico: De. McGraw Hill ISBN 84-481-0339-4 Craggs, J. W. (1975). Calculo de Variaciones. Mxico: Editorial Limusa Osier, D. y Bastn, S. (1996). Aprendiendo DELPHI 3 en 21 dias Ed. Prentice Hall Hipanoamericana S.A. Mxico 1996 ISBN 0-672-30863-0 Demidovich, y Maron. (1985). Clculo Numrico Fundamental. Ed. Paraninfo. Madrid. Espaa. 1985 Demidowitsch, B. Maron, I. y Schuwalowa, E. (1980). Mtodos Numricos de Anlisis. Madrid: Ed. Paraninfo ISBN 84-283-1056-4 Duntemann, J. (1989). La Biblia del turbo Pascal. Espaa: Ed. Anaya Multimedia. ISBN-84-7614-223-4 Espaa. 1989 Elsgotz, L. (1983). Ecuaciones Diferenciales y Clculo Variacional. Mosc: Editorial Mir. Etter, D. (1998). Solucin de Problemas de Ingeniera con MatLab. Mxico: Ed. Prentice Hall Hispanoamericana. ISBN 0-13-397688-2 ISBN 970-17-0111-9 Gelfand, I. y Fomin, S. (1963). Calculus of Variations. New Jersey: Editorial Prentice Hall. Gerald, C. y Whwatley, P. (2000). Anlisis Numrico con Aplicaciones. Mxico: Ed. Prentice Hall Pearson Educacin, sexta Edicin ISBN 968-444-393-5 Heran, D. Baker, P. (1988). Grficas por Computadora. Mxico: Ed. Prentice Hall Hispanoamericana. Valeria, I. (1991). EDP Um Curso de Graduao. Rio de Janeiro: Editorial Impa Rio de Janeiro 1991 ISBN 85244-0065-X Issacson, E. y Keller, H. (1979). Analysis of Numerical Methods. Habana Cuba: Ed. Edicin Revolucionaria Habana. Kincaid, D. y Cheney, W. (1994). Anlisis Numrico, U.S.A.: Las Matemticas de Clculo Cientfico. Ed. Addison Weslwy Iberoamericana. ISBN 0-201-60130-3 Krasnov, M., Makarenko, G. y Kiseliov, A. (1976). Clculo Variacional (ejemplos y problemas). Mosc: Editorial Mir. Nakamura, S. (1992). Mtodos Numricos Aplicados con Software. Mxico: De. Prentice Hall Hispanoamericana. ISBN 968-880-263-8 Nieves, A. y Domnguez, F. (1997). Mtodos Numricos Aplicados a la Ingeniera. Mxico: Ed. CECSA. ISBN 968-26-1260-8

F. Antoine S.

A. Sangiacomo C.

266

Bibliografa

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Noble, B. y Daniel, J. (1989). lgebra Lineal Aplicada. Mxico: Ed. Prentice Hall Hispanoamericana. ISBN 968-880-173-9 OBriem, S. (1993). Turbo Pascal 7 Manual de referencia. Madrid: Ed. McGraw Hill. ISBN 84-481-0119-07 Osier, D. Grobman, S. y Batson, S. (1996). Aprendiendo DELPHI 2 en 21 Das. Mxico: De. Prentice Hall Hispanoamericana. ISBN 0-672-30863-0 Peral A, I. (1995). Primer curso de Ecuaciones en Derivadas Parciales. E.E.U.U.: Editoprial Addison Wesley. ISBN O-201-65357-5 Pike, R. (1989). Optimizacin en Ingeniera. Mxico: Edi. AlfaOmega. ISBN-968-6062-86-6 Sangiacomo, A. (1999). DELPHI Pero si es muy Fcil. Arequipa: Editorial UNSA. Sangiacomo, A. y Antoine, S. (1998). Anlisis Numrico 1 Mtodos del Anlisis. Arequipa: Ed. UNSA. Sangiacomo, A. y Antoine, S. (2002). Compilador para Uso en la Programacin para Mtodos Numrico. Arequipa: Ed. Departamento Matemtica UNAS. Tixeira, S. y Pacheco, X. (2000). Gua de Desarrollo Delphi. Espaa: De. Prentice Hall. ISBN 0-672-32781-8. Tomo I y II Wylie , R. (1985). Matemticas Superiores Para ingenieros. Mxico D.F.: Edi. McGraw-Hill. ISBN-968-604684-4 Zienkiewicz, O. (1985). The Finite Element Method. New York: McGraw-Hill 3d ed.

HAGA TODO CON PAZ, AMOR Y FRATERNALMENTE El conocimiento es de la Inteligencia Csmica, o sea, de toda la "Humanidad" Que el Csmico te d 3 veces, lo que deseas para M.

F. Antoine S.

A. Sangiacomo C.

267

ndice alfabtico

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

A
Abierto 40, 112 Adams 40, 41, 42, 44, 45, 46, 50, 64 Adams Bashforth 44, 46, 50, 64 Adams Moulton 47, 65 Algoritmo de Adams 44 Algoritmo de diferencias finitas no lineal 82, 92, Algoritmo de diferencias finitas no lineal de Newton 92 Algoritmo de diferencias finitas para el problema lineal 82 Algoritmo de diferencias finitas para la ecuacin de Poisson 160 Algoritmo de disparo lineal 70, Algoritmo de disparo no lineal 76, 98 Algoritmo de Euler 9 Algoritmo de para el caso Crank - Nicolson 171, 172, 175 Algoritmo de para el caso progresivo 167 Algoritmo de para el caso regresivo 168 Algoritmo de Runge - Kutta 22, 52, 54, 77 Algoritmo de Runge - Kutta de cuarto orden 22 Algoritmo de Runge - Kutta para sistemas 52 Algoritmo de segmentario lineal de Rayleigh - Ritz 109, 113 Algoritmo con trazador cbico 122 Algoritmo de tridiagonales 82 Apndice 27, 65, 118 Apndice: Programa en Delphi para Heun 27 Apndice: Programa Multipaso 64 Apndice: Mtodo de Ritz 118 Apndice: Fronteras del Tipo Completo 94 Aproximaciones 5, 7, 12, 39, 99, 103 Aproximaciones por expresiones analticas 99, Aproximaciones sucesivas 5, 7, 88

B
Bashforth 40, 44, 46, 50, 64 Bien planteado (formulado correctamente) 3, 8, 147 Bien planteado 3, 8, 147

C
Cannica 127, Caso homogneo 163 Caso no homogneo 167 Cauchy 140, 143, 144, 148, Cerrado 40, 151, 153, 194, 212 Coeficiente indeterminados 16, 17 Colocacin 99, 104, 107 Condicin de contorno 141, 148, 201 Condicin de otogonalidad 109 Condicin de Euler 118 Condiciones de contorno de Dirichlet 150, 153, 227 Condicin de frontera 81, 98, 152, 159, 213, 237 Condicin de Lipschitz 1, 4, 51, 59 Condiciones de contorno o fronteras 109, 140, 148, 201 Condiciones iniciales 7, 14, 32, 140
F. Antoine S. A. Sangiacomo C.

268

ndice alfabtico

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Condiciones iniciales de Cauchy 143, 147 Condiciones interiores 150 Contorno 85, 99, 140, 149, 153 Coordinantes (bases) 107, 218 Correcciones del problema Dirichlet 153 Crank - Nicolson 171, 173 Cuerda oscilante 127

D
Definida positiva 117, 122, 166, 239, 252 Derivaciones sucesivas 14 Diagonal estrictamente dominante 166 Diferencias centrales 80, 155, 164, 186 Diferencias finitas centrales 80, 175, 179 Diferencias finitas para problemas lineales 79 Diferencias regresivas 166, 171 Dirichlet 84, 150, 153, 216, 226 Discriminante 125, 205 Disparo lineal 68, 70

E
Ecuacin caracterstica 127, 223 Ecuacin de Euler 118 Ecuacin de la cuerda oscilante 127 Ecuacin diferencial de Poisson 128, 197, 211 Ecuacin subsidiaria 131 Ecuaciones de orden mayor 50 Ecuaciones homogneas irreducibles 133 Ecuaciones reducibles 130, 137 EDP de diferencias finitas 154, 160, 164, 167 EDP del tipo elptico 126, 149, 154, EDP elpticas 125, 149, 154 EDP hiperblica 145, 175 EDP no homognea 137, 167 EDP parablica 163, 167, 172 EDP por operadores 129 El mtodo de Crank - Nicolson 171 Elptico 125, 149, 154 Enfoque correcto del problema Mixto 140 Error 6, 13, 18, 25, 30, 45, 58, 80, 102, 165 Estabilidad 25, 57, 63, 171 Euler 7, 19, 58, 118, Explcito 40, 44, 48 Expresiones analticas 99 Extrapolacin 39, 40 Extrapolacin de Adams 40

F
Forma Cannica 127 Frmula de diferencias finitas centrales 80 Fourier 105, 185 Funcin Complementaria 129, 137
F. Antoine S. A. Sangiacomo C.

269

ndice alfabtico

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Funciones armnicas 150 Funciones coordinantes (bases) 107, 109, 218

H
Hadamard 147 Heun 20, 27, 51, 60 Hiperblico 125, 145 Homogneas reducibles 130

I
Implcito 40, 47, 175 Interpolacin de Hermite 24 Irreducible 130, 134, 139 Iteraciones de Newton 89, 96

J
Jacobiano 91, 95, 125

L
Lagrange 118, 131, 136 Lagrangeano 251 Laplace 126, 128, 147, 150 Lneas de red 154 Lipschitz 1, 3, 4, 12, 50, 59, 62

M
Maclaurin 135 Mtodo de Adams 42, 44, 46 Mtodo de Adams Moulton 47 Mtodo de Bashforth 44, 46 Mtodo de Coeficientes indeterminados 16 Mtodo de diferencias finitas para problemas lineales 79 Mtodo de diferencias regresivas 166, 171 Mtodo de disparo lineal 68, 70 Mtodo de disparo no lineal 76 Mtodo estable 58, 171 Mtodo de Euler 7, 11, 51 Mtodo de explcito o abierto 40, 44, 48 Mtodo de Extrapolacin 40, Mtodo de extrapolacin de Adams 40, 41 Mtodo de Galerkin 105 Mtodo de Heun 20, 60 Mtodo implcito o cerrado 40 Mtodo de la integral 102 Mtodo de la integral de los mnimos cuadrados 102 Mtodo de la secante 33, 76, Mtodo de los mnimos cuadrados 102, 104
F. Antoine S. A. Sangiacomo C.

270

ndice alfabtico

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Mtodo de los puntos de los mnimos cuadrados 102, 104 Mtodo de Milne 47, 50 Mtodo de modificado de Euler 19, Mtodo de multipaso 39, 45, 64 Mtodo de Newton 79, 88, 92 Mtodo de Picard 5, 6 Mtodo del punto medio 19, 24 Mtodo de Rayleigh - Ritz 109, 113, 115, 121 Mtodo de Richardson 171, Mtodo de Runge - Kutta 18, 23, 25, 27, 42, 48, 52, 77 Mtodo de Runge - Kutta de cuarto orden 21, 25, 29 Mtodo de Runge Kutta de segundo orden 19, 51, 69 Mtodo de Runge Kutta de tercer orden 20, 61 Mtodo de Taylor 14, 17, 19 Mtodo para EDO no lineal mediante la solucin de sistemas no lineales 90 Mtodo progresivo 166, 167, 174 Mtodo de regresivas 166 Milne 47, 50 Mnimos cuadrados 102, 104 Mixto 85, 125, 140, 146 Moulton 47 Multipaso 39, 45, 64, 134

N
Neumann 85, 150 No homogneas 99, 107, 126, 128, 137, 167 Nodos 80, 114, 122, 155

O
Operador de Laplace 128 Optimizacin 25 Optimizacin del intervalo de la retcula 25 Orden mayor 50 Orden m 50, 53, 130 Oscilaciones libres 127, 142 Oscilante 127

P
Parablico 125, 145, 163, 167, 173 Picard 5, Poisson 128, 154, 159 Polinomio de Taylor 18, Primer mtodo de sustitucin sucesiva 87 Primer orden 30, 50, 118, 147 Primer problema de las condiciones de contorno 99, 149 Principio de mximo 151 Problema de Dirichlet 150, 152 Problema de Neumann 150 Problema de valor de frontera para la ecuaciones diferenciales ordinarias 68 Problema del valor inicial de Cauchy 140, 144, 147 Problema Mixto 140, 146 Problema no lineal con valores en frontera para diferencias finitas 86
F. Antoine S. A. Sangiacomo C.

271

ndice alfabtico

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Problema perturbado 3 Procedimiento de colocacin 101, 104 Programa caso no lineal 89, 96 Programa caso no lineal por iteraciones de Newton 89 Programa de regresivas y progresivas 169 Programa del mtodo de Rayleigh - Ritz 115 Programa para diferencias finitas caso no lineal 89 Programa regresivas para hiperblicas 178 Puntos de red 8, 39, 52, 79, 155, 164, 175 Puntos de red (nodos) 8, 39, 52, 79, 155, 164, 175

R
Rayleigh - Ritz 109, 113, 115, 121 Reducible 130, 138 Retcula 25, 81, 159 Richardson 171 Runge - Kutta 18, 20, 25, 41, 48, 52, 77

S
Segmentario lineal 113, Segundo mtodo: (llamado mtodo de Newton) 88 Segundo problema de las condiciones de contorno 149 Separacin de variables 136 Series de potencias 14, 57, Sistema de orden m 50, Sistema de orden m 50 Sistema finito de funciones 106 Sistemas de ecuaciones diferenciales ordinarias 50, 52, Solucin complementaria 129, 138 Solucin de ecuacin diferencial ordinaria no lineal 90 Solucin de sistemas no lineales 90 Solucin numrica de ecuaciones diferenciales parciales 154, 173 Solucin por medio de tridiagonales 82 Subsidiaria 131 Superficie integral 124, 144 Sustitucin sucesiva 87

T
Tamao de paso 8, 175 Taylor 8, 11, 14, 18, 25, 80, 135, 155, 164 Tercer problema de las condiciones de contorno 150 Tipo elptico D > 0 125, 149 Tipo hiperblico D < 0 125, 145 Tipo Mixto 85, 125 Tipo Parablico D = 0 125 Tridiagonales 80, 82, 165

U
Unicidad de la solucin del problema de Dirichlet 150, 152
F. Antoine S. A. Sangiacomo C.

272

ndice alfabtico

Mtodo Numricos para la Solucin de Ecuaciones Diferenciales

Unicidad del problema de Dirichlet 150, 152

V
Valor Medio 3, 5, 51, Valores en frontera para diferencias finitas 86

F. Antoine S.

A. Sangiacomo C.

273

Você também pode gostar