Está en la página 1de 30

ESCUELA DE INGENIERIA

METODOS NUMERICOS
UNIDAD IV. ECUACIONES
DIFERENCIALES ORDINARIAS

Dr. Deny González


Contenido

Introducción.
 CONCEPTOS DE ESTABILIDAD DE ESQUEMAS NUMERICOS
 ESQUEMA DE DIFERENCIAS FINITAS
 METODOS NUMERICOS DE UN PASO
 METODOS DE EULER
 METODOS MEJORADOS DE EULER
 METODOS MULTI-PASOS
 METODOS DE ADAMS
 METODO DE RUNGE KUTTA
UNIDAD IV. ECUACIONES DIFERENCIALES ORDINARIAS

CONCEPTOS DE ESTABILIDAD DE ESQUEMAS NUMERICOS

El problema de estabilidad en algoritmo consiste en analizar la sensibilidad de los


resultados a pequeñas variaciones en los datos de entrada. Se denomina estable a
aquel cuyos resultados muestran poca sensibilidad a esas variaciones y viceversa.

Segundo caso, determinar la causa de inestabilidad; 1) Sea característica del problema,


mal condicionado o matemáticamente inestable. 2) Algoritmo pobremente construido,
se habla, entonces, de un algoritmo mal condicionado o numéricamente inestable.

Hay que tener en cuenta, de todos modos, que la inestabilidad no se manifiesta


necesariamente para cualquier juego de valores de los datos de entrada.
UNIDAD IV. ECUACIONES DIFERENCIALES ORDINARIAS

CONCEPTOS DE ESTABILIDAD DE ESQUEMAS NUMERICOS


En el caso de problemas diferenciales, es necesario distinguir entre la estabilidad de la
solución analítica, la estabilidad de la solución numérica y de la estabilidad de la solución
numérica respecto a la analítica.

Método de von Neumann

Método de acotamiento

Método de Hirt

Estabilidad de esquemas implícitos

Estabilidad de sistemas acoplados


UNIDAD IV. ECUACIONES DIFERENCIALES ORDINARIAS

ESQUEMA DE DIFERENCIAS FINITAS

La metodología estándar para construir los esquemas de diferencias finitas se basa en


sustituir cada operador diferencial del modelo matemático por su respectiva ecuación de
diferencias. Tales ecuaciones de diferencias se obtienen de la expansión en series de
Taylor de la función.

Por ejemplo, y’ = f(x,y) con la condición inicia y(a)=c. No siempre es tan factible encontrar
la solución analítica a tales ecuaciones, lo procedimientos numéricos para EDO basados
en la aproximación de los operadores de derivación por diferencias finitas es la opción,
asi;

Y’=f(t,y)
Con condiciones iniciales;
Y(to) = c
E incluso ecuaciones de orden superior y’’=f(x,y,y’,y’’), que con algunos cambios de
variables pueden convertirse en un sistema de ecuaciones diferenciales de primer
orden.
UNIDAD IV. ECUACIONES DIFERENCIALES ORDINARIAS

GENERALIDADES

dv c
Sea g v
dt m
Una ecuación diferencial de primer orden, donde:

g, c y m son constantes, v es la variable dependiente y t es la variable


independiente.

Las ecuaciones diferenciales se dividen en:

EDO, posee una sola variable independiente.

EDP, poseen dos o mas variables independientes.

En general a las ecuaciones de orden mayor a uno se les conoce como


ecuaciones de orden superior.
UNIDAD IV. ECUACIONES DIFERENCIALES ORDINARIAS

METODO DE EULER

El método de Euler o de las tangentes, constituye el primer y mas sencillo ejemplo de


métodos numéricos para la resolución de un problema de valor inicial

𝑦 ′ = 𝑓 𝑥, 𝑦 , 𝑦 𝑥𝑜 = 𝑦𝑜

Donde suponemos además que se verifican las hipótesis del Teorema de Picard (la
función f(x,y) es diferenciable en un entorno del punto (xo, yo)), y en consecuencia existe
solución única para el problema.

Interpretando la EDO y’=f(x,y) como un campo de direcciones en el plano x – y y la


condición inicial y(xo)=yo como un punto (xo,yo) de dicho plano, podemos aproximar la
función solución y(x) por medio de la recta tangente a la misma que pasa por ese punto:

