martes, 16 de noviembre de 2010

Métodos de Runge Kutta

Métodos de Runge-Kutta



Computación Científica

Facultad de Ciencias Matemáticas

Universidad Nacional Mayor de San Marcos


22 de octubre de 2010

Resumen
            El presente trabajo presentamos algunos aplicaciones de los métodos de Runge-Kutta en la resolución de ecuaciones diferenciales ordinarias.

Introducción

Una gran variedad de problemas en las matemáticas aplicadas nos llevan a las ecuciones diferenciales. El primer paso para la solución numérica de una ecuación diferencial, es la reducción del problema continuo a uno discreto. Este proceso de reducir un problema continuo a otro problema en un número finito de incognitas se llama discretización. La idea fundamental es buscar una solución aproximada definida en un número finito de puntos. Para este fin existen diferentes métodos numéricos, cada uno con propiedades que los caracterizan.
Para obtener mayor eficiencia(esto es, mayor presición por unidad de esfuerzo computacional) y al mismo tiempo evitar el cálculo de las derivadas de órdenes altos, se utiliza el grupo de métodos de Runge-Kutta para obtener la solucón numérica de una ecuación diferencial.

Este es un código realizado en Matlab del método de Runge-Kutta. Estaré presentando mas detalles.

Código de Runge Kutta en Matlab


function Y=RK5(fun,y0,A,B,I,h)
M=size(A,1);
N=(I(2)-I(1))/h;
for i=1:M
    s=0;
    for j=1:M
        s=s+A(i,j);   
    end
    C(i)=s; 
end
T(1)=I(1);
Y(1,:)=y0;
for r=2:N+1
    T(r)=T(1)+h*(r-1);
    for i=1:M
        s1=0;
        for j=1:i-1
            s1=s1+A(i,j)*K(j,:);
        end
        K(i,:)=h*(feval(fun,T(r-1)+C(i)*h,Y(r-1,:)+s1)); 
    end
    s2=0;
    for k=1:M
        s2=s2+B(k)*K(k,:);
    end
    Y(r,:)=Y(r-1,:)+s2;
end
plot(T,Y)
%ejemplo
%RK5('fun1',[1 1],[0 0 0 0;0.5 0 0 0;0 0.5 0 0;...
0 0 1 0],[1/6 2/6 2/6 1/6],[0 1],0.1)
%se crea una un fun1.m para la funcion
%f1(y1(t),y2(t))=y2(t)
%f2(y1(t),y2(t))=t*y1(t)
%y1(0)=1
%y2(0)=1
%0<1
%h=0.1
%function f=fun1(x,y)
%f(1)=y(2);
%f(2)=x*y(1);


Enlaces Externos

No hay comentarios:

Publicar un comentario