metodo de runge kutta 4 jml

18
UNIVERSIDAD PERUANA UNIÓN FACULTAD DE INGENIERÍA Y  ARQUITECTURA INGENIERÍA DE SISTEMAS CURSO: MÉTODOS NUMÉRICOS Alumno: José Manuel Limachi Chávez

Upload: jose-manuel-limachi-chavez

Post on 06-Jul-2015

669 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Metodo de Runge Kutta 4 Jml

5/7/2018 Metodo de Runge Kutta 4 Jml - slidepdf.com

http://slidepdf.com/reader/full/metodo-de-runge-kutta-4-jml 1/18

 

UNIVERSIDAD PERUANA UNIÓNFACULTAD DE INGENIERÍA Y

 ARQUITECTURA INGENIERÍA DE SISTEMASCURSO: MÉTODOS NUMÉRICOS

Alumno:

José Manuel Limachi Chávez

Page 2: Metodo de Runge Kutta 4 Jml

5/7/2018 Metodo de Runge Kutta 4 Jml - slidepdf.com

http://slidepdf.com/reader/full/metodo-de-runge-kutta-4-jml 2/18

 

Introducción

Cabe destacar que el método de Runge kuttafue desarrollado por los matemáticos C.

Runge y M. W. Kutta. Este método es

también llamado Runge-Kutta explícito. Esun método iterativo tanto implícito como

explícito para aproximar las soluciones de

ecuaciones diferenciales ordinarias.

El método cuarto orden se puede utilizar paracalcular soluciones aproximadas.

Page 3: Metodo de Runge Kutta 4 Jml

5/7/2018 Metodo de Runge Kutta 4 Jml - slidepdf.com

http://slidepdf.com/reader/full/metodo-de-runge-kutta-4-jml 3/18

 

 Método de

Runge Kutta

El método de Runge-Kutta es un método genérico de

resolución numérica de ecuaciones diferenciales.

Se trata de un método por etapas que tiene la siguiente

expresión genérica:

donde:

i = 1,..., e

con aij ,bi ,c i  constantes propias del esquema numérico. Losesquemas Runge-Kutta pueden ser explícitos o implícitos

dependiendo de las constantes aij  del esquema. Si esta

matriz es triangular inferior con todos los elementos de la

diagonal principal iguales a cero; es decir , aij 

= 0 para j  =

i ,..., e, los esquemas son explícitos.

Page 4: Metodo de Runge Kutta 4 Jml

5/7/2018 Metodo de Runge Kutta 4 Jml - slidepdf.com

http://slidepdf.com/reader/full/metodo-de-runge-kutta-4-jml 4/18

 

Ejemplo:

Esquema Runge-Kutta de dos etapas, una en t  = t n

y

otra en t = t n

+ t n. F (u, t) en la primera etapa es:

y para estimar F (u, t) en t  = t n + t n usamos un esquemaEuler 

Con estos valores de F introducidos en la ecuación 

nos queda la expresión:

Page 5: Metodo de Runge Kutta 4 Jml

5/7/2018 Metodo de Runge Kutta 4 Jml - slidepdf.com

http://slidepdf.com/reader/full/metodo-de-runge-kutta-4-jml 5/18

 

Las constantes propias de este esquema son: b1

= b2

= 1 /

2;a21

= 1;c 2

= 1.

Existen variantes del método de Runge-Kutta clásico,

también llamado Runge-Kutta explícito, tales como la

versión implícita del procedimiento o las parejas de métodos

Runge-Kutta (o métodos Runge-Kutta-Fehlberg).

Este último consiste en ir aproximando la solución de laecuación mediante dos algoritmos Runge-Kutta de órdenes

diferentes, para así mantener el error acotado y hacer una

buena elección de paso.

Page 6: Metodo de Runge Kutta 4 Jml

5/7/2018 Metodo de Runge Kutta 4 Jml - slidepdf.com

http://slidepdf.com/reader/full/metodo-de-runge-kutta-4-jml 6/18

 

Método de Runge-Kutta (de cuarto orden):