𝑦 𝑥 ≅ 𝑦𝑜 + 𝑓 𝑥𝑜 , 𝑦𝑜 𝑥 − 𝑥𝑜
UNIDAD IV. ECUACIONES DIFERENCIALES ORDINARIAS

METODO DE EULER

Donde se ha utilizado que la pendiente de dicha tangente es: m=y’(xo) y, en


consecuencia : m = f(x0,y0).
El valor de la solución y en el punto de la abscisa x1 como:

𝑦 𝑥1 ≅ 𝑦1 = 𝑦0 + 𝑓 𝑥𝑜 , 𝑦𝑜 𝑥1 − 𝑥𝑜
Y con este punto (aproximado), se puede repetir el método para obtener otro punto
aproximado (x2,y2) de la forma:

𝑦 𝑥2 ≅ 𝑦2 = 𝑦1 + 𝑓 𝑥1 , 𝑦1 𝑥2 − 𝑥1
Y asi sucesivamente,

Es habitual en este método tomar abscisas equiespaciadas, es decir, calcular la solución


aproximada en puntos de la forma: xn = xn-1 + h = xo + nh, siendo h el paso del método.
De esta forma se obtienen las formulas que nos determinan la solución aproximada en la
forma
𝑥𝑛 = 𝑥𝑛−1 + ℎ; 𝑦𝑛 = 𝑦𝑛−1 + 𝑓 𝑥𝑛−1 , 𝑦𝑛−1 ℎ
UNIDAD IV. ECUACIONES DIFERENCIALES ORDINARIAS

METODO DE EULER

Estimado
Error
Verdadero

Consiste en ir aproximando una línea


recta mediando un paso llamado h o
diferencial infinita a la curva verdadera
de tal que el valor estimado para la
solución de la EDO de un mínimo error,
Tamaño del paso h
mientras mas cerca de cero este h o
mas pequeño sea el paso el error irá
disminuyendo
UNIDAD IV. ECUACIONES DIFERENCIALES ORDINARIAS

METODO DE EULER
N x y y real Error (%)
Ecuación: 0 0 1,00000 1 -----

y(i 1)  yi  h * f ( xi , yi )
1 0,2 1,00000 1 0
2 0,4 1,08000 1,04081077 3,76525943
3 0,6 1,25280 1,17351087 6,75657388
4 0,8 1,55347 1,43332941 8,38206376
5 1 2,05058 1,89648088 8,12569019
Ejemplo: 6 1,2 2,87082 2,71828183 5,611428

y '  2 xy
7 1,4 4,24881 4,22069582 0,66605705
8 1,6 6,62814 7,09932707 6,63705854
9 1,8 10,87015 12,9358173 15,9685834
sol :
y (0)  1 10 2 18,69666 25,5337217 26,7766011
x2
h  0.2 ye
Iteracion 1.

y( i 1)  1  0.2 * 20 1  1 24,00000


20,00000
16,00000 Y aprox
Iteracion 2. 12,00000

y(i 1)  1  0.2 * 20.21  1.08


Y real
8,00000
4,00000
0,00000
0 0,2 0,4 0,6 0,8 1 1,2 1,4 1,6 1,8 2
UNIDAD IV. ECUACIONES DIFERENCIALES ORDINARIAS

Método de Heun.

El método de Heun mejora la estimación de la pendiente de una curva debido a que


Considera la determinación de dos derivadas para el intervalo (punto inicial y final) y
su promedio.

El método de Heun es un procedimiento predictor - corrector

Predictor yio1  yi  f ( xi , yi )h

f ( xi , yi )  f ( xi 1, yio1)
Corrector yi 1  yi  *h
2
f ( xi , yi )  f ( xi 1, yio1 )
De forma Grafica yi  *h
2
yi 1
El error esta dado por:

Aprox. Actual  Aprox. Ante


Error  *100%
Aprox. Actual
UNIDAD IV. ECUACIONES DIFERENCIALES ORDINARIAS

Método de Heun. Ejemplo:


