Está en la página 1de 56

KARL HEINZ CHAvEZ ASTURIAS

METODOS NUMERICOS PARA RESOLVER PROBLEMAS DE ECUACIONES DIFERENCIALES LINEALES CON VALOR INICIAL

UNIVERSIDAD FRANCISCO MARROQUIN FACULTAD DE INGENIERIA DE SISTEMAS, INFORMATICA Y CIENCIAS DE LA COMPUTACION

GUATEMALA, 2000

Esta tesis fue elaborada por el autor como requisito para obtener el titulo de Ingeniero en Electronica, Informatica y Ciencias de la Computacion.

Guatemala, diciembre de 1999.

UNIVERSIDAD

FRANCISCO

MARROQUIN

FACULTAD DE INGENIERIA DE SISTEMAS, INFORMATICA Y CIENCIAS DE LA COMPUTACION

Guatemala, 15 de Diciembre de 1999

Senor Karl Heinz ChAvez Asturias Presente.Estimado senor ChAvez: Tengo mucho gusto en informarle que, despu~s dehaber revisado su trabajo de Tesis, cuyo titulo es "M~todos Num~ricos para Resolver Problemas de Ecuaciones Diferenciales Lineales con Valor Iniciar', en mi calidad de Asesor de dicho trabajo y como decano de la Facultad, autorizo la publicaci6n del mismo. Aprovecho la oportunidad para felicitarlo por el magnifico trabajo realizado, el cual es de indiscutible beneficio para el desarrollo de las Ciencias de la Computaci6n en Guatemala. Atentamente, FACULTAD DE INGENIERIA DE SISTEMAS, INFORMATICA Y C IE lAS DE LA COMPUTAC ION
~~

Dr. E

t t'~J) 0
<;

