Documentos de Académico
Documentos de Profesional
Documentos de Cultura
CONTENIDO:
Ecuaciones diferenciales ordinarias con valor inicial. Métodos de un paso: Taylor,
Euler, Heun, Runge Kutta. Ecuaciones de mayor orden y sistemas de ecuaciones
diferenciales. Linealización. Métodos de Taylor y Runge Kutta para sistemas lineales.
ECUACIONES DIFERENCIALES ORDINARIAS DE PRIMER ORDEN
EL PROBLEMA DE VALOR INICIAL (PVI) :
Ejemplos:
𝑑𝑃
= 𝑘𝑃; 𝑃 = 𝑃(𝑡)
𝑑𝑡
2
En el modelo, la tasa de crecimiento de la población P coincide con k, que es constante y se
considera positiva para poblaciones que no están en riesgo de extinción. Observe que la tasa
de crecimiento de las poblaciones es proporcional a la población total.(Este modelo en
realidad no es muy preciso, pues deja de lado otros factores como la inmigración, por
ejemplo, pero en su momento daba una buena aproximación al problema demográfico ). De
hecho, todas sus soluciones son de la forma
P(t) = c 𝑒 𝑘𝑡
Supongamos que el tamaño inicial de nuestra población fuera P(0) = 1 (en miles de
individuos) y la tasa de crecimiento k = 0,1. En este caso, la única solución del PVI para la
ecuación de Malthus es la que resulta de elegir c en la ecuación, de modo que
Dicho de otro modo, el único valor posible que puede adoptar el parámetro c para que en
t = 0 el tamaño de la población sea igual a 1 es c = 1.
3
Por lo tanto, la única solución de nuestro problema sería
P(t) = 𝑒 0.1𝑡 .
𝑑𝐴
= 𝑘𝐴;
𝑑𝑡
En este caso, con k<0. Este modelo es la base del método de datación por Carbono 14,
ampliamente usado en la arqueología, entre otras ciencias.
4
• Ley de Newton del enfrentamiento o calentamiento. Isaac Newton
propuso la siguiente ley matemática para el cambio de temperatura:
𝑑𝑇
= 𝑘 𝑇 − 𝑇𝑚 ;
𝑑𝑡
𝑑𝑉
= −𝐴ℎ 2𝑔ℎ.
𝑑𝑡
𝑑ℎ 𝐴ℎ
=− 2𝑔ℎ.
𝑑𝑡 𝐴𝑤
5
• Ley del Péndulo. La mayoría de los libros toma este caso del péndulo
como el ejemplo tradicional de las ecuaciones diferenciales ordinarias con
valores iniciales. El modelo matemático que representa este fenómeno esta
dado por:
𝑑2 𝜃 𝑔
2
= − 𝑠𝑒𝑛 𝜃 ,
𝑑𝑡 𝐿
𝑑2 𝜃 𝑔
2
= − 𝜃
𝑑𝑡 𝐿
6
• Un otro ejemplo de la ingeniería civil es la ecuación del esfuerzo normal en
una barra, que se define como
𝑑𝑁
= −𝑡 𝑥 ;
𝑑𝑥
7
El teorema que veremos a continuación establece las condiciones que tiene
que cumplir un problema de valor inicial para tener solución.
Por otra parte, ni todo problema posee solución como por ejemplo:
8
Teorema de Picard (Existencia y unicidad): Si la función 𝑓(𝑥, 𝑦) es
diferenciable en un entorno del punto (𝑥0 𝑦0 ), entonces el problema de
Cauchy
𝑦 ′ = 𝑓 𝑥, 𝑦 ;
𝑦 𝑥0 = 𝑦0 .
______________________________________________________________
Nota: Este es una versión simplificada del Teorema de Picard, con la
que se intenta dar la idea básica presente en los teoremas de existencia y
unidad de las soluciones de las ecuaciones diferenciales. En particular, no es
necesario que la función 𝑓(𝑥, 𝑦) sea diferenciable, basta con que verifique
propiedades menos restrictivas que la derivabilidad (ver apéndice al final del
tema).
9
Definición:
Observación:
Ejemplo:
Ejemplo:
10
11
Definición:
Proposición:
12
Teorema:
Ejemplo:
13
Observación:
Ejemplo:
Teorema:
((1- λ) 𝑡1 + λ 𝑡2 , (1- λ) 𝑦1 + λ 𝑦2 )
14
Teorema: Supongamos que 𝑓 𝑡1 , 𝑦1 está definida en un conjunto convexo 𝐷 ⊂ R2 .
Si existe una constante L >0, y
𝜕𝑓
𝑡, 𝑦 ≤ 𝐿 , para todo 𝑡, 𝑦 ∈ 𝐷
𝜕𝑦
𝑦 ′ 𝑡 = 𝑓 𝑡, 𝑦
ቊ
y(𝑎)=α
15
Ejemplo: Muestre que existe una única solución para el siguiente (PVI):
𝑑𝑦 2
= 𝑦 + 𝑡 2𝑒𝑡
(PVI) ቐ 𝑑𝑡 𝑡 , 1≤ 𝑡 ≤ 2
𝑦 1 =0
Definición: Sea
𝑑𝑦
= 𝑓 𝑡, 𝑦
(PVI) ቐ 𝑑𝑡 , 𝑎≤𝑡≤𝑏
𝑦 𝑎 =𝛼
𝑑𝑦 , 𝑎≤𝑡≤𝑏
= 𝑓 𝑡, 𝑦
൞ 𝑑𝑡
𝑦 𝑎 =𝛼
está bien planteado.
Ejemplo:
17
Métodos de Aproximación para el PVI
• El Método de Taylor.
• El Método de Euler
• El Método de Euler mejorado
• El Método de Runge-Kutta.
18
Teorema de Taylor de Orden n
Sean 𝑦 𝜖 ∁𝑛 𝑎, 𝑏 , 𝑦 𝑛+1 existe en [𝑎, 𝑏]. Para cada (𝑡𝑘 +ℎ) 𝜖 𝑎, 𝑏 , existe un
número 𝜉 𝑡𝑘 𝜖 𝑡𝑘 + ℎ, 𝑏 talque
ℎ2 ℎ𝑛
𝑦 𝑡𝑘 + ℎ = 𝑦 𝑡𝑘 + 𝑦 ′ 𝑡𝑘 ℎ + 𝑦 ′′ 𝑡𝑘 +⋯+𝑦 𝑛
𝑡𝑘
2! 𝑛!
=𝑃𝑛
𝑛+1
ℎ
+ 𝑦 (𝑛+1) (𝜉 𝑡𝑘 )
𝑛+1 !
=𝑅𝑛
19
Observe que el teorema solo asegura la existencia de la función 𝜉 𝑡𝑘 mas no
se conoce de manera explícita, a lo más se podrá encontrar alguna cota para
el valor 𝑦 𝑛+1 𝜉 𝑡𝑘 , en algún intervalo que se considere.
(Aproximación cuadrática)
(Aproximación Lineal)
20
La solución aproximada del problema de valor inicial
y′=f(t, y)
(PVI) ቊ ; ∀ 𝑡 ∈ [a, b]
y(t0)=y0,
21
(truncamiento) generando algún método, que veremos más adelante, a
esta forma de hallar las soluciones aproximadas se le conoce como
Métodos de un solo paso.
𝒆 𝒌 = 𝒚 𝒕𝒌 − 𝒚 𝒌 , para k=0,1,…n-1.
Este error es la diferencia entre la solución exacta 𝑦(𝑡𝑘 ) y la solución
aproximada 𝑦𝑘 , con el método escogido en (1), para el nodo
correspondiente.
22
De (1) para ℎ ≠ 0:
𝑦𝑘+1 − 𝑦𝑘
= 𝜑 𝑡𝑘 , 𝑦𝑘 ; ℎ , para todo k=0,1,…,n-1
ℎ
lo que se desea estudiar es la precisión del cálculo de la solución aproximada 𝑦 k+1 en (1),
para tal definimos el Error de Truncamiento Local en el k-ésimo paso del método (1), como
Diremos que el método dado en (1) es de Orden k, denotado por 𝒪(ℎ𝑘 ), si existe una
constante 𝑐 >0 tal que 𝜏 ≤ 𝑐ℎ𝑘 , cuando ℎ es suficientemente pequeña, donde 𝜏 es
el error de truncamiento local.
23
Error de Truncamiento para el Método de Euler:
Se tiene lo siguiente:
𝑦 𝑡𝑘 + ℎ − 𝑦(𝑡𝑘 )
lim = 𝑓(𝑡𝑘 , 𝑦(𝑡𝑘 ))
ℎ→0 ℎ
esto es,
𝑦 𝑡𝑘 +ℎ −𝑦(𝑡𝑘 )
≈ 𝑓(𝑡𝑘 , 𝑦(𝑡𝑘 ))
ℎ
donde se espera que más exacta cuanto más pequeño sea el paso h.
El error local de truncamiento 𝜏𝑘 para el Método de Euler, se puede interpretar como el
error que cometemos al hacer la anterior aproximación, es decir que de manera exacta
tenemos
𝑦 𝑡𝑘 + ℎ − 𝑦(𝑡𝑘 )
≈ 𝑓 𝑡𝑘 , 𝑦 𝑡𝑘 + 𝜏𝑘
ℎ
24
Análogamente a lo que establecimos como error de discretización se define el error
(global) de truncamiento como,
𝜏 = max 𝜏𝑘
Se dice que un método es Consistente si se verifica
𝑦 𝑡𝑘 + ℎ = 𝑦 𝑡𝑘 + ℎ𝑓 𝑡𝑘 , 𝑦 𝑡𝑘 + ℎ𝜏𝑘
Desarrollando la función 𝑦 𝑡𝑘 + ℎ por Taylor y utilizando la fórmula del resto de
Lagrange, se tiene
2
ℎ
𝑦 𝑡𝑘 + ℎ = 𝑦 𝑡𝑘 + ℎ𝑦 ′ (𝑡𝑘 ) + 𝑦 ′′ 𝜉𝑘 , 𝜉𝑘 𝜖[𝑡𝑘 , 𝑡𝑘+1 ]
2
25
Como 𝑦 ′ 𝑡𝑘 = 𝑓 𝑡𝑘 , 𝑦𝑘 se tiene
ℎ2 ′′
𝑦 𝑡𝑘 + ℎ𝑦 ′ 𝑡𝑘 + 𝑦 𝜉𝑘 = 𝑦 𝑡𝑘 + ℎ𝑦′ 𝑡𝑘 + ℎ𝜏𝑘
2
ℎ
𝜏𝑘 = 𝑦′′ 𝜉𝑘
2
ℎ
De aquí 𝜏 ≤ 2 𝑚𝑎𝑥 𝑦′′(𝑡)
26
Si 𝜏 𝑡; ℎ → 0 cuando ℎ → 0 uniformemente para 𝑡 ∈ 𝑡0 , 𝑏 se
dice que (1) es un Método Consistente.
27
Método de Taylor:
28
29
30
Método de Taylor:
31
32
33
34
35
36
37
38
39
40
41
42
43
44
MÉTODO DE EULER
La idea del método de Euler es muy sencilla y está basada en el significado
geométrico de la derivada de una función en un punto dado, también
observaremos que el método de Euler, es el método de Taylor de orden 1.
Supongamos que tuviéramos la curva solución de la ecuación diferencial y
trazamos la recta tangente a la curva en el punto dado por la condición
inicial.
Y(t)
45
Debido a que la recta tangente aproxima a la curva en valores cercanos al punto de
tangencia, podemos tomar el valor de la recta tangente en el punto 𝑥1 como una
aproximación al valor deseado 𝑦(𝑥1 ).
Asi, calculemos la ecuación de la recta tangente a la curva solución de la ecuación
diferencial dada en el punto (𝑥0 𝑦0 ).
𝑦 = 𝑚 𝑥 − 𝑥0 + 𝑦0
46
Ahora bien , suponemos que 𝑥1 es un punto cercano a 𝑥0 , y por lo
tanto estará dada como
se aproximan.
De aquí tenemos nuestra fórmula de aproximación:
47
Esta aproximación puede ser suficientemente buena, si el valor de h es realmente
pequeño , digamos de una décima o menos. Pero si el valor de h es más grande,
entonces podemos cometer mucho error al aplicar dicha fórmula.
Para obtener 𝑦2 únicamente hay que pensar que ahora el papel de (𝑥0 𝑦0 ) lo
toma el punto (𝑥1 𝑦1 ) , y por lo tanto, si sustituimos los datos adecuadamente,
obtendremos :
48
Esta es la conocida formula de Euler que se usa para aproximar el valor de
𝑦(𝑥1 ) aplicándola sucesivamente desde 𝑥0 ℎ𝑎𝑠𝑡𝑎 𝑥𝑛 en pasos de longitud h.
𝑥𝑖 = 𝑥0 + ℎ. 𝑖 0< i <n ,
Ejemplo 1
Aproximar y (0,5).
49
NOTA
Solución Analítica
50
Por lo tanto , tenemos que la curva solución real esta dada:
51
Solución Numérica:
52
Aplicando nuevamente la formula de Euler tenemos en un segundo paso:
53
Concluimos el valor aproximado, usando el método de Euler es:
54
Definición: El Error Relativo Porcentual viene dado por
55
Programa Principal: Método de Euler
56
57
58
59
Ejemplo 2
Solución
60
En un primer paso , tenemos que:
61
La solución exacta es:
dsolve('Dy=1+ y/t','y(1)=2','t')
ans =
2*t + t*log(t)
62
Ejemplo: Cotas de error
63
64
65
MÉTODO DE EULER MODIFICADO : IDEA GEOMÉTRICA
Este método se basa en la misma idea del método anterior, pero hace un
refinamiento en la aproximación, tomando un promedio entre ciertas pendientes.
La fórmula es la siguiente:
donde:
66
Método de Euler Modificado
67
En la grafica, vemos la pendiente promedio 𝑚 corresponde la pendiente de la
recta bisectriz de la recta tangente a la curva en punto de la condicione inicial
y la “recta tangente” a la curva en el punto (𝑥1 , 𝑦1 ), donde 𝑦1 es la
aproximación obtenida con la primera formula de Euler.
68
69
70
71
72
73
74
75
76
77
78
79
Ejemplo 1:
𝑦 ′ = 2𝑥𝑦
𝑦 0 =1
Solución
Vemos que este es el mismo ejemplo 1 del método anterior. Asi que
definimos ℎ = 0.1 y encontraremos la aproximación después de cinco
iteraciones. A diferencia del método de Euler 1, en cada iteración requerimos
de dos cálculos en vez de uno solo: el de 𝑦𝑛 ∗ y posteriormente el de 𝑦𝑛
80
Para aclarar el método veamos con detalle las primeras dos
interacciones. Primero que nada, aclaramos que tenemos los siguientes
datos iniciales:
81
∗
Nótese que el valor de 𝑦1 coincide con el 𝑦1 ( Euler 1 ), y es el único valor
que va a coincidir , pues para calcular 𝑦2 ∗ se usará 𝑦1 y no 𝑦1 ∗ .
Esto lo veremos claramente en la siguiente iteración:
82
Concluímos entonces que la aproximación obtenida con el método de Euler es :
83
Vemos que efectivamente se ha obtenido una mejor aproximación con este método,
reduciendo el error relativo verdadero de un 5.4% hasta un 0.05%. En nuestro tercer
método de un 5.4% hasta un 0.05%. En nuestro tercer método veremos como se
reduce aun mas este error prácticamente a un 0% !
El Programa en Matlab es:
Programa Principal: Método Euler Modificado
84
85
86
87
88
Ejemplo 2
Solución:
89
En una primera iteración, tenemos lo siguiente:
90
91
Ejemplo:
Solución:
En este caso el método tendría la formulación siguiente:
Dado que 𝑓 𝑥, 𝑦 = 𝑥 2 𝑦, tendremos las relaciones:
92
Y por lo tanto, para h=0,2, el método tendría la recurrencia de los cálculos
siguientes
Los cálculos se muestran en la tabla que sigue donde se observa que los errores han
disminuido respecto al caso h=0.2 lo que indica la convergencia del método
93
Taylor con pasos h=0.2 y h=0.1 respectivamente.
94
Métodos de Runge-Kutta:
95
y1*= y0 + hf(t0,y0) Predice el valor para y1 como siendo y1* usando Euler
Otro método, que veremos luego, considera otro tipo de pendiente, al predecir el valor
de yi en el punto medio del intervalo, esto es: yi+1= yi + hf[ti +1/2.h , yi+1/2.hf(ti, yi)]
𝑡𝑖 𝑡𝑖
96
Por otra parte, recordemos que nuestro interés se centra en resolver
numéricamente el (PVI):
y′=f(t, y)
(PVI) ቊ ; ∀ 𝑡 ∈ [a, b]
y(t0)=y0,
97
98
Este método es capaz de conseguir precisiones altas sin tener que tomar el paso h
tan pequeño como para hacer excesiva la tarea del cálculo.
99
Sea
donde
100
El algoritmo quedará bien determinado cuando encontremos los valores de
las constantes
hallando
Sustituyendo en (4)
101
Por otra parte, desarrollando la serie de Taylor en dos variables para f :
Sustituyendo en (1):
Ahora comparando los términos comunes de esta ecuación con la ecuación (6)
se tiene
102
Como la solución para las constantes no es única , existe una familia de métodos
de segundo orden tales como:
donde: y
donde:
103
Método de Ralston:
2 1 3
Se considera 𝑎2 = 3 𝑒𝑛𝑡𝑜𝑛𝑐𝑒𝑠 𝑎1 = 3 , 𝑝1 = 𝑞11 = 4 , luego la ecuación (1)
se convierte en:
donde:
104
Polinomio de Taylor grado n :
105
O también haciendo el cambio de variable,
𝑥−𝑎 =ℎ y 𝑦−𝑏 =𝑘
se tiene:
106
Ejemplo: Hallar P2(f,(0,1),(x,y)) y P3(f,(0,1),(x,y)) , si f(x,y)= cos(2x + lny)
P2(f,(0,1),(x,y)) =
P3(f,(0,1),(x,y)) =
107
Runge-Kutta orden 4: Es sin duda el algoritmo que alcanza mayor precisión
dentro de la familia de métodos RK.
𝑘1 = 𝑓 𝑡𝑖 , 𝑦𝑖
ℎ ℎ
𝑘2 = 𝑓(𝑡𝑖 + 2 , 𝑦𝑖 + 2 𝑘1 )
ℎ ℎ
𝑘3 = 𝑓(𝑡𝑖 + , 𝑦𝑖 + 𝑘2 )
2 2
𝑘4 = 𝑓(𝑡𝑖 + ℎ , 𝑦𝑖 + 𝑘3 )
luego la solución aproximada, es:
ℎ
𝑦𝑖+1 = 𝑦𝑖 + (𝑘1 + 2𝑘2 + 2𝑘3 + 𝑘4 )
6
La deducción de este algoritmo es análoga a la descrita para RK2.
108
% Programa: Runge Kutta orden 2
function f
fprintf('\n \t RESOLUCIÓN DEL PVI POR MEDIO RUNGE-KUTTA DE
ORDEN 2\n')
f=input('\n Ingrese la ecuación diferencial dy/dx=\n','s');
x0=input('\n Ingrese el primer punto x0:\n');
x1=input('\n Ingrese el segundo punto x1:\n');
y0=input('\n Ingrese la condición inicial y(x0):\n');
n=input('\n Ingrese el número de pasos n:\n');
h=(x1-x0)/n;
xs=x0:h:x1;
fprintf('\n''it x0 y(x1)');
for i=1:n
it=i-1;
x0=xs(i);
109
x=x0;
y=y0;
k1=h* eval(f);
x=xs(i+1);
y=y0+k1;
k2=h* eval(f);
y0=y0+(k1+k2)/2;
fprintf('\n%2.0f%10.6f%10.6f\n',it,x0,y0);
end
fprintf('\n El punto aproximado y(x1) es = %8.6f\n',y0);
110
% Programa: Runge -Kutta orden 4
function f
fprintf('\n \t RESOLUCIÓN DE ECUACIONES DIFERENCIALES POR
MEDIO DE RUNGE-KUTTA 4º ORDEN \n')
f=input(‘ \n Ingrese la ecuación diferencial \n ', 's');
x0=input('\n Ingrese el primer punto x0:\n');
x1=input('\n Ingrese el segundo punto x1:\n');
y0=input('\n Ingrese la condición inicial y(x0):\n');
n=input('\n Ingrese el numero de pasos n:\n');
h=(x1-x0)/n;
xs=x0:h:x1;
fprintf('\n''it x0 y(x1)');
for i=1:n
it=i-1;
x0=xs(i);
x=x0;
y=y0;
k1=h*eval(f);
x=x0+h/2;
y=y0+k1/2;
111
k2=h* eval(f);
x=x0+h/2;
y=y0+k2/2;
k3=h* eval(f);
x=x0+h;
y=y0+k3;
k4=h* eval(f);
y0=y0+(k1+2*k2+2*k3+k4)/6;
fprintf('\n%2.0f%10.6f%10.6f\n',it,x0,y0);
end
fprintf('\n El punto aproximado y(x1) es = %8.6f\n',y0);
112
% Programa: Runge Kutta orden 4 (otro código)
113