N x y0 (predictor) y corrector y real Error (%)
y '  2 xy 0 0,00 1,00000 1,00000 1,00000 -----
y (0)  1 1
2
0,20
0,40
1,00000
1,12320
1,04000
1,17146
1,00000
1,04081
4,00000
12,55226
h  0.2 3 0,60 1,35889 1,42824 1,17351 21,70651
4 0,80 1,77102 1,88299 1,43333 31,37179
sol :
x2
ye
UNIDAD IV. ECUACIONES DIFERENCIALES ORDINARIAS

METODO DE RUNGE – KUTTA


La idea del método de Runge - Kutta consiste en aproximar la integral sustituyendo el
integrando por una parábola. Estos logran la exactitud del procedimiento de la serie de
Taylor sin necesitar el calculo de derivadas de orden superior. La forma generalizada de la
ecuación es;

𝑦𝑖+1 = 𝑦𝑖 + ∅ 𝑥𝑖 , 𝑦𝑖 , ℎ ℎ

Donde , ∅ 𝑥𝑖 , 𝑦𝑖 , ℎ se conoce como función incremento, la cual puede interpretarse


como una pendiente representativa en el intervalo. La función incremento se escribe en la
forma general como;

∅ = 𝑎1 𝑘1 + 𝑎2 𝑘2 + ⋯ + 𝑎𝑛 𝑘𝑛

Donde las a son constantes y las k son;


UNIDAD IV. ECUACIONES DIFERENCIALES ORDINARIAS

METODO DE RUNGE – KUTTA

𝑘1 = 𝑓 𝑥𝑖 , 𝑦𝑖

𝑘2 = 𝑓 𝑥𝑖 + 𝑝1 ℎ, 𝑦𝑖 + 𝑞11 𝑘1 ℎ

𝑘3 = 𝑓 𝑥𝑖 + 𝑝2 ℎ, 𝑦𝑖 + 𝑞21 𝑘1 ℎ + 𝑞22 𝑘2 ℎ
*
*
*
𝑘𝑛 = 𝑓 𝑥𝑖 + 𝑝𝑛−1 ℎ, 𝑦𝑖 + 𝑞𝑛−1,1 𝑘1 ℎ + 𝑞𝑛−1,2 𝑘2 ℎ + ⋯ + 𝑞𝑛−1,𝑛−1 𝑘𝑛−1 ℎ

Donde las p y las q son constantes. Las k son relaciones de recurrencia, es decir, k1
aparece en la ecuación k2, la cual aparece en la ecuación k3. Como cada k es una
evaluación funcional, esta recurrencia vuelve eficientes a los métodos RK para cálculos en
computadora.
UNIDAD IV. ECUACIONES DIFERENCIALES ORDINARIAS

METODO DE RUNGE – KUTTA SEGUNDO ORDEN

La versión de segundo orden de la ecuación es;

𝑦𝑖+1 = 𝑦𝑖 + 𝑎1 𝑘1 + 𝑎2 𝑘2 ℎ

Donde,

𝑘1 = 𝑓 𝑥𝑖 , 𝑦𝑖

𝑘2 = 𝑓 𝑥𝑖 + 𝑝1 ℎ, 𝑦𝑖 + 𝑞11 𝑘1 ℎ

Los valores de a1, a2, p1 y q11 toman valores en función de la serie de Taylor, el cual
lleva a las siguientes ecuaciones.
UNIDAD IV. ECUACIONES DIFERENCIALES ORDINARIAS

METODO DE RUNGE – KUTTA SEGUNDO ORDEN


Método de Punto Medio (a2=1) Ejemplo (Punto Medio):
y(i 1)  yi  h * (k 2 )
y '  2 xy
k1  f ( xi , yi ) sol :
y (0)  1
x2
1 1
k 2  f ( xi  h, yi  k1h) h  0.1 ye
2 2
N x k1 k2 y Real
0 0 1 1 3
1 0,1 0 0,1 1,01 1,01005017 2,5
2 0,2 0,202 0,30603 1,040603 1,04081077
2
3 0,3 0,4162412 0,53070753 1,09367375 1,09417428 Real
4 0,4 0,65620425 0,78853878 1,17252763 1,17351087 1,5
Aprox
5 0,5 0,9380221 1,09748586 1,28227622 1,28402542 1
6 0,6 1,28227622 1,48102903 1,43037912 1,43332941 0,5
7 0,7 1,71645494 1,97106243 1,62748536 1,63231622
0
8 0,8 2,27847951 2,61211401 1,88869676 1,89648088
9 0,9 3,02191482 3,46764726 2,23546149 2,24790799 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1
10 1 4,02383068 4,62964074 2,69842556 2,71828183
UNIDAD IV. ECUACIONES DIFERENCIALES ORDINARIAS

