Los metodos Runge-Kutta Integracion numerica Los metodos Runge-Kutta
Contenido Metodos Runge-Kutta Errores en la estimacion Ejemplos
Metodos Runge-Kutta Carl David Tolmé Runge Martin Wilhelm Kutta (1856-1927) Martin Wilhelm Kutta (1867-1944) Metodos Runge-Kutta
Metodos Runge-Kutta Prediccion de Euler x xi solucion verdadera h t ti ti+1 =txi + h Error por truncado: solucion verdadera
Metodos Runge-Kutta Prediccion de Euler xi+1 x xi fi solucion verdadera h t ti ti+1 =txi + h Los distintos metodos RK difieren en como estiman fi Para Euler (RK de 1er-orden), fi = f(xi, ti)
RK de 2do-orden x xi fi h x ti ti+1 = xi + h Error por truncado: promedio de las pendientes x ti El error es menor que en Euler, pero es necesario llamar a f(x,y) dos veces en cada paso ti+1 = xi + h Error por truncado: solucion verdadera
Algorithmo RK de 2do-orden predictor: corrector:
Metodo de Heun predictor: iteration corrector:
Metodo RK de 4to orden En el metodo RK de 4to orden la estimacion de la pendiente es el promedio pesado de 4 estimados en el intervalo [ti, ti+1]: Uno al principio ( ti ) Dos en la mitad (ti+ h/2), y Uno al final (tn+1 = tn+h)
Metodo RK de 4to orden promedio pesado 4 estimados de la pendiente
Metodo RK de 4to orden k2 k4 k3 k1 ti ti + h/2 ti + h
Ejemplos
Ejemplo, RK de 2do-orden solucion exacta: tv=0:0.1:7; xv=exp(-0.5*tv.^2); t=0; x=1; h=0.5; T=t; X=x; tf=6.5; while t<tf; x0=x+(-x*t)*h; x=x+(h/2)*((-x*t) + (-x0*(t+h))); t=t+h; T=[T t]; X=[X x]; end exacta
El algoritmo es inestable porque h es demasiado grande !
Reduciendo h a 0.2 da un algoritmo estable y preciso
Ejemplo, RK de 4to-orden En el intervalo >> tt=0:0.01*pi:pi; xx=example2_f(tt); >> [t,x]=RK4('example2_f',[0 pi],1,0.05*pi);
Ejemplo, RK de 4to-orden
Ejemplo, RK de 4to-orden >> H=plot(t,x,'r-o',tt,xx); >> set(H,'LineWidth',3,'MarkerSize',12);
Fuentes Ferri Al, Numerical Solution to Differential equations, Lecture notes ME2016