00

)( ; ),( y x y y x f  dx

dy!!

Los llamados métodos de Runge-Kutta son una serie dealgoritmos para calcular aproximaciones numéricas del

valor de la solución de:

En puntos de la forma siguiente:

etch x xh x x  ;; 1201 !!

con muy buena precisión, sin que, para ello, seanecesario que los h sean muy pequeños.

El procedimiento consta de los siguientes pasos:Para calcular un valor aproximado de la solución y1 en el

punto

Page 7: Metodo de Runge Kutta 4 Jml

5/7/2018 Metodo de Runge Kutta 4 Jml - slidepdf.com

http://slidepdf.com/reader/full/metodo-de-runge-kutta-4-jml 7/18

x1 = x0+ h, se calculan los siguientes números:

),( 001 y x f  hk  !

)2

,2

( 1002

k  y

h x f  hk  !

)

2

,

2

( 2003

k  y

h x f  hk  !

),( 3004 k  yh x f  hk  !

)22(

6

143210 k k k k  K  !

y entonces se toma:

001 K  y y !

 

Page 8: Metodo de Runge Kutta 4 Jml

5/7/2018 Metodo de Runge Kutta 4 Jml - slidepdf.com

http://slidepdf.com/reader/full/metodo-de-runge-kutta-4-jml 8/18

),( 111 y x f  hk  !

)

2

,

2

( 1112

k  y

h x f  hk  !

)2

,2

( 2113

k  y

h x f  hk  !

),( 3114 k  yh x f  hk  !

)22(6

143210 k k k k  !

012 K  y y !

Del  mismo modo, se calcula el valor  aproximado de la 

solución, y2, en el punto x2 = x1 + h:

Y así, sucesivamente

 

Page 9: Metodo de Runge Kutta 4 Jml

5/7/2018 Metodo de Runge Kutta 4 Jml - slidepdf.com

http://slidepdf.com/reader/full/metodo-de-runge-kutta-4-jml 9/18

1)0( ; 2 !! y y xdx

dy

2.02.0001 !!! h x x

Ejemplo 1

Utilizar  el  método de Runge-Kutta con el problema 

siguiente para calcular  la solución aproximada en x =0.2 y x =0.4:

h = 0.2:

),(001

y x f  hk  !

2.0)102(2.0!v!

)2

,2

( 1002

k  y

h x f  hk  ! )1.01,1.00(2.0 ! f  

 

Page 10: Metodo de Runge Kutta 4 Jml

5/7/2018 Metodo de Runge Kutta 4 Jml - slidepdf.com

http://slidepdf.com/reader/full/metodo-de-runge-kutta-4-jml 10/18

26.01.11.022.02 !v!k 

)2,2(2

003

 y

h

 x f  hk  ! )13.1,1.0(2.0 f  !

266.013.11.022.03 !v!k 

),( 3004 k  yh x f  hk  ! )266.1,2.0(2.0 f  !

3332.0266.12.022.04 !v!k 

2642.0)22(6

143210 !! k k k k 

2642.1001 !! K  y y

4.02.02.012 !!! h x x

 

Page 11: Metodo de Runge Kutta 4 Jml

5/7/2018 Metodo de Runge Kutta 4 Jml - slidepdf.com

http://slidepdf.com/reader/full/metodo-de-runge-kutta-4-jml 11/18

),( 111 y x f  hk  ! 33284.0)2642.12.02(2.0 !v!

)2,2(

1

112

 y

h

 x f  hk  ! 40612.0)43062.1,3.0(2.0 !! f  

)2

,2