METODO DE RUNGE – KUTTA SEGUNDO ORDEN


Método de Ralston. (a2 = 2/3) Ejemplo. Método de Ralston

1 2 y '  yx2  1.2 y


𝑦𝑖+1 = 𝑦𝑖 + 𝑘 + 𝑘 ℎ
3 1 3 2
x(3)  5; h  0.1
Donde, Donde,
𝑘1 = 𝑓 𝑥𝑖 , 𝑦𝑖
k1  5 * 32  1.2 * 5  39
3 3
𝑘2 = 𝑓 𝑥𝑖 + ℎ, 𝑦𝑖 + 𝑘1 ℎ k 2  f (3  (3 / 4) * 0.1,5  (3 / 4) * 39 * 0.1)
4 4
k 2  f (3.075;7.925)  65.4258

N x k1 k2 y
0 3 5
1 3,1 39 65,4258281 10,6617219
2 3,2 89,665081 154,403901 23,9441513
3 3,3 216,455128 382,723284 56,6742078
4 3,4 549,173074 997,276864 141,465101
UNIDAD IV. ECUACIONES DIFERENCIALES ORDINARIAS

METODO DE RUNGE – KUTTA TERCER ORDEN


La expansión de la serie de Taylor de una función y(x) alrededor de un punto de x
=x0 truncada en el cuarto termino, es decir en la tercera derivada

yi 1  yi 
1
k1  4k2  k3 h Ejemplo;
6
donde : y '  yx2  1.2 y
k1  f xi , yi  x(3)  5; h  0.1

k 2  f xi  1 h, yi  1 k1h
2 2

k3  f xi  h, yi  k1h  2k 2 h 
N x k1 k2 k3 y
0 3 5
1 3,1 39 56,312375 103,968415 11,1369652
2 3,2 93,6618777 137,990466 265,49459 25,816543
3 3,3 233,381549 350,959122 704,174359 62,8268782
4 3,4 608,79245 934,763504 1957,00746 161,244115
UNIDAD IV. ECUACIONES DIFERENCIALES ORDINARIAS

METODO DE RUNGE – KUTTA CUARTO ORDEN


1
y(i 1)  yi  ( k1  2k 2  2k3  k 4 ) * h Ejemplo RK4:
6
k1  f ( xi , yi ) y '  2 xy
   
sol :
k 2  f ( xi  1 h, yi  1 k1h) y (0)  1
2 2 x2
ye
   
k3  f ( xi  1 h, yi  1 k 2 h)
2 2 h  0.1
k 4  f ( xi  h, yi  k3h)

N x k1 k2 k3 k4 y Real
0 0 1 1
1 0,1 0 0,1 0,1005 0,20201 1,01005017 1,01005017
2 0,2 0,20201003 0,3060452 0,30760573 0,4163243 1,04081077 1,04081077
3 0,3 0,41632431 0,53081349 0,53367572 0,65650701 1,09417427 1,09417428
4 0,4 0,65650456 0,78889965 0,79353347 0,93882209 1,17351081 1,17351087
5 0,5 0,93880865 1,09840612 1,10558801 1,28406961 1,28402526 1,28402542
6 0,6 1,28402526 1,48304917 1,49399549 1,72010977 1,43332899 1,43332941
7 0,7 1,71999479 1,97512735 1,99171097 2,28550013 1,63231519 1,63231622
8 0,8 2,28524126 2,61986588 2,64496272 3,03489834 1,89647847 1,89648088
9 0,9 3,03436555 3,48193447 3,51997782 4,04725725 2,24790259 2,24790799
10 1 4,04622466 4,65540626 4,71327852 5,43846088 2,71827018 2,71828183
UNIDAD IV. ECUACIONES DIFERENCIALES ORDINARIAS

METODO DE RUNGE – KUTTA CUARTO ORDEN


