Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Notas de clase
7 de junio de 2022
INTRODUCCIÓN EXISTENCIA Y UNICIDAD EL MÉTODO DE EULER ERRORES EULER PARA SISTEMAS DE EDOs OTROS MÉTODOS
Organización
INTRODUCCIÓN
EXISTENCIA Y UNICIDAD
EL MÉTODO DE EULER
ERRORES
OTROS MÉTODOS
INTRODUCCIÓN A LAS
ECUACIONES DIFERENCIALES ORDINARIAS
Introducción
encontrar
y ′ = f (t, y )
funcion que t ∈ [a, b]
satisfaga y (t0) = y0
funcion y la
derivada
• Una solución de un PVI en el intervalo [a, b] es una función
derivable y = φ(t) tal que:
Ejemplo de un PVI
• Consideremos el PVI
si evaluas en cero da 1 y ′
si la derivas da lo de y = t−y2 t ∈ [0, 5]
arriba a la der y (0) = 1
Aplicando técnicas conocidas:
φ(t) = 3e −t/2 + t − 2
−2 c = −2
c = −1
c=0
−4 c=1
c=2
c=3
−6 c=4
−1 0 1 2 3 4 5 6
function CampoDirec(xmin,xmax,ymin,ymax,fpvi)
% Funcion para graficar un campo de direcciones
% ENTRADA
% xmin : valor minimo del eje de abscisas ingresas intervalos y la
% xmax : valor maximo del eje de abscisas función que define el
% ymin : valor minimo del eje de ordenadas problema inicial
% ymax : valor maximo del eje de ordenadas
% fpvi : funcion que define mi PVI y’ = f(t,y)
[T,Y] = meshgrid(xmin:xmax,ymax:-1:ymin);
dT = ones(xmax-xmin+1,ymax-ymin+1)’;
me permite orientar como
dY = fpvi(T,Y); deberían ser las
figure, quiver(T,Y,dT,dY), hold on, grid on soluciones del problema
legend(’campo de direcciones’) inicial
end
graficamos 4
campo
3.5
direcciones
son las 3
flechitas 2.5
con
dirección de 2
la 1.5
pendiente
de la 1
tangente a 0.5
la solución
de la función 0
−0.5
−1 0 1 2 3 4 5 6
4.5
campo de direcciones
4 soluciones
3.5
2.5
1.5
0.5
−0.5
−1 0 1 2 3 4 5 6
Condición de Lipschitz
Condición de Lipschitz
R = {(t, y ) : a ≤ t ≤ b, c ≤ y ≤ d}.
y (t0) = y0
tiene solución única y = φ(t) en algún intervalo t ∈ [t0 , t0 + δ].
problema de valor inicial tiene solución única en un intervalo
EL MÉTODO DE EULER
encontramos pares de puntos que al plotearlos
aproximan la solución del PVI
• Consideremos el PVI
y es una función que
y ′ = f (t, y ) depende de t
y (t0 ) = y0
Asumimos que f satisface la condición de Lipschitz en y
NO vamos a hallar una función derivable φ que resuelva el PVI
• Buscaremos un conjunto finito de puntos:
t :discretización del dominio
y :aproxima a solución del PVI {(tk , yk )} k = 1, . . . , n
de los t en la discretización
aproximaciones de la solución φ evaluada en esos puntos
simulamos grafica de
Euler da y yk ≈ φ(tk ) k = 1, . . . , n la función
Aproximación de Euler
tk = a + kh k = 0, 1, . . . , n
h es el tamaño del
siendo el tamaño del paso paso
n cantidad de subintervalos
esto es discretizar el dominio b−a restas a-b y lo dividís por n
h= para saber longitud de cada
n
intervalo
Aproximación de Euler
y ′′ (ξ1 ) 2
y (t1 ) = y (t0 ) + hy ′ (t0 ) + h
2!
donde ξ1 entre t1 y t0
• Como en t = t0 se satisface que y ′ (t0 ) = f (t0 , y (t0 ))
si h es chico(hay
y ′′ (ξ1 ) 2 muchos
y (t1 ) = y (t0 ) + hf (t0 , y (t0 )) + h subintervalos) el
2! termino se desprecia
• Si el tamaño del paso h es suficientemente pequeño
Aproximación de Euler
y1 = y0 + hf (t0 , y0 ) ≈ y (t1 )
y2 = y1 + hf (t1 , y1 ) ≈ y (t2 )
..
.
yn = yn−1 + hf (tn−1 , yn−1 ) ≈ y (tn )
yk+1 = yk + hf (tk , yk ) k = 0, 1, . . . , n − 1
n es la cantidad de
fnom lo define el pvi a y b son el intervalo subintervalos
...
fprintf(’Método de Euler \n’)
fprintf(’k tk y k \n’)
h = (b-a)/n;
t = a:h:b; discretización del dominio
y(1) = y0; en la primer componente del vector y es y0
fprintf(’ %3.0f %10.6f %10.6f \n’,0, t(1),y(1))
for k=1:n
y(k+1) = y(k) + h*fnom(t(k),y(k));
fprintf(’ %3.0f %10.6f %10.6f \n’,k, t(k+1),y(k+1));
end
fprintf(’Tamaño del paso: %12.6f \n’,h);
fprintf(’Número de pasos: %3.0f \n’,n);
end
y ′ = t−y
f--> 2 t ∈ [0, 3]
y (0) = 1
Comparaciones
1.8 n=6
n=12
n=24
1.6
exacta
1.4
1.2
0.8
ERRORES
Definición.
Supongamos que {(tk , yk )}k=0,1,...,n es un conjunto finito de
aproximaciones numéricas a la única solución y = φ(t) de un PVI
• El error de truncamiento o de discretización global ek : incluye error
solución redondeo
exacta
si k=n es el ultimo ek = φ(tk ) − yk k = 0, 1, ..., n
evaluada
en el punto
Diferencia entre la solución exacta y la aproximada en el punto tk (este
error incluye el error de redondeo)
• El error de truncamiento o de discretización local εk :
cuando paso de un punto a otro, es teórico, no considera error de redondeo
εk+1 = φ(tk+1 ) − φ(tk ) − hf (tk , φ(tk )) k = 0, 1, ..., n
queda
xk+1 − xk ≈ f (tk , xk , yk )(tk+1 − tk ),
yk+1 − yk ≈ g (tk , xk , yk )(tk+1 − tk ).
• De esta forma obtenemos las fórmulas recursivas del método de
Euler para sistemas de EDOs:
xk+1 = xk + h.f (tk , xk , yk ),
yk+1 = yk + h.g (tk , xk , yk ),
Implementación de EulerSistemas.m
x0:lo q vale x en t0 y0:lo q vale y en t0
function [t,x,y] = EulerSistemas(fnom,gnom,a,b,x0,y0,n)
% Método de Euler para aproximar la solución de un sistema de PVIs
% ENTRADA
% fnom : nombre función f que define la EDO x’=f(t,x,y)
% gnom : nombre función g que define la EDO y’=g(t,x,y)
% a,b : extremos del intervalo [a,b]
% x0 : condición inicial x(t0)=x0
% y0 : condición inicial y(t0)=y0
% n : número de pasos
% SALIDA
% t : vector de abscisas
% x : vector de ordenadas de x
% y : vector de ordenadas de y
...
Implementación de EulerSistemas.m
...
fprintf(’Método de Euler para sistemas de PVIs \n’)
fprintf(’k tk xk y k \n’)
h = (b-a)/n;
t = a:h:b;
x(1) = x0;
y(1) = y0;
fprintf(’ %3.0f %10.6f %10.6f %10.6f \n’,0,t(1),x(1),y(1))
for k=1:n
x(k+1) = x(k) + h*fnom(t(k),x(k),y(k));
y(k+1) = y(k) + h*gnom(t(k),x(k),y(k));
fprintf(’ %3.0f %10.6f %10.6f %10.6f \n’,k,t(k+1),x(k+1),y(k+1));
end
fprintf(’Tamaño del paso: %12.6f \n’,h);
fprintf(’Número de pasos: %3.0f \n’,n);
end
x(t) = 4e 4t + 2e −t ,
y (t) = 6e 4t − 2e −t .
250 350
300
200
250
150
200
150
100
100
50
50
0 0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
OTROS MÉTODOS
1 Métodos de un paso
• Método Euler Modificado
• Método de Taylor
• Método de Runge-Kutta (RK45, RK23)
• Método de Runge-Kutta-Fehlberg (RKF45)
2 Métodos multipasos
• Método de Adams-Bashforth-Moulton
• Método de Milne-Simpson
• Método de Hamming
Bibliografı́a