( 2113

k  y

h x f  hk  ! 41345.0)46726.1,3.0(2.0 !! f  

),( 3114 k  yh x f  hk  ! 49553.0)67765.1,4.0(2.0 !! f  

41125.0)22(6

143210 !! k k k k  K 

67545.141125.02642.1012 !!! K  y y

Page 12: Metodo de Runge Kutta 4 Jml

5/7/2018 Metodo de Runge Kutta 4 Jml - slidepdf.com

http://slidepdf.com/reader/full/metodo-de-runge-kutta-4-jml 12/18

 

Page 13: Metodo de Runge Kutta 4 Jml

5/7/2018 Metodo de Runge Kutta 4 Jml - slidepdf.com

http://slidepdf.com/reader/full/metodo-de-runge-kutta-4-jml 13/18

import java.io.BufferedReader;

import java.io.InputStreamReader;

/*

* To change this template, choose Tools | Templates* and open the template in the editor.

*/

/**

*

* @author JOSE MANUEL*/

public class RK {

public static double func(double x, double y)

{

return //-2*x^3+12*x^2-20*x+8.5;

-2*Math.pow(x, 3)+12*Math.pow(x, 2)-20*x+8.5;

}

public static void reportar(double x, double y, int i)

{

System.out.println("\t\t" +i +"\t\t" +x +"\t\t" +y );

}

 

Page 14: Metodo de Runge Kutta 4 Jml

5/7/2018 Metodo de Runge Kutta 4 Jml - slidepdf.com

http://slidepdf.com/reader/full/metodo-de-runge-kutta-4-jml 14/18

public static int menu()

{

int opc=0;do

{

BufferedReader br = new BufferedReader( new

InputStreamReader(System.in));

try

{System.out.println("SELECCIONE OPCION");

System.out.println("=================");

System.out.println("1.Metodo de Runge Kutta");

System.out.println("2.Salir");

System.out.print("Opcion:");opc=Integer.parseInt(br.readLine());

}catch(Exception e){e.getMessage();}

}while(opc<1||opc>2);

return opc;

}

 

Page 15: Metodo de Runge Kutta 4 Jml

5/7/2018 Metodo de Runge Kutta 4 Jml - slidepdf.com

http://slidepdf.com/reader/full/metodo-de-runge-kutta-4-jml 15/18

public static void Kutta(){

double x0,y0,xf,yf,h,k1,k2,k3,k4;

int n,i;

System.out.println("Metodo de Runge Kutta");

System.out.println("---------------------");BufferedReader br = new BufferedReader(new

InputStreamReader(System.in));

try

{

System.out.print("Ingrese el valor de x0:

");x0=Double.parseDouble(br.readLine());System.out.print("Ingrese el valor de y0:

");y0=Double.parseDouble(br.readLine());

System.out.print("Ingrese el valor de xf:

");xf=Double.parseDouble(br.readLine());

do{

System.out.print("Ingrese el numero de subintervalos a emplear:");n=Integer.parseInt(br.readLine());

}while(n<=0);

h=(xf-x0)/n;

System.out.println("");

System.out.println("\t\t" +"I" +"\t\t" +"Xi" +"\t\t" +"Yi" );

System.out.println("\t\t" +"-" +"\t\t" +"-" +"\t\t" +"-" );

 

Page 16: Metodo de Runge Kutta 4 Jml

5/7/2018 Metodo de Runge Kutta 4 Jml - slidepdf.com

http://slidepdf.com/reader/full/metodo-de-runge-kutta-4-jml 16/18

for(i=1;i<=n;i++)

{

k1=func(x0,y0);

k2=func(x0+h/2,y0+h*k1/2);

k3=func(x0+h/2,y0+h*k2/2);k4=func(x0+h,y0+h*k3);

y0=y0+(k1+2*k2+2*k3+k4)*h/6;

x0=x0+h;

reportar(x0,y0,i);

}

System.out.println("El valor de Yf: " +y0);

}catch(Exception e){e.printStackTrace();}

}

public static void terminar()

{System.out.println("Gracias por usar el programa");

}

 

Page 17: Metodo de Runge Kutta 4 Jml

5/7/2018 Metodo de Runge Kutta 4 Jml - slidepdf.com

http://slidepdf.com/reader/full/metodo-de-runge-kutta-4-jml 17/18

public static void main (String[]args)

{int opc;

do

{

opc=menu();

switch(opc)

{case 1: Kutta(); break;

case 2: terminar();break;

}

}

while(opc!=2);

}

}

 

Page 18: Metodo de Runge Kutta 4 Jml

5/7/2018 Metodo de Runge Kutta 4 Jml - slidepdf.com

http://slidepdf.com/reader/full/metodo-de-runge-kutta-4-jml 18/18

Conclusió

n

El método de runge kutta es empleado para la resolución de ecuaciones

diferenciales. Los métodos Runge-Kutta o métodos Runge-Kutta-

Fehlberg. Consiste en ir aproximando la solución de la ecuación

mediante dos algoritmos Runge-Kutta de órdenes diferentes, para así

mantener el error acotado y hacer una buena elección de paso.

El método de Runge Kutta de cuarto orden es una serie de algoritmos

para calcular aproximaciones numéricas.