Ejemplo RK4:

y '  2 xy 3
y (0)  1
h  0.1
2,5
sol :
2
Real
y  ex
2
1,5
Aprox
1
0,5
0
0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1
UNIDAD IV. ECUACIONES DIFERENCIALES ORDINARIAS

ECUACIONES DIFERENCIALES DE ORDEN SUPERIOR

𝑦 (𝑛) = 𝑓(𝑥, 𝑦, 𝑦 ′ … , 𝑦 𝑛−1 )

Puede ser transformada en una ecuación de primer orden, usando la siguiente notación;

y1 = y y2=y’ y3=y’’ ….yn=y(n-1)

las ecuaciones equivalentes de primer orden son.

𝑦1′ = 𝑦2 , 𝑦′2 = 𝑦3 , 𝑦3′ = 𝑦4 , 𝑦𝑛′ = 𝑓(𝑥, 𝑦1 , 𝑦2 , … , 𝑦𝑛 )

Las soluciones ahora requieren conocer n de condiciones auxiliares. Si estas condiciones


se especifican en el mismo valor de x, el problema se dice es un problema de
condiciones iniciales Entonces las condiciones auxiliares, llamadas condiciones iniciales,
tienen la forma

y1(a)= α1 y2(a)= α2 y3(a)= α3 …. yn(a)= αn


UNIDAD IV. ECUACIONES DIFERENCIALES ORDINARIAS

ECUACIONES DIFERENCIALES DE ORDEN SUPERIOR

Se hace extensivo el uso de notación vectorial, para manipular las ecuaciones de primer
orden, escrito como;

Y’=F(x,y), y(a)=α

Donde,
𝑦2
𝑦3
.
𝐹 𝑥, 𝑦 = .
𝑦𝑛
𝑓(𝑥, 𝑦)

La solución numérica de la ecuación diferencial es esencialmente una tabla de x e y de


valores discretos, en intervalos de x.
UNIDAD IV. ECUACIONES DIFERENCIALES ORDINARIAS

ECUACIONES DIFERENCIALES DE ORDEN SUPERIOR


Ejemplo: x’’+2x’+x=2et, C.I ⇒ x(0)=0 ; x’(0)=1 , paso h=0.1

Reducción de orden y=x’

X’’= 2et -2x’-x, sustituyendo y’= 2et - 2y - x Condiciones Iniciales x(0)=0 e y(0)=1
𝑦 𝑦 0
𝐹 𝑡, 𝑥 = 𝑦′ = x 0 =
2𝑒 𝑡 − 2𝑦 − 𝑥 1

Método de Euler ⇒ X1 = X0+h*f(t0,x0)

Primera iteración, t0 = 0
x
0 1 1
𝑓 𝑡0 , 𝑥0 = 0, = =
1 2𝑒 0 − 2 ∗ 1 − 0 0
t y
0 1 0.1
𝑥1 = + 0.1 ∗ =
1 0 1
UNIDAD IV. ECUACIONES DIFERENCIALES ORDINARIAS

ECUACIONES DIFERENCIALES DE ORDEN SUPERIOR


Ejemplo: x’’+2x’+x=2et, C.I ⇒ x(0)=0 ; x’(0)=1 , paso h=0.1
𝑦 𝑦
𝐹 𝑡, 𝑥 = 𝑦′ = Método de Euler ⇒ X1 = X0+h*f(t0,x0)
2𝑒 𝑡 − 2𝑦 − 𝑥

Continuación, Segunda iteración, t1 = t0+h = 0+0.1

0.1 1 1
𝑓 𝑡1 , 𝑥1 = 0.1, = =
1 2𝑒 0.1 − 2 ∗ 1 − 0.1 0.1103

0.1 1 0,2
𝑥2 = + 0.1 ∗ =
1 0.1103 1.011

Tercera iteración, t2 = t1+h = 0.1+ 0.1 = 0.2

0.2 1.011 1.011


𝑓 𝑡2 , 𝑥2 = 0.2, = =
1.011 2𝑒 0.2 − 2 ∗ 1.011 − 0.2 0.2208
0.2 1.011 0,3011
𝑥3 = + 0.1 ∗ =
1.011 0.2208 1.03308
UNIDAD IV. ECUACIONES DIFERENCIALES ORDINARIAS