~\. ~\STEMt.S .I., ()I:!I. PUT.iI ~'''OA

.... ,'~ /

L;(:,..

'\<:)

7ma. avenida final (Calle Dr. Eduardo Suger CofiDo), Zona 10, Edificio Dr. Manuel F. Ayau, Guatemala, Planta FISICC: 331-4948,3622723,360-353141- 51 - 61 Y 71 • Fax 331-1645

C.A.

IN DICE Pagina: INTRODUCCION CAPITULO I: PLANTEAMIENTO DELPROBLEMADE VALORINICIAL I.1 Introduccion y objetivos I.2 Definicion 1 I.3 Definicion 2 I.4 Teorema 1 I.5 Teorema 2 I.6 Definicion 3 I.7 Teorema 3 CAPITULO II: ALGORITMOS NUMERICOS II.1 Introduccion y objetivos II.2 EI metoda de Euler II.3 Error del metoda de Euler II.4 Metodos de Runge - Kutta II.4.1 Metodo del Punto Medio II.4.2 Metodo de Euler Modificado II.4.3 Metodo de Heun CAPITULO III: METODOS MULTIPASO III.1 Introduccidn y objetivos III.2 Tecnica de Adams - Bashforth 1

3 3 4 4 5 6 7

8 9 11 12 12 14 14

15 16

CAPITULO IV: SISTEMAS DE ECUACIONES DIFERENCIALES DE PRIMER ORDEN Y ECUACIONES DIFERENCIALES DE ORDEN MAYOR IV.1 Introduccion y objetivos IV.2 Sistemas de Ecuaciones Diferenciales de primer orden IV.2.1 De'finicion 4 IV.2.2 Teorema 4 IV.3 Conversion de una ecuccicn diferencial de orden mayor en un sistema de ecuaciones diferenciales de primer orden CAPITULO V: METODOS NUMERICOS PARA RESOLVER SISTEMAS DE ECUACIONES DIFERENCIALES DE PRIMER ORDEN V.1 Introduccion y objetivos V.2 Generalizacion del metoda de Adams - Bashforth CAPITULO VI: EJEMPLO PRACTICO VI.1 Introduccion y objetivos VI.2 Ejemplo CAPITULO VII: CONCLUSIONES BIBLIOGRAFIA APENDICE Programas y ccmpcrccien entre algoritmos

17 17 18 19 20

22 22

25 26

28 29
30

Metodos numericos para resolver problemas de Ecuaciones Diferenciales Lineales Ordinarias con Valor Inicial

INTRODUCCION: En Ingenieria, muchos problemas se resuelven utilizando ecuaciones diferenciales, pero existe el inconveniente que no todos los problemas pueden ser resueltos analiticamente, por su complejidad, es por esto que se emplean metodos numerlcos para encontrar una cproximccidn a la solucien. Una de las ventajas de utilizar metodos numericos es que se pueden programar en una computadora de tal manera que sea esta la que haga la mayoria del trabajo (los cdlculos necesarios para obtener la solucien del problema). Esto hace que el trabajo del ingeniero 0 estudiante se limite solamente al analisis de los resultados, y obviamente preparar el problema para introducir los datos al programa que utilizara en la computadora para resolver el problema. En este trabajo se utilizaran algunos programas elaborados para usarlos en computadora. Los problemas que serdn tratados en este trabajo son del tipo: y'(t)

= f(t,

y);a g ~b;y(a)

= a.

Este planteamiento del problema incluye la funcion rrf), el intervalo en el que se hara la aproximacion y el valor inicial de la funcion que he de resolver el problema. AI resolver este tipo de problemas 10 que se busca es una funcien nt) que satisfaga la ecucclen diferencial en un intervalo dado, y que este definida para el punto del valor inicial. EI valor inicial hace que la solucien del problema Sea exacta; esto es porque en los problemas de ecuaciones diferenciales siempre se obtiene como respuesta una familia de curvas, pero al dar un valor inicial se selecciona una sola de las curvas de la familia respuesta. Otro cspecte importante en este tipo de problemas es que el intervalo en que se trabaja ha de ser finito.

Metodos numericos para resolver problemas de Ecuaciones Diferenciales Lineales Ordinarias con Valor Inicial

Una conveniente aplicacion de estos metodos es, por ejemplo, el analisis del estado transitorio de sistemas electricos y mecdniccs. haciendo el intervalo de tiempo muy pequeno iniciando por cero. Con los datos que proporciona el metodo numerico, la persona que analiza puede hacer una grafica a partir de la tabla de resultados. AI final de este trabajo se hara un ejemplo de esto. En este trabajo de tesis se describe, en el primer capftulo, el planteamiento de los Problemas de Valor Inicial de ecuaciones diferenciales de primer grado. Para solucionar estes problemas hay dos opciones: la selucien analftica y los metodos numericos; para ambos casos es necesario contar con la ecueclen diferencial que resuelve el problema. A partir del segundo capftulo se describen algunos metodos numericos que proporcionan buenas aproximaciones a la selucien analftica. En el apendice se incluyen algunos programas que sirven para la puesta en prdctlcc de los algoritmos; los programas estdn hechos en el lenguaje de programacion Pascal; en el mismo apartado estdn los resultados que arrojan los programas y una cempercclen entre sus resultados.

Metodos numericos para resolver problemas de Ecuaciones Diferenciales Lineales Ordinarias con Valor Inicial

CAPITULO I PLANTEAMIENTO DEL PROBLEMA DE VALOR INICIAL.

I.l

IntroduccicSn y objetivos.

EI objetivo de este capitulo es reconocer, a traves de algunas definiciones y teoremas, cucindoun problema tiene una solucian unica y cucindo es "bien planteado". Como en todos los problemas, antes de tratar de solucionarlo, es importante saber, de alguna manera, si el problema tiene solucian; en matemcitica es importante saber si la sclucldn es unica. Generalmente, las ecuaciones diferenciales que se obtienen de la prcictica son una aproximacion al problema real; y como este trabajo es de metodos numericos, y en ellos existe el error por redondeo, entonces es interesante indagar si al haber pequeiios cambios en el planteamiento estos producen a su vez cambios tambien pequeiios en el resultado. Para esta discusien se harci referencia a algunas definiciones de la teoria de Ecuaciones Diferenciales.

I.2 Definicion 1.
Una funcidn f(t,y) manera que: satisface una cendlclen de Lipschitz para la variable
> 0 de tal

y en un conjunto DcR2; si existe una constante de Lipschitz L

Metodos numericos para resolver problemas de Ecuaciones Diferenciales Lineales Ordinarias con Valor Inicial

r.a

DefiniciOn 2.
Un conjunto DcR2 es convexo si

Geometricamente, la definicion significa que en un conjunto convexo, la linea que une a cualesquiera dos puntos contenidos en el conjunto, debe estar toda contenida en el mismo conjunto. Con esta explicacion de la definicion, es facil ver que, un conjunto que tenga la forma de un rectangulo es convexo, un conjunto as! es como el que se utilizara en este trabajo, su definicion es:

D = {(t,y)ia St~ b; -oo<y>oo}

t.4 Teorema 1.
Suponiendo que /(t,y) es una funcion que esta definida en DcR2, que

es convexo; y que existe una constante L> 0 tal que:

0/ (t,y)5:L,'t(t,y) . oy

eD

Entonces la funcion satisface una condicion de Lipschitz en el conjunto D para la variable y con constante de Lipschitz L. Generalmente es mas sencillo demostrar que una funcion cumple con una condicidn de Lipschitz utilizando el anterior teorema que con la definicion.
4

Metodos numericos para resolver problemas de Ecuaciones Diferenciales Lineales Ordinarias con Valor Inicial

Para el proposlto de este trabajo, el siguiente teorema nos es util; dicho teorema es una version del teorema fundamental de existencia y unicidad para ecuaciones diferenciales ordinarias de primer orden.

I.!5 Teorema 2.
Suponiendo que f(t,y) es una funcion continua en el conjunto
= {(t,y)la g~

b; -oo<y>oo};

Y si la funcion satisface una condicion de Lipschitz en D para la variable y, entonces el problema de valor inicial

y'(t) = f(t,y);a

g ~b;y(a) = a

tiene a yet) como su unica solucidn. Para averiguar si el problema de valor inicial tiene una solucidn unica vasta con probar que cumpla con el anterior teorema. Habiendo considerado ya, hasta cierto punto, 10 de la existencia de una unica solucien al problema de valor inicial, hace falta indagar si al haber pequenos cambios en el enunciado del problema estos provoquen, a su vez, cambios tambien pequenos en la solucidn, La necesidad de esto, segun se menciono anteriormente, es porque las ecuaciones diferenciales que se obtienen de los problemas reales son solamente una aproximacion al mismo problema. Entonces conviene averiguar de alguna manera si el problema de valor'inicial tiene la propiedad de producir cambios pequenos, de magnitud parecida a los cambios introducidos al cambiar un poco el enunciado del problema, como consecuencia, probablemente, de observar con mas detalle el sistema.
5

Metodos numericos para resolver problemas de Ecuaciones Diferenciales Lineales Ordinarias can Valor Inicial

AI igual que en 10 de la unicidad, es necesario enuncier algunas definiciones utiles.

I.6 Definicion 3.
EI problema de valor inicial

y'(t)

= f(t,y);a

g~ b;y(a)

=a

es un problema "bien plcntecde" sf:


a) Existe una solucien unica y(t) para este problema, y b) existen constantes
8, k

>0, de tal manera que exista una unica

solucion g(t) al problema: ~~ =f(t,g)+8(t),a Con

g~,g(a)

= a+ eO.

Ig(t) - y(t)I<k8 .
Este tipo de problema se conoce como problema perturbado asociado al problema original.

Mitodos numiricos para resolver problemas de Ecuaciones Diferenciales Lineales Ordinarias con Valor Inicial

I.7 Teorema 3.
Supongamos que D inicial

= {{t,y)la

~~ b; -oo<y>oo}. EI problema de valor

y'{t)

= f{t,y);a

g ~b;y{a)

=a

estd bien planteado si

es continua y satisface una condicidn de Lipschitz

para la variable y en el conjunto D. Segun el ultimo teorema, para probar si el problema estd bien planteado, es suficiente con probar si cumple este teorema. Entonces, si el problema cumple este teorema se puede asegurar que su solucian es unica y que ademds, estd "bien plcntecdo", porque este teorema (3) es igual al ultimo citado en 10 de la unicidad(2), que garantiza la existencia de una unica solucian 0.1 problema.

Metodos numericos para resolver problemas de Ecuaciones Diferenciales Lineales Ordinarias con Valor Inicial

CAPITULO II ALGOIUTMOS NUMERICOS.

II.l

Introducci6n y obJetivos.

EI objetivo de este capitulo es dar a conocer los algoritmos de algunos metodos numericos. La funcien principal de los algoritmos numericos es calcular las aproximaciones a la solucidn del problema de valor inicial bien planteado en el intervalo que se ha definido para el mismo, tomando como primer punto el valor inicial indicado en el planteamiento del problema. Para reclizer el cdlculo. es necesario saber cudl es el intervalo y el tamano del paso 0 separcclen entre los puntos en los que se ha dividido el intervalo (h); es obvio que, entre mas pequenoes el tamano del paso, mas exactas serdn las aproximaciones y mayor la cantidad de puntos obtenidos; para el cdlcula'de la siguiente aproximacion hay una formula propia de cada algoritmo. EI algoritmo termina cuando se lIega al ultimo punto definido en el intervalo. Los algoritmos numericos no calculan una solucion continua, sino que dan aproximaciones en ciertos puntos del intervalo igualmente separados entre sf. Los metodos numericos para resolver Ecuaciones Diferenciales se pueden dividir en tres grupos:

1. Metodos de un paso.
2. Metodos de multiples pasos. 3. Metodos iterativos de un paso. Los metodos de un paso son los que obrienen el valor de la aproximacion para el siguiente paso, conociendo el valor de la aproximacion del paso actual y el tamano del paso 0 aumento (h); entre estos metodos estcin el de EUler y el de Runge - Kutta. Estos algoritmos pueden emplear el desarrollo en series de Taylor 0 la definicion de Integral Definida.
8

Metodos nume.ricos para resolver problemas de Ecuaciones Diferenciales Lineales Ordinarias con Valor Inicial

Los metodos de multiple paso utilizan el tamano de incremento (h) y mas de un punto anterior para el cdlculo de la siguiente cprcximcclen; estos metodos se derivan utilizando la definicion de Integral Definida. Los rnetodos iterativos de un paso, requieren solamente de un punto anterior y el tamano del intervalo (h), el cual se va dividiendo por la mitad.

II.2 EI metodo de Euler.


Este metodo, como los otros tiene como objetivo cproximccien al problema de valor inicial "Bien Planteado": obtener una

y'(t)

= f(t,y);a

51 ~ b;y(a)

= a.

Comose menciond anteriormente, este metodo calcula aproximaciones a la funcien y(t) que estdn separadas entre sf una distancia h. La distancia h se calcula como h= (b-a)/n: donde by a son los extremos del intervalo y n es el numero de aproximaciones que el metodo cclculcrd, Es obvio que si y(t) es no lineal, la aproximacion sera mas exacta cuando el ndmero n crezca. Con el fin de calcular algun punto entre las aproximaciones calculadas, se puede utilizar algun metodo de interpolccidn o volver a repetir el algoritmo con un numero mayor de puntos en el intervalo. Para aumentar la cantidad de puntos en el intervalo se aumenta el numero n.

Mitodos nume.ricos para resolver problemas de Ecuaciones Diferenciales Lineales Ordinarias con Valor Inicial

Derivacion del metodo utilizando el Teorema de Taylor: 5uponiendo que y(t) es la solucien al problema y que tiene dos derivadas continuas en el intervalo [a , b] de tal manera que

Donde

t. < &1 < II + 1 •


5abiendo que h = II + 1 - II , tenemos: y(t,. ,) = y(t,) + hy'(t,) +

h; y"(&,).

La funcion del metodo de EUler es generar unos 011 de tal manera que

01; ~ y(/I);

"iii = O,I,... ,n -1

donde
010 = a;01I 011+ I

=o» + hy' (II) =(f)1 + hf(/I,01I).


+I

A esta ultima ecuacion se le llama Ecuacion de Diferencia asociada con el metodo de EUler.
10

Metodos numericos para resolver problemas de Ecuaciones Diferenciales Lineales Ordinarias con Valor Inicial

II.3 Error del metodo de EOler:


EI error se define como:

En el ccilculo de las aproximaciones, el valor del error que hay del paso siguiente al actual se calcula as!:

De la anterior desigualdad, se observa que el error es proporcional al tamano de la separacion entre puntos h, esto significa que para reducir el error hay que disminuir el valor de h; disminuir h es mismo que aumentar el numero de puntos a tomar en el intervalo. Otra cosa importante de observar es . que el error se va pasando de paso en paso; esto quiere decir que el error crece tambien con el aumento de L

'0

11

Metodos numericos para resolver problemas de Ecuaciones Diferenciales lineales Ordinarias con Valor Inicial

II.4 Metodos de Runge - Kutta.


Otros algoritmos numericos que se utilizan para resolver los problemas que se analizan en este trabajo de investigacion son los de los metodos de Taylor de orden superior. Se les llama aSI en comparacion con otros metodos, como el de EUler que se deriva a partir de la Serie de Taylor para n=2, estos utilizan la misma serie, pero con n>2. Los metodos de Taylor de orden superior, al igual que todos los que se han visto en este trabajo, producen errores cada vez mas pequeffos conforme aumenta la cantidad de puntos en el intervalo. Llevar a la prdcticc estos metodos tiene el inconveniente que requieren el cdlculo y la evcluccidn de derivadas de la funcion f(t,y); estes cdlculos y evaluaciones de derivadas requieren tiempo y, por supuesto, cdlculos de parte del usuario. Los metodos de Runge - Kutta producen errores del mismo orden que los metodos de Taylor de orden superior, y su utilizacion representa la ventaja de no requerir el cdlculo y evcluccien de las derivadas de la funcien f(t,y), obteniendo el mismo resultado en un lapso de tiempo menor.

II.4.1 Metodo del Punto Medio (de Runge - Kutta):


Lo primero que hay que hacer para derivar este metodo es determinar los valores de las constantes al,al,p I de tal manera que

se aproxime a la serie de Taylor de orden 2

r(2)(t,y)

= J(t,y) + h J'(t,y). 2

12

Metodos numericos para resolver problemas de Ecuaciones Diferenciales Lineales Ordinarias con Valor Inicial

Los pcrdmetros al,al,p

estdn determinados de manera unica por: al = l;al

h = -;{31 = -h /(/,y).
2 2 en el metodo de Taylor de orden

EI metodo que resulta de reemplazar T(2)(t,y) 2 por

es un metodo de Runge - Kutta lIamado Metodo del Punto Medio. EI algoritmo de este metodo numerico genera a:

OJ;:::::y(/I);
de tal manera que:

'r:ii = 0,1, ... , n.

OJo OJ;

= a;
+ 1 =<J),

+ hftt, + -,OJ; + - /(/;,OJ;)).


2 2

Si se desea utilizar un algoritmo aun mas exacto, se puede utilizar T(3)(t,y) I para esto hace falta calcular otro coeficiente cdemds de al,al,p
I.

La forma de cuctro pcrdmetros mas adecuada para aproximar

T(3)(t,y) = /(/,y) + - /'(/,y)

h2 + -/"(/,y)

es:

13

Metodos numericos para resolver problemas de Ecuacione.s Diferenciales Lineales Ordinarias con Valor Inicial

Los metodos mas importantes que se derivan a partir de esto Son el Metodo de Ei.iler Modificado y el Metodo de Heun.

n.4.2 Metodo de EUler Modificado:

La formula del Metodo de EUler Modificado para generar los


OJo = a;

(J)

es:

n.4.3 Metodo de Heun:

La formula para el Metodo de Heun es:


OJo = a; OJi + I =OJ,

+-

h[ /(/"OJ,)
4

2 2 + 3/(/, + -h,OJ, + -h/(/"OJi) 3 3

].

Para i = 0,1, ... , n -1.

14

Metodos numericos para resolver problemas de Ecuaciones Diferenciales Lineales Ordinarias con Valor Inicial

CAPITULO METODOS MULTIPASO.

m.l Introducci6n y obJetivos.


Este capitulo tiene como objetivo explicar la diferencia entre metodos de un paso y metodos Multipaso. Despues de entender la diferencia se dara a conocer el algoritmo de Adams - Bashforth que por ser un metoda de cuatro pasos es uno de los metodos multipaso. Todos los metodos explicados en los capitulos anteriores son de un solo paso, porque, para el cdlculo de la aproximacion de la funcien en un punto ten el intervalo solamente se toma en cuenta uno de los valores calculados anteriormente (en todos los algoritmos aqui explicados se utiliza la cproximccien inmediata anterior). Entonces, se puede decir que los metodos multipaso requieren de mas de un valor calculado anteriormente para calcular la actual aproximacion a la solucidn, En los metodos de un paso, se sabe que la diferencia entre la cproximccien y el valor real (error) aumenta cuando el valor de i aumenta. EI aumento del error ocurre porque al calcular la cproximccidn actual se utiliza la aproximacion inmediatamente anterior que es la que tiene el error mas grande entre las aproximaciones anteriores. A diferencia de los metodos de un paso, los multipaso disminuyen el error al utilizar valores anteriores con un error mas pequeno que el de la aproximacion inmediatamente anterior. En este sentido los metod os multipaso son mas convenientes que los de un paso.

15

Metodos numericos para resolver problemas de Ecuaciones Difere.nciales lineales Ordinarias con Valor Inicial

Un metoda multipaso para resolver el problema de valor inicial

y'(t) = f(t,y);a

g~ b;y(a) = a
0) 1+1

es aquel cuya ecuccien de diferencia para calcular la aproximacion puede representarse por la siguiente ecuccion:
OJ; +
I

en I,

= a", - ,OJI + a", - 20JI - r+ ... +aoOJ;

+ , - '"

donde m es entero mayor que 1. En la ecuccion anterior, cuando b. = 0, el valor de


0) 0)
i i+

expllcitamente, pero cuando b. * 0 la ecuccien define a

queda definido impllcitamente.

No conviene utilizar los metod os impllcitos como este porque no es claro que en general se pueda resolver la ecuccion aSI como tampoco se puede garantizar la unicidad de la respuesta. Es por esta dificultad que solamente se expondrcin algoritmos expllcitos.

III.2 Tecnica de Adams - 8ashforth:


La tecnica de Adams - Bashforth de cuarto orden es un metodo expllcito de cuatro pasos. Las ecuaciones que 10 definen son:

OJo = a;

donde

0) 1,0) 2,0)]

se obtienen previa mente con alguno de los metodos de un paso.


16

Metodos numericos para resolver problemas de Ecuaciones Diferenciales Lineales Ordinarias con Valor Inicial

. CAPITULO IV SISTEMAS DE ECUACIONES DIFERENCIALES DE PRIMER ORDEN Y ECUACIONES DIFERENCIALES DE ORDEN MAYOR. IV.l Introduccion y objetivos.

Uno de los objetivos de este capitulo es extender la teoria del capitulo I a los sistemas de ecucciones diferenciales de primer orden. Otro objetivo es explicar como convertir una ecuccien diferencial de orden mayor que uno en un sistema de ecuaciones diferenciales de primer orden. En este capitulo se discutira como transformar una ecuccidn diferencial de orden mayor en un sistema de ecuaciones diferenciales de primer orden. Antes de averiguar como se hcce esta trcnsformccien hay que hacer algunas observaciones concernientes a los sistemas de ecuaciones diferenciales de primer orden.
IV.2 Sistemas de ecuaciones diferenciales de primer orden.

Un sistema de m problemas de valor inicial de primer orden se puede expresar en la forma:

Sujeto a las condiciones iniciales:

Para a~t ~b.


17

Metodos numericos para resolver problemas de Ecuaciones Diferenciales Lineales Ordinarias con Valor Inicial

En este tipo de problema se buscan m funciones

UI,U2'··'U.

que

satisfagan las ecuaciones diferenciales del sistema y las condiciones iniciales. AI igual que en los problemas de ecuaciones diferenciales de primer orden, es necesario indagar sobre la existencia y unicidad de la solucian; para esto es necesario extender la definicion de la cendicicn de Lipschitz para funciones de varias variables.

IV. 2 .1 Definici6n 4. La funcien

definidc en el conjunto

={(t,Ul, ... ,u...)1 a ~ t ~ b; -

00

< u, < 00, para i = 1,2,... m}


UI,

Satisface una condiclen de Lipschitz en D en las variables existe una constante L > 0 tal que:

uv- ,u. si

/(t,Ul, ... ,Um)- /(t,ZI, ... ,Zm)~L~::IUj-Zjl


}=1

18

Metodos numericos para resolver problemas de Ecuaciones Diferenciales Lineales Ordinorias con Valor Inicial

Se puede demostrcr continues en D y si

que si

fy

sus primercs derivcdcs

pcrcicles

son

para i = 1,2,... ,m. Y 'V'(t,UI, ... ,u",)eD

entonces

sctisfcce

unc condlclen de Lipschitz en D con constcnte

L.

IV.2.2 Teorema 4.
Suponiendo que

D y que

= {(t,Ul,

... ,u",)1a 5; t

5; b;

00

< u. < 00, para i

= 1,2,... m}

f ;(t, U

I, ••• ,

u;)

para i = 1,2,... ,m
es continue en D y tQI que sctisfcce unQ condicidn de Lipschitz chl. Entonces, el sistemc de ecucciones diferencicles de primer orden sujetcs Q IQS condiciones iniciQles tiene uno solucidn unicQ

UI(t), ... ,u",(t). Para as t S h.

19

Metodos numericos para resolver problemas de Ecuaciones Diferenciales Lineales Ordinarias con Valor Inicial

Con el teorema y la definicion anteriores ya es posible indagar si un


problema con un sistema de ecuaciones diferenciales de primer orden tiene una soluci6n unica.

IV.3 ConversiOnde una ecuaci6n diferencial de orden mayor en un sistema de ecuaciones diferenciales de primer orden.
Ahora 10 que falta es averiguar como convertir una ecuccidn diferencial de orden mayor en un sistema de ecuaciones diferenciales de primer orden. Para convertir una ecuccien diferencial de orden m de la forma y(m)(t)= /(t,y,y', con condiciones iniciales y(a) =al,y'(a) =a2, ... ,y(m-l)(a) =a ; ... ,y(m-l)), a

st ~ b

en un sistema de ecuaciones en la forma

dUI dt dt

= /1\t,UI,U2,. .. ,u",

dU2 = /2 ( t,UI,U2,. .. ,U",) -

( -du; = j..\t,UI,U2,
dt

•.. ,u..

con las condiciones iniciales:

20

Metodos numericos para resolver problemas de Ecuaciones Diferenciales Lineales Ordinarias con Valor Inicial

se toma

UI(t)= y(t);U2(t)= y'(t); ... ;u...(t)=y(m-l)(t)

Utilizando esta notccien se obtiene el sistema de primer orden:

dUI _dy _ ----U2, dt dt dU2 dy' -=-=U3 dt dt

'

du; _i _ dy(m-2) _ -------u'" dt dt du; _ dy(m-l) _ (m) _ --y dt dt

I( t,y,y, , ... ,y

(m-l) -

I( t,UI, ... ,U'")

con condiciones iniciales

uI(a)= y(a)= aI, u2(a)= y'(a)= a 2,


() U'"a =y (m-l)()a =a» ..

. Ya que se han escrito las definiciones necesarias y se ha expuesto como convertir una ecuccien diferencial de orden mayor en un sistema de ecuaciones diferenciales de primer orden se puede pasar a escribir sobre los metodos numericos para resolver dichos sistemas.

21

Metodos numericos para resolver problemas de Ecuaciones Diferenciales Lineales Ordinarias con Valor Inicial

CAPITULO V METODOS NUMERICOS PARA RESOLVER SISTEMAS DE ECUACIONES' DIFERENCIALES DE PRIMER ORDEN.

V.l Introdueci6n y obJetivos.


EI objetivo de esta seceien es dar a conocer un algoritmo para calcular las aproximaciones a la solucien de un sistema de ecuaciones diferenciales de primer orden. Los metodos para resolver sistemas de ecuaciones diferenciales de primer orden son simplemente generalizaciones de los metodos descritos en los capitulos anteriores para una sola ecuacion de primer orden.

V.2 6eneralizaci6n del metodo de Adams - Bashforth.


EI metodo multipaso de Adams - Bashforth de orden originalmente es para una ecuccidn de primer orden, y se define asi: cuatro,

0)0

=a;

donde, ca l,tV2,tV] paso.

se obtienen previamente con alguno de los metodos de un

22

Metodos numericos para resolver problemas de Ecuaciones Diferenciales Lineales Ordinarias con Valor Inicial

Para generalizar este metodo de manera que se pueda utilizar para resolver un sistema de ecuaciones diferenciales de primer orden hay que hacer 10 siguiente: La notacion
1,=I(a+ jh)
OJ",

denota la aproximacion de u.(t ,) , donde

para cada
j =O,l, ... ,n; i =1,2,... .m.

Para que no exista confusion, se cambia ca l,liJl,liJ! la nueva notccien quedan as!:

por PI,Pl,P!

que, con

Las condiciones iniciales ahora se escriben as!:

23

Metodos numericos para resolver problemas de Ecuaciones Diferenciales Lineales Ordinarias con Valor Inicial

EI resto de la ecuecien de diferencia queda como sigue:

donde t i=tia + jh).

Para cada j= 0,1,..., n: i= l,2, ...,m.

24

Metodos numericos para resolver problemas de Ecuaciones Diferenciales Lineales Ordinarias con Valor Inicial

CAPITULO VI EJEMPLO PRACTICO.

VI.l Introducci6n y objetivos.


En esta seccien el objetivo es explicar con un ejemplo como se pone en prdcticc la teorfa de los capftulos anteriores. EI ejemplo es calcular la fun cion I{t) de un circuito RL con una excitccien de escalon unitcrio u(t). La excitccidn de escalon unitario se obtiene prdcticcmente colocando en serie con la fuente de voltaje de corriente directa un interruptor, este interruptor estd abierto y se cierra en el tiempo t=O. La respuesta que se colculcrd es la que se conoce como "Respuesta transitoria" ya que su durccien es corta en el tiempo. Otro nombre que recibe la respuesta transitoria es "Respuesta Natural" ya que corresponde a la naturaleza del circuito. En la medida que aumente el intervalo de tiempo, la Respuesta Transitoria tenderd a la Respuesta Forzada 0 de estado estable. EI corto intervalo de tiempo se calcula como 5 veces el valor de la constante de tiempo porque despues de transcurrido este tiempo la senal es casi el cien por ciento de la senal estable, 0 sea la senal despues de un tiempo "largo".

25

Mitodos numericos para resolver problemas de Ecuaciones Diferenciales Lineales Ordinarias con Valor Inicial

VI.2 Ejemplo.
Calcular i(t) en el siguiente circuito:
El interruptor se cierra en t=O

20v i(t)

R=4n
L=2H

Solucion: Aplicando la Ley de Voltajes de Kirchoff (KVL): -Vo u(t) + Ri + L (di/dt) 4i(t) + L (di/dt) :0

: 20 u(t)

Para t <0: Vo: OV, i(t) : O. Para t > 0 Vo: 20V. 4 i(t) + L (di/dt) : 20.

La solucion analftica es: i(t): 0 para t<O; (Vo/R)(l- EXP(-Rt/L»


26

Metodos numericos para resolver problemas de Ecuaciones Diferenciales Lineales Ordinarias con Valor Inicial

Para t>O, en este circuito: i(t}: 5(1- EXP(-2t}}

Para los algoritmos es necesario saber: (dy/dt) : f(t,y}.

En este caso, para t>O: 4i + 2(di/dt} :20. 2(di/dt} : 20 - 4i (di/dt) : 10 - 2i : f(t,i}.

Intervalo de tiempo: La constante de tiempo es L/R: 2/4 : 0.5 s. Se considera que despues de 5 veces la constante de tiempo, la corriente i(t} habra alcanzado casi todo su valor al infinito, es por esto que en los algoritmos el intervalo de tiempo sera de 0 a 2.5 segundos.

27

Metodos numericos para resolver problemas de Ecuaciones Diferenciales Lineales Ordinarias con Valor Inicial

CAPITULO

vn

CONCLUSIONES.

1. En todos los algoritmos implementados, al aumentar la cantidad de pasos, se observe que disminuyo el error. 2. De menor a mayor exactitud, tanto para una cantidad de pasos n=10 como para n=100, los algoritmos quedan ordenados aSI: Euler Modificado, Euler, Punto Medio, Adams - Bashforth. De cqui se puede inferir que el mejor de los algoritmos implementados es el de Adams - Bashforth, sin embargo hay que aclarar que sirve solo para n mayor 0 igual a 4 porque las primeras 3 aproximaciones se calculan por algun otro metodo. 3. En las graficas comparativas, cuando n es 5 y cuando es 10, se observa con claridad que son mejores los algoritmos del Punto Medio y el de Adams Bashforth. En la grafica de compcrcclen para n=100 casi no se nota diferencia, pero al ver los resultados es claro que el mejor es el de Adams Bashforth. 4. Resulta muy util usar alguno de estos algoritmos ya que con una cantidad considerable de pasos (p.e.: n=100) se consigue una muy buena aproximacion a la soluclen de la ecuccien diferencial; con errores menores al 0.1%. 5. Con la ayuda de una computadora es muy sencillo implementar alguno de los algoritmos porque, a pesar que los cdlculos no son complicados, sl son repetitivos. Si quien va a utilizar los metodos numericos cqul tratados no puede programar tiene la alternativa de utilizar paquetes computacionales como las Hojas de Calculo en las que puede con facilidad obtener las aproximaciones.

28

Metodos numb-icos para resolver problemas de Ecuaciones Diferenciales Lineales Ordinarias con Valor Inicial

BIBLIOGRAFIA

R.L. BURDEN & J.D.FAIRES

Ancilisis numerico. Grupo Editorial Iberoamericana 1985

F. SHEID & R.E. DI CONSTANZO

Metodos numericos. McGraw Hill Segunda edicion

R.K.NAGLE & E.B. SAFF

Fundamentos de ecuaciones Diferenciales. Addison - Wesley Iberoamericana 1992

DENNIS G. ZILL

Differential Equations. Plus Kent Quinta Edicion 1992

W.H. HAYT & J.E. KEMMERLY

Ancilisis de circuitos en ingenieria. Mc Graw Hill Quinta edicion 1994

29

APENDICE

30

Comparaci6n de los distintos algoritmos con los valores reales en eI ejemplo del circuito RL.

Paso
0 1 2 3 4 5

tiempo 0 0.5 1 1.5 2 2.5

Rea
0.0000 3.1606 4.3233 4.7511 4.9084 4.9863

Adams
0.0000 2.5000 3.7500 4.3750 4.7135 4.8231

O.eeoe
0.5733 0.3761 0.1949 0.1432 0.3898

0.0000

Error

Pran:

0.0000 2.5000 3.7500 4.3750 4.6875 4.8438

EM

O.eeoe
0.5733 0.3761 0.2209 0.1228 0.3907

0.0000

Error

Pran:

0.0000 5.0000 5.0000 5.0000 5.0000 5.0000

Euler

Pran:

0.0000 1.8394 0.8m 0.2489 0.0918 0.0337 0.5781

Error

0.0000 2.5000 3.7500 4.3750 4.6875 4.8438

PM

O.eeoe
0.5733 0.3781 0.2209 0.1228 0.3907

0.0000

Error

Pran:

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

tiempo
0 0.25 0.5 0.75 1 1.25 1.5 1.75 2 2.25 2.5

Real
0.0000 1.9673 3.1608 3.8843 4.3233 4.5896 4.7511 4.8490 4.9084 4.9445 4.9863

Adams
0.0000 1.8750 3.0469 3.7793 4.2487 4.5287 4.7200 4.8118 4.9056 4.9100 4.9896

Error
0.0000 0.0923 0.1137 0.1051 0.0747 0.0609 0.0311 0.0372 0.0028 0.0345 0.0233 0.0576

EM
0.0000 1.8750 3.0469

Error
0.0000 0.0923 0.1137 0.1051 0.0883 0.0684 0.0491 0.0353 0.0248 0.0172 0.0118 0.0602

Euler
0.0000 2.5000 3.7500 4.3750 4.6875 4.8438 4.9219 4.9609 4.9805 4.9902 4.9951

Error
0.0000 0.5327 0.5894 0.4907 0.3642 0.2542 0.1708 0.1119 0.0720 0.0458 0.0288 0.2660

PM
0.0000 1.8750 3.0469 3.7793 4.2371 4.5232 4.7020 4.8137 4.8838 4.9272 4.9545

Error
0.0000 0.0923 0.1137 0.1051 0.0883 0.0684 0.0491 0.0353 0.0248 0.0172 0.0118 0.0602

3.n93
4.2371 4.5232 4.7020 4.8137 4.8838 4.9272 4.9545

Pran:

Pran:

Prom:

Pran:

Nota: EI promedio del error esta calculado a partir de la aproximaci6n # 1 porque en la # 0 no hay error ya que este dato es el valor inlcial. Clave: Real: Valor real de la funci6n. Adams: Algoritmo de Adams - Bashforth EM: Algoritmo de Euler Modificado PM: Algoritmo de Punto Medio.

31

Comparacl6n de los distlntos a1goritmOS con los valores

reaIes en eI ejemplo del clrcuito RL.

32

Paso 66

tien1)o

67
68

69 70 71 72 73 74 75 76 78 79
80

1.65 1.675 1.7 1.725 1.75 1.8 1.825 1.85 1.875 1.9 1.925 1.95 1.975 2 2.025 2.05 2.075 2.1 2.125 2.15 2.175 2.2 2.225 2.25 2.275 2.3 2.325 2.35 2.375 2.4 2.425 2.45 2.475 2.5

1.n5

rr

81
82 83

84 85 86 87 88 89 90 91 92
93

94 95 96 97 98
99

100

Real 4.8156 4.8246 4.8331 4.8413 4.6490 4.8564 4.8634 4.8700 4.8764 4.8824 4.8881 4.6936 4.8988 4.9037 4.9084 4.9129 4.9171 4.9212 4.9250 4.9287 4.9322 4.9355 4.9386 4.9416 4.9445 4.9472 4.9497 4.9522 4.9545 4.9567 4.9589 4.9609 4.9628 4.9646 4.9663

Adana ~ 4.8156 0.0000 4.8246 0.0000 4.8331 0.0000 4.8413 0.0000 4.8490 0.0000 4.8564 0.0000 4.8634 0.0000 4.8700 0.0000 4.8764 0.0000 4.8824 0.0000 4.8881 0.0000 4.6936 0.0000 4.8988 0.0000 4.9037 0.0000 4.9084 0.0000 4.9129 0.0000 4.9171 0.0000 4.9212 0.0000 4.9250 0.0000 4.9287 0.0000 4.9322 0.0000 4.9355 0.0000 4.9386 0.0000 4.9416 0.0000 4.9445 0.0000 4.9472 0.0000 4.9497 0.0000 4.9522 0.0000 4.9545 0.0000 4.9567 0.0000 4.9588 0.0000 4.9609 0.0000 4.9628 0.0000 4.9646 0.0000 4.9663 0.0000 Prom: 0.00006

4.8153 4.8243 4.8329 4.8410 4.8488 4.8562 4.8632 4.8698 4.8762 4.8822 4.8880 4.6934 4.8986 4.9036 4.9083 4.9127 4.9170 4.9210 4.9249 4.9285 4.9320 4.9353 4.9385 4.9415 4.9443 4.9471 4.9496 4.9521 4.9544 4.9567 4.9588 4.9608 4.9627 4.9645 4.9662
Prom:

EM

Error
0.0003 0.0003 0.0002 0.0002 0.0002 0.0002 0.0002 0.0002 0.0002 0.0002 0.0002 0.0002 0.0002 0.0002 0.0002 0.0002 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.00042

4.8307 4.8391 4.8472 4.8548 4.8621 4.8690 4.8755 4.8816

Euler IError

4.88n

4.8933 4.8986 4.9037 4.9085 4.9131 4.9174 4.9216 4.9255 4.9292 4.9327 4.9361 4.9393 4.9423 4.9452 4.9480 4.9506 4.9530 4.9554 4.9576 4.9597 4.9617 4.9637 4.9655 4.9672 4.9688 4.9704

0.0151 0.0146 0.0140 0.0136 0.0131 0.0126 0.0121 0.0117 0.0113 0.0109 0.0105 0.0101 0.0097 0.0094 0.0090 0.0087 0.0083 0.0080

o.oon

Prom:

0.0074 0.0071 0.0069 0.0066 0.0063 0.0061 0.0059 0.0056 0.0054 0.0052 0.0050 0.0048 0.0046 0.0044 0.0043 0.0041 0.02426

PM 4.8153 4.8243 4.8329 4.8410 4.8488 4.8582 4.8632 4.8698 4.8762 4.8822 4.8880 4.6934 4.8986 4.9036 4.9083 4.9127 4.9170 4.9210 4.9249 4.9285 4.9320 4.9353 4.9385 4.9415 4.9443 4.9471 4.9496 4.9521 4.9544 4.9567 4.9588 4.9608 4.9627 4.9645 4.9662
Prom:

0.0003 0.0003 0.0002 0.0002 0.0002 0.0002 0.0002 0.0002 0.0002 0.0002 0.0002 0.0002 0.0002 0.0002 0.0002 0.0002 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.0001 0.00042

Error

Paso 66

er

68

69 70 71 72 73 74 75 76

tt

78 79
80

81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
99

100

Nota: EI promedio del error esta calculado a partir de la aproximaci6n este data es el valor inicial. Clave: Real: Valor real de la funci6n. Adams: AJgoritmo de Adams - Bashforth EM: AJgoritmo de Euler Modificado PM: AJgoritmo de Punto Medio.

# 1 porque en la # 0 no hay error ya que

33

Program Euler; uses crt ,printer; { Este programa calcula aproximaciones a la solucldn de una ecuccien diferencial por medio del algoritmo de Euler} type omega:array [0 ..200] of real;

Var
a,b,h,o,t:real; n,i:integer; w:omega; Begin

clrscr:
writeln CEscriba el valor del limite inferior del intervalo'); readln(a); writeln CEscriba el valor del limite superior del intervalo'); readln(b); writeln CEscriba el ndmero de pasos que dara el algoritmo'); readln(n); h::(b-a)/n; writeln CEscriba el valor de la condicidn inicial de y'); readln(o); w[O]::o; Writeln(, las aproximaciones (t ,y) son:'); Writeln(Lst,' Las aproximaciones (t,y) son:'); for i:=O to n do begin w[i+l]:: w[i]+h*(10-2*w[i]); {w[i+l]:: w[i]+h*(-w[i]+(a+i*h)+l);} t:=a+i*h; if idO then writeln(Lst,' 0' ,i,'C ,t:l0:6,' I' ,w[i]:10:6,,),) else writeln(Lst,' ,,i,' (' ,t:l0:6,' " ,w[i]:10:6,')'); writeln('(' ,t:l0:6,',' ,w[i]:10:6,,),); end; read In; End.

34

Las aproximaciones
OO( 01( 02 ( 03 ( 04 ( 05( 06 ( 07 ( 08( 09 ( 10 ( 0.000000, 0.250000, 0 .500000, 0.750000, 1.000000, 1.250000, 1. 500000, 1.750000, 2.000000, 2.250000, 2.500000,

0.000000) 2.500000) 3.750000) 4.375000) 4.687500) 4.843750) 4.921875) 4.960938) 4.980469) 4.990234) 4.995117)

(t,y) son:

35

01{ 02 ( 03{ 04 ( 05{ 06 ( 07{ 08{ 09{ 10{ 11{ 12{ 13 ( 14{ 15{ 16{ 17{ 18{ 19{ 20{ 21{ 22{ 23{ 24 ( 25{ 26{ 27{ 28{ 29{ 30 ( 31{ 32{ 33{ 34{ 35{ 36{ 37{ 38{ 39 ( 40{ 41{ 42{ 43 ( 44{ 45{ 46 ( 47{ 48{ 49{ 50 ( 51{ 52 ( 53 ( 54 ( 55 ( 56{ 57 ( 58 (

Las aproximaciones (t , y) son: OO{ 0.000000, 0.000000)


0.025000, 0.050000, 0.075000, 0.100000, 0.125000, 0.150000, 0.175000, 0.200000, 0.225000, 0.250000, 0.275000, 0.300000, 0.325000, 0.350000, 0.375000, 0.400000, 0.425000, 0.450000, 0.475000, 0.500000, 0.525000, 0.550000, 0.575000, 0.600000, 0.625000, 0.650000, 0.675000, 0.700000, 0.725000, 0.750000, 0.775000, 0.800000, 0.825000, 0.850000, 0.875000, 0.900000, 0.925000, 0.950000, 0.975000, 1.000000, 1.025000, 1.050000, 1.075000, 1.100000, 1.125000, 1.150000, 1.175000, 1.200000, 1.225000, 1.250000, 1.275000, 1.300000, 1.325000, 1.350000, 1.375000, 1.400000, 1.425000, 1.450000, 0.250000) 0.487500) 0.713125) 0.927469) 1.131095) 1.324541) 1.508314) 1.682898) 1.848753) 2.006315) 2.156000) 2.298200) 2.433290) 2.561625) 2.683544) 2.799367) 2.909398) 3.013928) 3.113232) 3.207570) 3.297192) 3.382332) 3.463216) 3.540055) 3.613052) 3.682400) 3.748280) 3.810866) 3.870322) 3.926806) 3.980466) 4.031443) 4.079870) 4.125877) 4.169583) 4.211104) 4.250549) 4.288021) 4.323620) 4.357439) 4.389567) 4.420089) 4.449084) 4.476630) 4.502799) 4.527659) 4.551276) 4.573712) 4.595026) 4.615275) 4.634511) 4.652786) 4.670147) 4.686639) 4.702307) 4.717192) 4.731332) 4.744766)

36

59( 60( 61( 62( 63 ( 64 ( 65( 66( 67( 68( 69 ( 70( 71( 72 ( 73 ( 74 ( 75( 76( 77( 78( 79( 80( 81( 82 ( 83 ( 84 ( 85 ( 86 ( 87( 88( 89 ( 90( 91( 92 ( 93( 94 ( 95( 96 ( 97( 98( 99( 100(

1.475000, 1.500000, 1.525000, 1.550000, 1.575000, 1.600000, 1.625000, 1.650000, 1.675000, 1.700000, 1. 725000, 1.750000, 1.775000, 1.800000, 1.825000, 1.850000, 1.875000, 1.900000, 1.925000, 1.950000, 1.975000, 2.000000, 2.025000, 2.050000, 2.075000, 2.100000, 2.125000, 2.150000, 2.175000, 2.200000, 2.225000, 2.250000, 2.275000, 2.300000, 2.325000, 2.350000, 2.375000, 2.400000, 2.425000, 2.450000, 2.475000, 2.500000,

4.757527) 4.769651) 4.781168) 4.792110) 4.802505) 4.812379) 4.821760) 4.830672) 4.839139) 4.847182) 4.854823) 4.862082) 4.868977 ) 4.875529) 4.881752) 4.887665) 4.893281) 4.898617) 4.903686) 4.908502) 4.913077) 4.917423) 4.921552) 4.925474) 4.929201) 4.932741) 4.936104) 4.939298) 4.942333) 4.945217) 4.947956) 4.950558) 4.953030) 4.955379) 4.957610) 4.959729) 4.961743) 4.963656) 4.965473) 4.967199) 4.968839) 4.970397)

37

Program Punto_medio; uses crt,printer; {Este programa calcula kls aproximaciones a la solucion de una ecuccien diferencial por medio del algoritmo del Punto Medio} type omega:array [0 ..200] of real; Var a,b,h,o,t:real; n,i:integer; w:omega; Begin clrscr; writeln (' Escriba el valor del limite inferior del intervalo'); readln(a); writeln (,Escriba el valor del limite superior del intervalo'); readln(b); writeln (' Escriba el ndmero de pasos que dara el algoritmo'); readln(n); h::(b-a)/n; writeln ('Escriba el valor de la condicion inicial de y'); readln(o); w[O]::o; Writeln(,las aproximaciones (t,y) son:'); Writeln(Lst,' Las aproximaciones (t,y) son:'); for i::O to n do begin w[i+l]:: w[i]+h*(10-2*(w[i]+(h/2)*(10-2*w[i]»); { w[i+l]:: w[i]+h*(-w[i]+(a+i*h)+l);} t::a+i*h; if i<10then writeln(Lst,' 0' ,i,'(' ,t:l0:6,',',w[i]:10:6,')') else writeln(Lst,' ',i,'(',t:l0:6,',',w[i]:10:6,')'); writeln(,(, ,t:l0:6,',',w[i]:10:6,')'); end; read In; End.

38

Las aproximaciones (t,y) son: OO( 0.000000, 0.000000)


01( 02 ( 03( 04 ( 05( 06 ( 07( 08 ( 09( 10( 0.250000, 0.500000, 0.750000, 1.000000, 1.250000, 1.500000, 1. 750000, 2.000000, 2.250000, 2.500000, 1.875000) 3.046875) 3.779297) 4.237061) 4.523163) 4.701977) 4.813735) 4.883585) 4.927240) 4.954525)

39

Las aproximaciones (t,y) son:


01( 02 ( 03 ( 04 ( 05( 06 ( 07 ( 08( 09( 10 ( 11 ( 12 ( 13 ( 14 ( 15 ( 16( 17 ( 18 ( 19 ( 20( 21( 22 ( 23( 24 ( 25 ( 26( 27( 28 ( 29( 30( 31( 32 ( 33 ( 34 ( 35 ( 36( 37 ( 38( 39 ( 40( 41( 42( 43 ( 44 ( 45( 46( 47( 48( 49( 50( 51( 52( 53( 54( 55 ( 56( 57 ( 58(

OO(

0.000000, 0.025000, 0.050000, 0.075000, 0.100000, 0.125000, 0.150000, 0.175000, 0.200000, 0.225000, 0.250000, 0.275000, 0.300000, 0.325000, 0.350000, 0.375000, 0.400000, 0.425000, 0.450000, 0.475000, 0.500000, 0.525000, 0.550000, 0.575000, 0.600000, 0.625000, 0.650000, 0.675000, 0.700000, 0.725000, 0.750000, 0.775000, 0.800000, 0.825000, 0.850000, 0.875000, 0.900000, 0.925000, 0.950000, 0.975000, 1.000000, 1.025000, 1.050000, 1.075000, 1.100000, 1.125000, 1.150000, 1.175000, 1.200000, 1.225000, 1.250000, 1.275000, 1.300000, 1.325000, 1.350000, 1.375000, 1.400000, 1.425000, 1.450000,

0.000000) 0.243750) 0.475617) 0.696181) 0.905992) 1.105575) 1.295428) 1.476026) 1.647820) 1.811239) 1.966691) 2.114564) 2.255229) 2.389037) 2.516321) 2.637401) 2.752578) 2.862139) 2.966360) 3.065500) 3.159807) 3.249516) 3.334852) 3.416028) 3.493247) 3.566701) 3.636574) 3.703041) 3.766268) 3.826413) 3.883625) 3.938048) 3.989818) 4.039065) 4.085910) 4.130472) 4.172862) 4.213185) 4.251542) 4.288029) 4.322738) 4.355754) 4.387161) 4.417037) 4.445457) 4.472491) 4.498207) 4.522669) 4.545939) 4.568075) 4.589131) 4.609161) 4.628214) 4.646339) 4.663580) 4.679980) 4.695581) 4.710422) 4.724539)

40

59( 60( 61( 62 ( 63 ( 64( 65( 66( 67 ( 68( 69( 70( 71( 72( 73 ( 74( 75( 76( 77( 78( 79( 80( 81( 82( 83( 84 ( 85( 86( 87( 88( 89( 90( 91( 92 ( 93 ( 94 ( 95( 96( 97 ( 98( 99( 100(

1.475000, 1.500000, 1.525000, 1.550000, 1.575000, 1.600000, 1.625000, 1.650000, 1.675000, 1.700000, 1.725000, 1.750000, 1.775000, 1.800000, 1.825000, 1.850000, 1.875000, 1.900000, 1.925000, 1.950000, 1.975000, 2.000000, 2.025000, 2.050000, 2.075000, 2.100000, 2.125000, 2.150000, 2.175000, 2.200000, 2.225000, 2.250000, 2.275000, 2.300000, 2.325000, 2.350000, 2.375000, 2.400000, 2.425000, 2.450000, 2.475000, 2.500000,

4.737967) 4.750741) 4.762893} 4.774452) 4.785447) 4.795907) 4.805856) 4.815321) 4.824324) 4.832888) 4.841035) 4.848784) 4.856156) 4.863168) 4.869839) 4.876184) 4.882220) 4.887962) 4.893424) 4.898620) 4.903562) 4.908263) 4.912735) 4.916990) 4.921036) 4.924886) 4.928548) 4.932031) 4.935344) 4.938496) 4.941495) 4.944347) 4.947060) 4.949641) 4.952096) 4.954431) 4.956653) 4.958766) 4.960776) 4.962688) 4.964507) 4.966237)

41

Program Euler_modificado; uses crt ,printer; {Este programa calcula las aproximaciones a la solucion de una ecuccien diferencial por medio del algoritmo del Punto Medio} type omega:array [0..200] of real; Var a,b,h,o,t:real; n,i:integer; w:omega; Begin

clrscr:
writeln (' Escriba readln(a); writeln (,Escriba readln(b); write In (' Escriba readln(n); h::(b-a)/n; writeln (,Escriba readln(o); el valor del limite inferior del intervalo'); el valor del limite superior del intervalo'); el ndmero de pasos que dara el algoritmo');

el valor de la condlcien inicial de y');

w[O]::o; Writeln(Lst); Writeln(Lst, ' Metodo de Euler Modificado'); Writeln(Lst ); Writeln(Lst, ' t·(,a'2'2 ' , b'2'2 ,),)., ',"",", n:' ,n); Writeln(Lst " Writeln(Lst ); Writeln(,Metodo de Euler Modificado'); Writeln(, las aproximaciones (t ,y) son:'); Writeln(Lst,' Las aproximaciones (t,y) son:');

42

for i::O to n do begin w[i+l]:: w[i]+(h/2)*(10-2*w[i]+10-2*(w[i]+h*(10-2*w[i])); t::a+i*h: if (10<=i)and (idOO) then writeln(Lst,' ,i,'(' ,t:l0:6,',' ,w[i]:10:6,')') else begin if idO then writeln(Lst, ,i, '(' ,t:l0:6, ',' ,w[i]:10:6, ')') else writeln(Lst, ,i, ,t:l0:6, ,w[i]:10:6, ')'); end; writeln(' (' ,w[i]:10:6, ')'); end; readln;
I I I I I I (' I, I

.r.io.e.

I, I

End.

43

Metodo de Euler Modificado


t: (0.00,2.50) n=10

Las aproximaciones
1( 2{ 3{ 4{ 5( 6{ 7( 8( 9{ 10{

o(

0.000000, 0.250000, 0.500000, 0.750000, 1.000000, 1. 250000, 1.500000, 1.750000, 2.000000, 2.250000, 2.500000,

0.000000) 1. 875000) 3.046875) 3.779297) 4.237061) 4.523163) 4.701977) 4.813735) 4.883585) 4.927240) 4.954525)

(t,y) son:

44

Metodo de Euler Modificado


t: (0.00,2.50) n=100

Las aproximaciones
O( 1( 2( 3( 4( 5( 6( 7( 8( 9( 10 ( 11( 12( 13( 14( 15 ( 16( 17( 18( 19( 20( 21( 22( 23( 24( 25( 26 ( 27( 28 ( 29( 30 ( 31( 32( 33( 34( 35( 36( 37( 38( 39( 40( 41( 42 ( 43( 44 ( 45 ( 46 ( 47( 48 ( 49 ( 50( 51( 52( 0.000000, 0.025000, 0.050000, 0.075000, 0.100000, 0.125000, 0.150000, 0.175000, 0.200000, 0.225000, 0.250000, 0.275000, 0.300000, 0.325000, 0.350000, 0.375000, 0.400000, 0.425000, 0.450000, 0.475000, 0.500000, 0.525000, 0.550000, 0.575000, 0.600000, 0.625000, 0.650000, 0.675000, 0.700000, 0.725000, 0.750000, 0.775000, 0.800000, 0.825000, 0.850000, 0.875000, 0.900000, 0.925000, 0.950000, 0.975000, 1.000000, 1.025000, 1.050000, 1.075000, 1.100000, 1.125000, 1.150000, 1.175000, 1.200000, 1.225000, 1.250000, 1.275000, 1.300000,

0.000000) 0.243750) 0.475617) 0.696181) 0.905992) 1.105575) 1.295428) 1.476026) 1.647820) 1. 811239) 1.966691) 2.114564) 2.255229) 2.389037) 2.516321) 2.637401) 2.752578) 2.862139) 2.966360) 3.065500) 3.159807) 3.249516) 3.334852) 3.416028) 3.493247) 3.566701) 3.636574) 3.703041) 3.766268) 3.826413) 3.883625) 3.938048) 3.989818) 4.039065) 4.085910) 4.130472) 4.172862) 4.213185) 4.251542) 4.288029) 4.322738) 4.355754) 4.387161) 4.417037) 4.445457) 4.472491) 4.498207) 4.522669) 4. 545939) 4.568075) 4.589131} 4.609161} 4.628214}

(t,y) son:

45

53 ( 54 ( 55( 56( 57 ( 58 ( 59 ( 60( 61( 62 ( 63( 64( 65( 66 ( 67( 68( 69( 70( 71( 72 ( 73 ( 74 ( 75( 76( 77( 78( 79( 80 ( 81( 82( 83 ( 84 ( 85( 86( 87 ( 88( 89 ( 90( 91( 92 ( 93 ( 94 ( 95 ( 96( 97 ( 98( 99( 100(

1.325000, 1.350000, 1.375000, 1.400000, 1.425000, 1.450000, 1.475000, 1.500000, 1.525000, 1.550000, 1.575000, 1.600000, 1.625000, 1.650000, 1.675000, 1.700000, 1.725000, 1.750000, 1.775000, 1.800000, 1.825000, 1.850000, 1.875000, 1.900000, 1.925000, 1.950000, 1.975000, 2.000000, 2.025000, 2.050000, 2.075000, 2.100000, 2.125000, 2.150000, 2.175000, 2.200000, 2.225000, 2.250000, 2.275000, 2.300000, 2.325000, 2.350000, 2.375000, 2.400000, 2.425000, 2.450000, 2.475000, 2.500000,

4.646339) 4.663580) 4.679980) 4.695581) 4.710422) 4.724539) 4.737967) 4.750741) 4.762893) 4.774452) 4.785447) 4.795907) 4.805856) 4.815321) 4.824324) 4.832888) 4.841035) 4.848784) 4.856156) 4.863168) 4.869839) 4.876184) 4.882220) 4.887962) 4.893424) 4.898620) 4.903562) 4.908263) 4.912735) 4.916990) 4.921036) 4.924886) 4.928548) 4.932031) 4.935344) 4.938496) 4.941495) 4.944347) 4.947060) 4.949641) 4.952096) 4.954431) 4.956653) 4.958766) 4.960776) 4.962688) 4.964507) 4.966237)

..
46

ProgrQmAdQms_BQshforth; uses crt ,printer; {Este programa calcula aproximaciones a la solucian de una ecuccien diferencial por medio del algoritmo de Adams Bashforth} type omega=array [0 ..200] of real; Var a,b,h,o,t:real; n,i:integer; w:omega; Begin

clrscr:
writeln (,Escriba readln(a); writeln (,Escriba readln(b); writeln ('Escriba readln(n); h:=(b-a)/n; writeln (,Escriba readln(o); el valor del limite inferior del intervalo'); el va.lor del limite superior del intervalo'); el numero de pasos que dara el algoritmo, n>4');

el valor de la condicien inicial de y');

w[O]:=o; Writeln{' las aproximaciones (t,y) son:'); Writeln(Lst,' Las aproximaciones (t/y) son:'); for i:=O to 2 do ' {Calcula wl,2 y 3 con el algoritmo de Punto Medio} begin w[i+I]:= w[i]+h*(10-2*(w[i]+(h/2)*(10-2*w[i]»); {w[i+I]:= w[i]+h*(-w[i]+(a+i*h)+I);} t:=Q+i*h; writeln(Lst,' 0' ,i, '(' ,t:10:6,',' ,w[i]:10:6,')'); writeln{'{' ,t:10:6,',' ,w[i]:10:6,')'); end;

47

for i::3 to n do {Calcula el resto de las w} begin w[i+l]:: w[i]+(h/24)*(55*(10-2*w[i])-59*(10-2*w[i-l])+37*(10-2*w[i-2])9*(10-2*w[i-3]); t::a+i*h; if idO then writeln(Lst,1 01,i,IC ,t:l0:6,1,1 ,w[i]:10:6,1)') else writeln(Lst, I I,i,IC ,t:l0:6,1,1 ,w[i]:10:6,1)'); writelnCC ,t:l0:6,1,1 ,w[i]:10:6,')'); end; readln; End.

48

Las aproximaciones
00 ( 01 ( 02 ( 03 ( 04 ( 05( 06 ( 07( 08( 09 ( 10 ( 0 .000000, 0.250000, 0.500000, 0.750000, 1. 000000, 1.250000, 1.500000, 1.750000, 2.000000, 2.250000, 2.500000,

0 .000000) 1. 875000) 3.046875) 3.779297) 4.248657) 4.528720) 4.719951) 4.811837) 4.905615) 4.909987) 4.989645)

(t,y) son:

49

00 ( 01{ 02{ 03{ 04{ 05{ 06{ 07{ 08{ 09{ 10 ( 11{ 12{ 13 ( 14{ 15{ 16 ( 17{ 18( 19{ 20 ( 21{ 22{ 23{ 24 ( 25{ 26{ 27{ 28 ( 29 ( 30{ 31{ 32 ( 33{ 34{ 35{ 36{ 37{ 38{ 39{ 40 ( 41{ 42{ 43{ 44{ 45{ 46{ 47{ 48{ 49{ 50{ 51{ 52{ 53( 54{ 55{ 56( 57{ 58{

Las aproximaciones

(t,y) 0 .000000, 0 .000000) 0.025000, 0.243750) 0.050000, 0.475617) 0.075000, 0.696181) 0.100000, 0.906082) 0.125000, 1.105741) 0.150000, 1.295668) 0.175000,1.476329) 0.200000, 1.648181) 0.225000, 1.811650) 0.250000, 1.967148) 0.275000, 2.115061) 0.300000, 2.255761) 0.325000, 2.389599) 0.350000, 2.516909) 0.375000, 2.638011) 0.400000, 2.753206) 0.425000, 2.862783) 0.450000, 2.967016) 0.475000, 3.066166) 0.500000, 3.160480) 0.525000, 3.250194) 0.550000, 3.335533) 0.575000, 3.416710) 0 .600000, 3.493928) 0.625000, 3.567379) 0.650000, 3.637249) 0.675000, 3.703711) 0.700000, 3.766932) 0.725000, 3.827069) 0.750000, 3.884273) 0.775000, 3.938688) 0.800000, 3.990449) 0.825000, 4.039685) 0.850000, 4.086520) 0.875000, 4.131071) 0.900000, 4.173449) 0.925000, 4.213760) 0.950000, 4.252105) 0.975000, 4.288581) 1.000000, 4.323277) 1.025000, 4.356281) 1.050000, 4.387675) 1.075000, 4.417539) 1.100000, 4.445946) 1.125000, 4.472967) 1.150000, 4.498671) 1.175000, 4.523121) 1.200000, 4.546378) 1.225000, 4.568502) 1.250000, 4.589546) 1.275000, 4.609564) 1.300000, 4.628606) 1.325000, 4.646719) 1.350000, 4.663949) 1.375000, 4.680338) 1.400000, 4.695928) 1.425000, 4.710758) 1.450000, 4.724864)

son:

50

59( 60( 61( 62( 63 ( 64( 65 ( 66( 67( 68( 69( 70( 71( 72( 73 ( 74 ( 75 ( 76( 77( 78( 79( 80( 81 ( 82 ( 83( 84 ( 85 ( 86 ( 87 ( 88( 89( 90 ( 91( 92 ( 93 ( 94 ( 95 ( 96( 97( 98( 99( 100(

475000, 500000, 525000, 550000, 575000, 1.600000, l. 625000, 1.650000, l. 675000, l. 700000, 1.725000, l. 750000, l. 775000, l. 800000, l. 825000, l. 850000, 1.875000, 1.900000, 1.925000, 1.950000, 1.975000, 2.000000, 2.025000, 2.050000, 2.075000, 2.100000, 2.125000, 2.150000, 2.175000, 2.200000, 2.225000, 2.250000, 2.275000, 2.300000, 2.325000, 2.350000, 2.375000, 2.400000, 2.425000, 2.450000, 2.475000, 2.500000,
l. l. l. l. l.

4.738283) 4.751047) 4.763188) 4.774738) 4.785724) 4.796174) 4.806115) 4.815571) 4.824566) 4.833122) 4.841260) 4.849002) 4.856366) 4.863371) 4.870035) 4.876373) 4.882403) 4.888138) 4.893593) 4.898783) 4.903719) 4.908415) 4.912882) 4.917130) 4.921172) 4.925017) 4.928674) 4.932152) 4.935461) 4.938609) 4.941603) 4.944451) 4.947160) 4.949737) 4.952188) 4.954520) 4.956738) 4.958848) 4.960855) 4.962764) 4.964580) 4.966308)

51