ECUACIONES DIFERENCIALES DE ORDEN SUPERIOR


Ejemplo: x’’+2x’+x=2et, C.I ⇒ x(0)=0 ; x’(0)=1 , paso h=0.1

Método de Runge-Kutta 2 orden (punto medio a1=1)


y(i 1)  yi  h * (k 2 ) 𝑦 𝑦
k1  f ( xi , yi ) 𝐹 𝑡, 𝑥 = 𝑦′ =
2𝑒 𝑡 − 2𝑦 − 𝑥
1 1
k 2  f ( xi  h, yi  k1h)
2 2
Primera Iteración, para K1, t0 = 0
0 1 1
𝐾1 = 𝑓 𝑡0 , 𝑥0 = 0, = =
1 2𝑒 0 − 2 ∗ 1 − 0 0
𝐾2 = 𝑓 𝑡0 + 0,5 ∗ ℎ; 𝑥0 + 0,5 ∗ ℎ ∗ 𝐾1

0 1 0,05 1 1
𝐾2 = 𝑓 0,5 ∗ 0,1; + 0,5 ∗ 0,1 ∗ = 𝑓 0,05, = =
1 0 1 2𝑒 0,05 − 2 ∗ 1 − 0,05 0,0525
0 1 0,1
𝑥1 = + 0.1 ∗ =
1 0,0525 1,0052
UNIDAD IV. ECUACIONES DIFERENCIALES ORDINARIAS

ECUACIONES DIFERENCIALES DE ORDEN SUPERIOR


Ejemplo: x’’+2x’+x=2et, C.I ⇒ x(0)=0 ; x’(0)=1 , paso h=0.1
Segunda Iteración, para K1, t1 = 0.1
0,1 1,0052 1,0052
𝐾1 = 𝑓 𝑡1 , 𝑥1 = 0,1, = =
1,0052 2𝑒 0,1 − 2 ∗ 1,0052 − 0,1 0,0999

0,1 1,0052
𝐾2 = 𝑓 𝑡1 + 0,5 ∗ ℎ; 𝑥1 + 0,5 ∗ ℎ ∗ 𝐾1 = 𝑓 0.1 + 0,5 ∗ 0,1; + 0,5 ∗ 0,1 ∗
1,0052 0,0999

0,1502 1,0101 1,0101


𝐾2 = 𝑓 0,15; = =
1,0101 2𝑒 0,15 − 2 ∗ 1,0101 − 0,15 0,1532

0,1 1,0101 0,2010


𝑥2 = + 0.1 ∗ =
1,0052 0,1532 1,0205

Solución analítica, x(t) = sinh(t)

Error = ( sinh(0.2) – 0.210 ) / sinh(0,2) = 0.16 %


UNIDAD IV. ECUACIONES DIFERENCIALES ORDINARIAS

ECUACIONES DIFERENCIALES DE ORDEN SUPERIOR


El método de Runge-Kutta de segundo orden, considerando la ecuación diferencial de
segundo orden:

y’’(t) + ay’(t) + by(t) = q(t), y(0) = 1, y’(0) = 0 Ec. 01

Donde a y b son los coeficientes y q(t) es una función conocida, al igual que las
condiciones iniciales. Definimos

z(t) = y’(t)

La Ec. 01 se reduce a unas ecuaciones diferenciales simultaneas de primer orden:

y’ = f(y,z,t) = z, y(0) = 1

z’ = g(y,z,t) = -az – by + q, z(0) = 0


UNIDAD IV. ECUACIONES DIFERENCIALES ORDINARIAS

ECUACIONES DIFERENCIALES DE ORDEN SUPERIOR


Podemos escribir como sigue el método de Runge-Kutta se segundo orden para estas
ecuaciones:

Nakamura, S (1992). Métodos numéricos aplicados con software.


Revisar pagina 302
UNIDAD IV. ECUACIONES DIFERENCIALES ORDINARIAS

ECUACIONES DIFERENCIALES ORDINARIAS. PYTHON


UNIDAD IV. ECUACIONES DIFERENCIALES ORDINARIAS

ECUACIONES DIFERENCIALES ORDINARIAS. PYTHON

También podría gustarte