SlideShare una empresa de Scribd logo
4
Lo más leído
5
Lo más leído
8
Lo más leído
UNIVERSIDAD CENTROCCIDENTAL
        “LISANDRO ALVARADO”
      DECANATO DE AGRONOMÍA
PROGRAMA DE INGENIERÍA AGROINDUSTRIAL
       COMPUTACIÓN APLICADA
           NÚCLEO OBELISCO




                                            Integrantes:
                        Alvarez, Fernando C.I.17.618.791
                        Brizuela, Laurimar C.I.19.241.332
                           Navas, Dilmary C.I.19.449.757
                           Valero, Nélida C.I.18.862.072
                                Ing. Juan Carlos Molina
      Barquisimeto, Enero del 2011
Implementación de sistemas numéricos

RUNGE-KUTTA

El método de Runge Kutta es un método numérico de resolución de
ecuaciones diferenciales que surge como una mejora del método de
Euler. El método de Euler se puede considerar como un método de
Runge Kutta de primer orden, el de Heun, es un método de Runge Kutta
de orden dos.

Los métodos de Runge-Kutta logran la exactitud del procedimiento de
una serie de Taylor sin requerir el cálculo de derivadas superiores. Existen
muchas variaciones, pero todas se pueden denotar en la forma
generalizada de la ecuación

yi + 1 = yi + F(xi,yi,h)h

Donde F(xi,yi,h) se conoce como la función incremento la cual puede
interpretarse como una pendiente representativa en el intervalo. La
función incremento se escribe en forma general como:

F = a1k1 + a2k2 +….+ ankn

Donde las a son constantes y las k son:

k1 = f(xi,yi)

k2 = f(xi + p1h,yi + q11k1h)

k3 = f(xi + p2h,yi + q21k1h + q22k2h)

kn = f(xi + pnh,yi + q2n-1k1h + qn-1,2k2h + …. + qn-1,n-1kn-1h)

Donde las p y q son constantes.

Como cada k es una evaluación funcional, esta recurrencia hace que
los métodos Runge-Kutta sean eficientes para la programación. Existen
varios tipos de métodos Runge-Kutta al emplear diferentes números de
términos en la función incremento como la especificada por n.

n = 1, es el método de Euler. Una vez se elige n, se evalúan las a, p y q al
igualar la función incremento a los términos en la serie de expansión de
Taylor. La versión de segundo orden para la ecuación en su forma
generalizada es:
Donde:



Los valores de a1, a2, p1 y q11 son evaluados al igualar el término de
segundo orden de la ecuación dada con la expansión de la serie de
Taylor.

Desarrollando tres ecuaciones para evaluar las cuatro incógnitas:




Como se tienen tres ecuaciones con cuatro incógnitas se tiene que
suponer el valor de una de ellas. Suponiendo que se especificó un valor
para a2, se puede resolver de manera simultánea el sistema de
ecuaciones obtenido:




Como se puede elegir un número infinito de valores para a2, hay un
número infinito de métodos Runge-Kutta de segundo orden.

a2 = 1/2: Método de Heun con un solo corrector, donde:




a2 = 1 : Método del punto medio.




a2 = 2/3: Método de Ralston.




Siguiendo el mismo razonamiento para n = 3, o sea, Runge-Kutta de
tercer orden, el resultado son seis ecuaciones con ocho incógnitas, por
lo tanto se deben suponer dos valores con antelación para poder
desarrollar el sistema de ecuaciones. Una versión ampliamente usada
es:


Éste es el más popular de los métodos Runge-Kutta de cuarto orden:


Ejemplo

Runge –Kutta para segundo orden, método punto medio.
Resuelva el siguiente problema de valor inicial en el intervalo de x=0 a
x=1.

dy
   = yx 2 − 1.2 y
dx

Donde:
y(0)=1
h = 0.25

Solución

y i +1 = y i + k 2 h

k 1 = f(xi, y i )

                1          1
k 2 = f(x i +     h , y i + k 1 h)
                2          2

      Primera iteración

k 1 = f(x 0 , y 0 ) = f = (0 , 1)
k1 = (1)(0) 2 − 1.2(1)
k1 = −1.2

               1           1
k 2 = f ( x0 +   h , y 0 + k1 h)
               2           2
              1              1
k2   = f (0 + (0.25) , 1 + (−1.2)(0.25))
              2              2
k2   = f (0.125,0.85)
k2   = 0.85(0.125) 2 − 1.2(0.85)
k2   = −1.006718

y1 = 1 + (−1.006718)0.25
y1 = 0.748320

      Segunda iteración

x1 = x0 + h
x1 = 0 + 0.25
x1 = 0.25

k 1 = f(x 1 , y1 ) = f = (0.25 , 0.748320)
k1 = (0.748320)(0.25) 2 − 1.2(0.748320)
k1 = −0.851432
1                     1
k 2 = f (0.25 + (0.25) , 0.748320 + (−0.851432)(0.25))
                2                     2
k 2 = f (0.375,0.641891)
k 2 = 0.641891(0.375) 2 − 1.2(0.641891)
k 2 = −0.680003
y 2 = 0.748320 + (−0.680003)0.25
y 2 = 0.578319

     Tercera iteración

x 2 = x1 + h
x 2 = 0.25 + 0.25
x 2 = 0 .5

k 1 = f(x 2 , y 2 ) = f = (0.5,0.578319)
k1 = (0.578319)(0.5) 2 − 1.2(0.578319)
k1 = −0.549403

               1         1
k 2 = f ( x 2 + h , y 2 + k1 h )
               2         2
                1                   1
k 2 = f (0.5 + (0.25) , 0.578319 + (−0.549403)(0.25))
                2                   2
k 2 = f (0.625,0.509643)
k 2 = 0.509643(0.625) 2 − 1.2(0.509643)
k 2 = −0.4125

y 3 = 0.578319 + (−0.4125)0.25
y 3 = 0.4752

     Cuarta iteración

x3 = x 2 + h
x 3 = 0.5 + 0.25
x3 = 0.75

k 1 = f(x 3 , y 3 ) = f = (0.75,0.4752)
k1 = (0.4752)(0.75) 2 − 1.2(0.4752)
k1 = −0.3029
               1          1
k 2 = f ( x 3 + h , y 3 + k1 h )
               2          2
                 1                  1
k 2 = f (0.75 + (0.25) , 0.4752 + (−0.3029)(0.25))
                 2                  2
k 2 = f (0.875,0.4373)
k 2 = 0.4373(0.875) 2 − 1.2(0.4373)
k 2 = −0.1900

y 4 = 0.4752 + (−0.1900)0.25
y 4 = 0.4277

x4 = x3 + h
x 4 = 0.75 + 0.25
x4 = 1

Vectores solución

                      X 0 0.25     0.5   0.75     1
                      y 1 0.7483 0.5783 0.4752 0.4277



Algoritmo MATLAB- Segundo orden

%Método Runge kutta de segundo orden
x=0;
y=1;
t=0;
tmax=1;
h=0.25;
iter=round ((tmax-t)/h);
vectory=y;
vectort=t;
for i=1:iter
    %Cálculo de las constantes de Runge-kutta
    K1=(y*(t^2))-(1.2*y);
    K2=(y+(K1/2)*h)*(t+(h/2))^2-(1.2*(y+(K1/2)*h));
       y=y+(K2*h);
    t=t+h;
    vectory=[vectory y];
    vectort=[vectort t];
end
vectory
vectort
subplot (1,1,1);
plot(vectort,vectory,'b-p');
title('Método runge kutta segundo orden. y vs t');
xlabel ('valores t');
ylabel ('valores y');
Runge –Kutta para tercer orden.

Se resuelve el mismo problema anterior pero esta vez mediante el uso
del método Runge kutta de tercer grado, de valor inicial, en el intervalo
de x=0 a x=1.


dy
   = yx 2 − 1.2 y
dx

Donde:
y(0)=1
h = 0.25

Solución.

En el método de Runge kutta de tercer orden se utilizan las siguientes
formulas:

              1
y i +1 = y i + (k 1 + 4k 2 + k 3 )h
              6

k 1 = f(xi, y i )
1            1
k 2 = f(x i +   h , y i + k 1 h)
              2            2
k 3 = f(x i + h , y i −k 1 h + 2k 2 h)

      Primera iteración

k1 = f(x 0 , y 0 ) = f = (0 , 1)
                                   k1 = (1)(0) 2 − 1.2(1)
k1 = −1.2

               1           1
k 2 = f ( x0 +   h , y 0 + k1 h)
               2           2
              1              1
k2   = f (0 + (0.25) , 1 + (−1.2)(0.25))
              2              2
k2   = f (0.125,0.85)
k2   = 0.85(0.125) 2 − 1.2(0.85)
k2   = −1.0067


k 3 = f(x o + h , y o −k 1 h + 2k 2 h)
k 3 = f (0 + (0.25), (1) − (−1.2)(0.25) + 2(−1.0067)(0.25))
k 3 = f (0.25,0.7966)
k 3 = 0.7966(0.25) 2 − 1.2(0.7966)
k 3 = −0.9062


          1
y1 = y 0 + (k 1 + 4k 2 + k 3 )h
          6
y1 = 0.7445


      Segunda iteración

x1 = x0 + h
x1 = 0 + 0.25
x1 = 0.25

k 1 = f(x 1 , y1 ) = f = (0.25 , 0.7445)
k1 = (0.7445)(0.25) 2 − 1.2(0.7445)
k1 = −0.8468

                 1         1
k 2 = f ( x1 +     h , y1 + k1 h)
                 2         2
1                1
k 2 = f (0.25 + (0.25) , 0.7445 + (−0.8469)(0.25))
                2                2
k 2 = f (0.375,0.6386)
k 2 = 0.6386(0.375) 2 − 1.2(0.6386)
k 2 = −0.6765


k 3 = f(x 1 + h , y1 − k 1 h + 2k 2 h)
k 3 = f (0.25 + (0.25), (0.7445) − (−0.8469)(0.25) + 2(−0.6765)(0.25))
k 3 = f (0.5,0.6178)
k 3 = 0.6178(0.5) 2 − 1.2(0.6178)
k 3 = −0.5870


          1
y 2 = y1 + (k 1 + 4k 2 + k 3 )h
          6
y 2 = 0.5720



      Tercera iteración

x 2 = x1 + h
x 2 = 0.25 + 0.25
x 2 = 0 .5

k 1 = f(x 2 , y 2 ) = f = (0.5,0.5720)
k1 = (0.5720)(0.5) 2 − 1.2(0.5720)
k1 = −0.5434

               1           1
k 2 = f ( x2 +   h , y 2 + k1 h)
               2           2
               1                     1
k2   = f (0.5 + (0.25) , 0.5720 + (−0.5434)(0.25))
                2                    2
k2   = f (0.625,0.5041)
k2   = 0.5041(0.625) 2 − 1.2(0.5041)
k2   = −0.4080


k 3 = f(x 2 + h , y 2 − k 1 h + 2k 2 h)
k 3 = f (0.5 + (0.25), (0.5720) − (−0.5434)(0.25) + 2(−0.4080)(0.25))
k 3 = f (0.75,0.5038)
k 3 = 0.5038(0.75) 2 − 1.2(0.5038)
k 3 = −0.3212
1
y 3 = y 2 + (k 1 + 4k 2 + k 3 )h
           6
y 3 = 0.4679

      Cuarta iteración

x3 = x 2 + h
x 3 = 0.5 + 0.25
x3 = 0.75

k 1 = f(x 3 , y 3 ) = f = (0.75,0.4679)
k1 = (0.4679)(0.75) 2 − 1.2(0.4679)
k1 = −0.2986

               1           1
k 2 = f ( x3 +   h , y 3 + k1 h )
               2           2
                 1                   1
k2   = f (0.75 + (0.25) , 0.4679 + (−0.2983)(0.25))
                 2                   2
k2   = f (0.875,0.4306)
k2   = 0.4306(0.875) 2 − 1.2(0.4306)
k2   = −0.1871


k 3 = f(x 3 + h , y 3 − k 1 h + 2k 2 h)
k 3 = f (0.75 + (0.25), (0.4679) − ( −0.2983)(0.25) + 2(−0.1871)(0.25))
k 3 = f (1,0.4489)
k 3 = 0.4489(1) 2 − 1.2(0.4489)
k 3 = −0.0898


           1
y 4 = y 3 + (k 1 + 4k 2 + k 3 )h
           6
y 4 = 0.4206

x 4 = x3 + h
x 4 = 0.75 + 0.25
x4 = 1

Vectores solución

                         X 0 0.25   0.5    0.75   1
                         y 1 0.7445 0.5720 0.4679 0.4206
Algoritmo MATLAB- Tercer orden

%Método Runge-Kutta de 3er orden
x=0;
y=1;
t=0;
tmax=1;
h=0.25;
iter=(tmax-t)/h;
vectory=y;
vectort=t;
for i=1:iter
    %Cálculo de las constantes de Runge-kutta
    K1=(y*(t^2))-(1.2*y);
    K2=(y+(K1/2)*h)*(t+(h/2))^2-(1.2*(y+(K1/2)*h));
    K3=(y-(K1*h)+(2*K2*h))*((t+h)^2)-(1.2*((y-(K1*h)+(2*K2*h))));
    y=y+((K1+(4*K2)+K3)/6)*h;
    t=t+h;
    vectory=[vectory,y];
    vectort=[vectort,t];
end

vectory
vectort

subplot (1,1,1);
plot(vectort,vectory,'r-*');
title('Método runge kutta Tercer orden. y vs t');
xlabel ('valores t');
ylabel ('valores y');
Aplicación

Los métodos numéricos son técnicas, donde es posible resolver los
problemas por medio de operaciones aritméticas, estos métodos
implementan un buen numero de cálculos que son por demás
demasiado lentos si se hacen manualmente, gastando mucha energía
en la técnica misma de solución en vez de aplicarla sobre la definición
del problema y su interpretación.

El trabajo monótono que se hacia anteriormente al uso de la
computadora, hace de importancia, el dominio de los métodos
numéricos, los cuales se deben llevar a cabo en combinación con las
capacidades y potencialidades de la programación de computadoras
para de esa forma resolver los problemas de ingeniería mucho mas
fácilmente y eficientemente.

En general, estos métodos se aplican cuando se necesita un valor
numérico como solución a un problema matemático, y los
procedimientos "exactos" o "analíticos" (manipulaciones algebraicas,
teoría de ecuaciones diferenciales, métodos de integración, etc.) son
incapaces de dar una respuesta. Debido a ello, son procedimientos de
uso frecuente por físicos e ingenieros, y cuyo desarrollo se ha visto
favorecido por la necesidad de éstos de obtener soluciones, aunque la
precisión no sea completa. Debe recordarse que la física experimental,
por ejemplo, nunca arroja valores exactos sino intervalos que engloban
la gran mayoría de resultados experimentales obtenidos, ya que no es
habitual que dos medidas del mismo fenómeno arrojen valores
exactamente iguales.


                              Conclusión


El estudio de los métodos numéricos, es muy útil y por ende importante
para quien utilice esta herramientas para resolución de operaciones, las
cuales se saben que pueden resultar complicadas, tediosas y largas, y
por más que se dominen los métodos tradicionales, estos muchas veces
pueden no ser suficientes, sin embargo esto no quiere decir que la
operación sea imposible de solucionar, y es ahí donde los métodos
numéricos se aplican, y facilitan es trabajo de cierta manera.

Dentro del estudio de los métodos numéricos, se encuentran una gran
variedad de aplicaciones como lo fue el descrito en el presente trabajo
referido al método de runge kutta, que tiene como objetivo principal el
análisis y solución de los problemas de valor inicial de ecuaciones
diferenciales ordinarias, siendo estos una extensión del método de euler
para resolver las, pero con un orden de exactitud mas alto que este,
logrando así la exactitud del procedimiento sin requerir el cálculo de
derivadas superiores Por tal razón se toma como un método de gran
facilidad y rapidez lo que lo hace de gran importancia, ya que debido
a estas características su implantación resulta mas cómoda y fácil de
manejar, tomando en cuenta a la misma vez la utilización de su
algoritmo resultando una gran ventaja a nivel de su desenvolvimiento
en la programación en matlab. El mecanismo esta basado en la
aplicación de ecuaciones matemáticas de gran facilidad de empleo,
siendo esta otra característica positiva. Este método es de gran
aplicabilidad en diversas áreas de la industria lo que lo hace muy usado
en distintos niveles.


                              Bibliografía

Chapra, S y Canale, R (2003). Métodos numéricos para ingenieros.
Editorial Macgraw Hill. Cuarta edición. México.

Apellido,N (año). Titulo de oublicacion.Disponible en: www.jnhb.com.
consultado:fecha
Runge-Kutta f

Más contenido relacionado

DOCX
Metodo de Runge Kutta en Matlab
PDF
Ejercicios ecuaciones diferenciales
PDF
Método del punto fijo
PDF
Métodos numéricos método de la secante
PPSX
Método de la regla falsa (o metodo de la falsa posición) MN
DOCX
Maximos y minimos funcion de varias variables
DOC
Funciones ortogonales (1)
PDF
Funciones bessel
Metodo de Runge Kutta en Matlab
Ejercicios ecuaciones diferenciales
Método del punto fijo
Métodos numéricos método de la secante
Método de la regla falsa (o metodo de la falsa posición) MN
Maximos y minimos funcion de varias variables
Funciones ortogonales (1)
Funciones bessel

La actualidad más candente (20)

PDF
Trayectorias ortogonales monografia
PDF
ejercicios-resueltos-interpolacion-polinomial
PDF
Solucionario ecuaciones2
DOCX
Proyecto de calculo3 (1) firme
PDF
MéTodo De IteracióN De Punto Fijo
PDF
Termodinamica problemas resueltos08
DOCX
Ejemplo de teorema de lagrange
PDF
Solucionario de dennis g zill ecuaciones diferenciales
PDF
Método de Gauss Jordan
PPTX
Diferenciación numérica Metodos Numericos
DOCX
Interpola lagrange
PDF
Ejercicios jacobi
PDF
RAÍCES DE ECUACIONES NO LINEALES
PPTX
Aplicaciones ecuaciones =d
PDF
Tema 2 ECUACIONES DIFERENCIALES LINEALES DE ORDEN SUPERIOR
PPTX
Método de newton raphson Metodos Numericos
PPTX
Ecuaciones diferenciales de orden superior
PDF
Integracion numerica
DOCX
Ejercicios resueltos
PDF
Métodos de Diferencias Finitas
Trayectorias ortogonales monografia
ejercicios-resueltos-interpolacion-polinomial
Solucionario ecuaciones2
Proyecto de calculo3 (1) firme
MéTodo De IteracióN De Punto Fijo
Termodinamica problemas resueltos08
Ejemplo de teorema de lagrange
Solucionario de dennis g zill ecuaciones diferenciales
Método de Gauss Jordan
Diferenciación numérica Metodos Numericos
Interpola lagrange
Ejercicios jacobi
RAÍCES DE ECUACIONES NO LINEALES
Aplicaciones ecuaciones =d
Tema 2 ECUACIONES DIFERENCIALES LINEALES DE ORDEN SUPERIOR
Método de newton raphson Metodos Numericos
Ecuaciones diferenciales de orden superior
Integracion numerica
Ejercicios resueltos
Métodos de Diferencias Finitas
Publicidad

Similar a Runge-Kutta f (20)

DOCX
Mtodo de runge..trabajo[1]... listo final
DOCX
Mtodo de runge..trabajo[1]... listo final
DOC
Trabajo computacion runge kutta
DOCX
Coaquira l metodos numericos_t2
PPTX
08 clase 8.pptx
DOCX
Trabajo encargado de métodos numéricos i
PPTX
ECUACIONES DIFERENCIALES ORDINARIAS.pptx
PDF
Metodos iterativos para reslver sistemas lineales
PPTX
Metodo runge kutta
DOCX
grupo5. ejercicios 2.1 (1).docx
DOCX
Trabajo de computacion runge kutta francisco francis luis rafa
DOCX
Trabajo de computacion runge kutta francis francisco rafael luis
PPTX
Métodos de Runge- Kutta.pptx
PPTX
Runge Kutta Fehlberg
PDF
Metodo adams bashforth
PDF
Oper.2305.m03.lectura.v1
PDF
7.metodo de newton2
DOCX
investigacion Método de Euler modificado
PDF
Ptofijonewton2 variables
DOCX
Trabajo final metodos
Mtodo de runge..trabajo[1]... listo final
Mtodo de runge..trabajo[1]... listo final
Trabajo computacion runge kutta
Coaquira l metodos numericos_t2
08 clase 8.pptx
Trabajo encargado de métodos numéricos i
ECUACIONES DIFERENCIALES ORDINARIAS.pptx
Metodos iterativos para reslver sistemas lineales
Metodo runge kutta
grupo5. ejercicios 2.1 (1).docx
Trabajo de computacion runge kutta francisco francis luis rafa
Trabajo de computacion runge kutta francis francisco rafael luis
Métodos de Runge- Kutta.pptx
Runge Kutta Fehlberg
Metodo adams bashforth
Oper.2305.m03.lectura.v1
7.metodo de newton2
investigacion Método de Euler modificado
Ptofijonewton2 variables
Trabajo final metodos
Publicidad

Último (20)

PDF
Integrando la Inteligencia Artificial Generativa (IAG) en el Aula
PDF
TOMO II - LITERATURA.pd plusenmas ultras
PDF
La Evaluacion Formativa en Nuevos Escenarios de Aprendizaje UGEL03 Ccesa007.pdf
PDF
Unidad de Aprendizaje 5 de Matematica 1ro Secundaria Ccesa007.pdf
PDF
OK OK UNIDAD DE APRENDIZAJE 5TO Y 6TO CORRESPONDIENTE AL MES DE AGOSTO 2025.pdf
PDF
Unidad de Aprendizaje 5 de Educacion para el Trabajo EPT Ccesa007.pdf
DOCX
Informe_practica pre Final.docxddadssasdddddddddddddddddddddddddddddddddddddddd
DOCX
UNIDAD DE APRENDIZAJE 5 AGOSTO tradiciones
PDF
Cronograma de clases de Práctica Profesional 2 2025 UDE.pdf
PDF
Salvese Quien Pueda - Andres Oppenheimer Ccesa007.pdf
PDF
SESION 12 INMUNIZACIONES - CADENA DE FRÍO- SALUD FAMILIAR - PUEBLOS INDIGENAS...
DOCX
III Ciclo _ Plan Anual 2025.docx PARA ESTUDIANTES DE PRIMARIA
PDF
COMPLETO__PROYECTO_VIVAN LOS NIÑOS Y SUS DERECHOS_EDUCADORASSOS.pdf
PDF
Fundamentos_Educacion_a_Distancia_ABC.pdf
PPTX
AGENTES PATÓGENOS Y LAS PRINCIPAL ENFERMEAD.pptx
PDF
Tomo 1 de biologia gratis ultra plusenmas
PDF
Escuela de Negocios - Robert kiyosaki Ccesa007.pdf
PDF
DI, TEA, TDAH.pdf guía se secuencias didacticas
DOCX
V UNIDAD - PRIMER GRADO. del mes de agosto
PDF
CONFERENCIA-Deep Research en el aula universitaria-UPeU-EduTech360.pdf
Integrando la Inteligencia Artificial Generativa (IAG) en el Aula
TOMO II - LITERATURA.pd plusenmas ultras
La Evaluacion Formativa en Nuevos Escenarios de Aprendizaje UGEL03 Ccesa007.pdf
Unidad de Aprendizaje 5 de Matematica 1ro Secundaria Ccesa007.pdf
OK OK UNIDAD DE APRENDIZAJE 5TO Y 6TO CORRESPONDIENTE AL MES DE AGOSTO 2025.pdf
Unidad de Aprendizaje 5 de Educacion para el Trabajo EPT Ccesa007.pdf
Informe_practica pre Final.docxddadssasdddddddddddddddddddddddddddddddddddddddd
UNIDAD DE APRENDIZAJE 5 AGOSTO tradiciones
Cronograma de clases de Práctica Profesional 2 2025 UDE.pdf
Salvese Quien Pueda - Andres Oppenheimer Ccesa007.pdf
SESION 12 INMUNIZACIONES - CADENA DE FRÍO- SALUD FAMILIAR - PUEBLOS INDIGENAS...
III Ciclo _ Plan Anual 2025.docx PARA ESTUDIANTES DE PRIMARIA
COMPLETO__PROYECTO_VIVAN LOS NIÑOS Y SUS DERECHOS_EDUCADORASSOS.pdf
Fundamentos_Educacion_a_Distancia_ABC.pdf
AGENTES PATÓGENOS Y LAS PRINCIPAL ENFERMEAD.pptx
Tomo 1 de biologia gratis ultra plusenmas
Escuela de Negocios - Robert kiyosaki Ccesa007.pdf
DI, TEA, TDAH.pdf guía se secuencias didacticas
V UNIDAD - PRIMER GRADO. del mes de agosto
CONFERENCIA-Deep Research en el aula universitaria-UPeU-EduTech360.pdf

Runge-Kutta f

  • 1. UNIVERSIDAD CENTROCCIDENTAL “LISANDRO ALVARADO” DECANATO DE AGRONOMÍA PROGRAMA DE INGENIERÍA AGROINDUSTRIAL COMPUTACIÓN APLICADA NÚCLEO OBELISCO Integrantes: Alvarez, Fernando C.I.17.618.791 Brizuela, Laurimar C.I.19.241.332 Navas, Dilmary C.I.19.449.757 Valero, Nélida C.I.18.862.072 Ing. Juan Carlos Molina Barquisimeto, Enero del 2011
  • 2. Implementación de sistemas numéricos RUNGE-KUTTA El método de Runge Kutta es un método numérico de resolución de ecuaciones diferenciales que surge como una mejora del método de Euler. El método de Euler se puede considerar como un método de Runge Kutta de primer orden, el de Heun, es un método de Runge Kutta de orden dos. Los métodos de Runge-Kutta logran la exactitud del procedimiento de una serie de Taylor sin requerir el cálculo de derivadas superiores. Existen muchas variaciones, pero todas se pueden denotar en la forma generalizada de la ecuación yi + 1 = yi + F(xi,yi,h)h Donde F(xi,yi,h) se conoce como la función incremento la cual puede interpretarse como una pendiente representativa en el intervalo. La función incremento se escribe en forma general como: F = a1k1 + a2k2 +….+ ankn Donde las a son constantes y las k son: k1 = f(xi,yi) k2 = f(xi + p1h,yi + q11k1h) k3 = f(xi + p2h,yi + q21k1h + q22k2h) kn = f(xi + pnh,yi + q2n-1k1h + qn-1,2k2h + …. + qn-1,n-1kn-1h) Donde las p y q son constantes. Como cada k es una evaluación funcional, esta recurrencia hace que los métodos Runge-Kutta sean eficientes para la programación. Existen varios tipos de métodos Runge-Kutta al emplear diferentes números de términos en la función incremento como la especificada por n. n = 1, es el método de Euler. Una vez se elige n, se evalúan las a, p y q al igualar la función incremento a los términos en la serie de expansión de Taylor. La versión de segundo orden para la ecuación en su forma generalizada es:
  • 3. Donde: Los valores de a1, a2, p1 y q11 son evaluados al igualar el término de segundo orden de la ecuación dada con la expansión de la serie de Taylor. Desarrollando tres ecuaciones para evaluar las cuatro incógnitas: Como se tienen tres ecuaciones con cuatro incógnitas se tiene que suponer el valor de una de ellas. Suponiendo que se especificó un valor para a2, se puede resolver de manera simultánea el sistema de ecuaciones obtenido: Como se puede elegir un número infinito de valores para a2, hay un número infinito de métodos Runge-Kutta de segundo orden. a2 = 1/2: Método de Heun con un solo corrector, donde: a2 = 1 : Método del punto medio. a2 = 2/3: Método de Ralston. Siguiendo el mismo razonamiento para n = 3, o sea, Runge-Kutta de tercer orden, el resultado son seis ecuaciones con ocho incógnitas, por lo tanto se deben suponer dos valores con antelación para poder desarrollar el sistema de ecuaciones. Una versión ampliamente usada es: Éste es el más popular de los métodos Runge-Kutta de cuarto orden: Ejemplo Runge –Kutta para segundo orden, método punto medio.
  • 4. Resuelva el siguiente problema de valor inicial en el intervalo de x=0 a x=1. dy = yx 2 − 1.2 y dx Donde: y(0)=1 h = 0.25 Solución y i +1 = y i + k 2 h k 1 = f(xi, y i ) 1 1 k 2 = f(x i + h , y i + k 1 h) 2 2  Primera iteración k 1 = f(x 0 , y 0 ) = f = (0 , 1) k1 = (1)(0) 2 − 1.2(1) k1 = −1.2 1 1 k 2 = f ( x0 + h , y 0 + k1 h) 2 2 1 1 k2 = f (0 + (0.25) , 1 + (−1.2)(0.25)) 2 2 k2 = f (0.125,0.85) k2 = 0.85(0.125) 2 − 1.2(0.85) k2 = −1.006718 y1 = 1 + (−1.006718)0.25 y1 = 0.748320  Segunda iteración x1 = x0 + h x1 = 0 + 0.25 x1 = 0.25 k 1 = f(x 1 , y1 ) = f = (0.25 , 0.748320) k1 = (0.748320)(0.25) 2 − 1.2(0.748320) k1 = −0.851432
  • 5. 1 1 k 2 = f (0.25 + (0.25) , 0.748320 + (−0.851432)(0.25)) 2 2 k 2 = f (0.375,0.641891) k 2 = 0.641891(0.375) 2 − 1.2(0.641891) k 2 = −0.680003 y 2 = 0.748320 + (−0.680003)0.25 y 2 = 0.578319  Tercera iteración x 2 = x1 + h x 2 = 0.25 + 0.25 x 2 = 0 .5 k 1 = f(x 2 , y 2 ) = f = (0.5,0.578319) k1 = (0.578319)(0.5) 2 − 1.2(0.578319) k1 = −0.549403 1 1 k 2 = f ( x 2 + h , y 2 + k1 h ) 2 2 1 1 k 2 = f (0.5 + (0.25) , 0.578319 + (−0.549403)(0.25)) 2 2 k 2 = f (0.625,0.509643) k 2 = 0.509643(0.625) 2 − 1.2(0.509643) k 2 = −0.4125 y 3 = 0.578319 + (−0.4125)0.25 y 3 = 0.4752  Cuarta iteración x3 = x 2 + h x 3 = 0.5 + 0.25 x3 = 0.75 k 1 = f(x 3 , y 3 ) = f = (0.75,0.4752) k1 = (0.4752)(0.75) 2 − 1.2(0.4752) k1 = −0.3029 1 1 k 2 = f ( x 3 + h , y 3 + k1 h ) 2 2 1 1 k 2 = f (0.75 + (0.25) , 0.4752 + (−0.3029)(0.25)) 2 2 k 2 = f (0.875,0.4373)
  • 6. k 2 = 0.4373(0.875) 2 − 1.2(0.4373) k 2 = −0.1900 y 4 = 0.4752 + (−0.1900)0.25 y 4 = 0.4277 x4 = x3 + h x 4 = 0.75 + 0.25 x4 = 1 Vectores solución X 0 0.25 0.5 0.75 1 y 1 0.7483 0.5783 0.4752 0.4277 Algoritmo MATLAB- Segundo orden %Método Runge kutta de segundo orden x=0; y=1; t=0; tmax=1; h=0.25; iter=round ((tmax-t)/h); vectory=y; vectort=t; for i=1:iter %Cálculo de las constantes de Runge-kutta K1=(y*(t^2))-(1.2*y); K2=(y+(K1/2)*h)*(t+(h/2))^2-(1.2*(y+(K1/2)*h)); y=y+(K2*h); t=t+h; vectory=[vectory y]; vectort=[vectort t]; end vectory vectort subplot (1,1,1); plot(vectort,vectory,'b-p'); title('Método runge kutta segundo orden. y vs t'); xlabel ('valores t'); ylabel ('valores y');
  • 7. Runge –Kutta para tercer orden. Se resuelve el mismo problema anterior pero esta vez mediante el uso del método Runge kutta de tercer grado, de valor inicial, en el intervalo de x=0 a x=1. dy = yx 2 − 1.2 y dx Donde: y(0)=1 h = 0.25 Solución. En el método de Runge kutta de tercer orden se utilizan las siguientes formulas: 1 y i +1 = y i + (k 1 + 4k 2 + k 3 )h 6 k 1 = f(xi, y i )
  • 8. 1 1 k 2 = f(x i + h , y i + k 1 h) 2 2 k 3 = f(x i + h , y i −k 1 h + 2k 2 h)  Primera iteración k1 = f(x 0 , y 0 ) = f = (0 , 1) k1 = (1)(0) 2 − 1.2(1) k1 = −1.2 1 1 k 2 = f ( x0 + h , y 0 + k1 h) 2 2 1 1 k2 = f (0 + (0.25) , 1 + (−1.2)(0.25)) 2 2 k2 = f (0.125,0.85) k2 = 0.85(0.125) 2 − 1.2(0.85) k2 = −1.0067 k 3 = f(x o + h , y o −k 1 h + 2k 2 h) k 3 = f (0 + (0.25), (1) − (−1.2)(0.25) + 2(−1.0067)(0.25)) k 3 = f (0.25,0.7966) k 3 = 0.7966(0.25) 2 − 1.2(0.7966) k 3 = −0.9062 1 y1 = y 0 + (k 1 + 4k 2 + k 3 )h 6 y1 = 0.7445  Segunda iteración x1 = x0 + h x1 = 0 + 0.25 x1 = 0.25 k 1 = f(x 1 , y1 ) = f = (0.25 , 0.7445) k1 = (0.7445)(0.25) 2 − 1.2(0.7445) k1 = −0.8468 1 1 k 2 = f ( x1 + h , y1 + k1 h) 2 2
  • 9. 1 1 k 2 = f (0.25 + (0.25) , 0.7445 + (−0.8469)(0.25)) 2 2 k 2 = f (0.375,0.6386) k 2 = 0.6386(0.375) 2 − 1.2(0.6386) k 2 = −0.6765 k 3 = f(x 1 + h , y1 − k 1 h + 2k 2 h) k 3 = f (0.25 + (0.25), (0.7445) − (−0.8469)(0.25) + 2(−0.6765)(0.25)) k 3 = f (0.5,0.6178) k 3 = 0.6178(0.5) 2 − 1.2(0.6178) k 3 = −0.5870 1 y 2 = y1 + (k 1 + 4k 2 + k 3 )h 6 y 2 = 0.5720  Tercera iteración x 2 = x1 + h x 2 = 0.25 + 0.25 x 2 = 0 .5 k 1 = f(x 2 , y 2 ) = f = (0.5,0.5720) k1 = (0.5720)(0.5) 2 − 1.2(0.5720) k1 = −0.5434 1 1 k 2 = f ( x2 + h , y 2 + k1 h) 2 2 1 1 k2 = f (0.5 + (0.25) , 0.5720 + (−0.5434)(0.25)) 2 2 k2 = f (0.625,0.5041) k2 = 0.5041(0.625) 2 − 1.2(0.5041) k2 = −0.4080 k 3 = f(x 2 + h , y 2 − k 1 h + 2k 2 h) k 3 = f (0.5 + (0.25), (0.5720) − (−0.5434)(0.25) + 2(−0.4080)(0.25)) k 3 = f (0.75,0.5038) k 3 = 0.5038(0.75) 2 − 1.2(0.5038) k 3 = −0.3212
  • 10. 1 y 3 = y 2 + (k 1 + 4k 2 + k 3 )h 6 y 3 = 0.4679  Cuarta iteración x3 = x 2 + h x 3 = 0.5 + 0.25 x3 = 0.75 k 1 = f(x 3 , y 3 ) = f = (0.75,0.4679) k1 = (0.4679)(0.75) 2 − 1.2(0.4679) k1 = −0.2986 1 1 k 2 = f ( x3 + h , y 3 + k1 h ) 2 2 1 1 k2 = f (0.75 + (0.25) , 0.4679 + (−0.2983)(0.25)) 2 2 k2 = f (0.875,0.4306) k2 = 0.4306(0.875) 2 − 1.2(0.4306) k2 = −0.1871 k 3 = f(x 3 + h , y 3 − k 1 h + 2k 2 h) k 3 = f (0.75 + (0.25), (0.4679) − ( −0.2983)(0.25) + 2(−0.1871)(0.25)) k 3 = f (1,0.4489) k 3 = 0.4489(1) 2 − 1.2(0.4489) k 3 = −0.0898 1 y 4 = y 3 + (k 1 + 4k 2 + k 3 )h 6 y 4 = 0.4206 x 4 = x3 + h x 4 = 0.75 + 0.25 x4 = 1 Vectores solución X 0 0.25 0.5 0.75 1 y 1 0.7445 0.5720 0.4679 0.4206
  • 11. Algoritmo MATLAB- Tercer orden %Método Runge-Kutta de 3er orden x=0; y=1; t=0; tmax=1; h=0.25; iter=(tmax-t)/h; vectory=y; vectort=t; for i=1:iter %Cálculo de las constantes de Runge-kutta K1=(y*(t^2))-(1.2*y); K2=(y+(K1/2)*h)*(t+(h/2))^2-(1.2*(y+(K1/2)*h)); K3=(y-(K1*h)+(2*K2*h))*((t+h)^2)-(1.2*((y-(K1*h)+(2*K2*h)))); y=y+((K1+(4*K2)+K3)/6)*h; t=t+h; vectory=[vectory,y]; vectort=[vectort,t]; end vectory vectort subplot (1,1,1); plot(vectort,vectory,'r-*'); title('Método runge kutta Tercer orden. y vs t'); xlabel ('valores t'); ylabel ('valores y');
  • 12. Aplicación Los métodos numéricos son técnicas, donde es posible resolver los problemas por medio de operaciones aritméticas, estos métodos implementan un buen numero de cálculos que son por demás demasiado lentos si se hacen manualmente, gastando mucha energía en la técnica misma de solución en vez de aplicarla sobre la definición del problema y su interpretación. El trabajo monótono que se hacia anteriormente al uso de la computadora, hace de importancia, el dominio de los métodos numéricos, los cuales se deben llevar a cabo en combinación con las capacidades y potencialidades de la programación de computadoras para de esa forma resolver los problemas de ingeniería mucho mas fácilmente y eficientemente. En general, estos métodos se aplican cuando se necesita un valor numérico como solución a un problema matemático, y los procedimientos "exactos" o "analíticos" (manipulaciones algebraicas, teoría de ecuaciones diferenciales, métodos de integración, etc.) son incapaces de dar una respuesta. Debido a ello, son procedimientos de uso frecuente por físicos e ingenieros, y cuyo desarrollo se ha visto
  • 13. favorecido por la necesidad de éstos de obtener soluciones, aunque la precisión no sea completa. Debe recordarse que la física experimental, por ejemplo, nunca arroja valores exactos sino intervalos que engloban la gran mayoría de resultados experimentales obtenidos, ya que no es habitual que dos medidas del mismo fenómeno arrojen valores exactamente iguales. Conclusión El estudio de los métodos numéricos, es muy útil y por ende importante para quien utilice esta herramientas para resolución de operaciones, las cuales se saben que pueden resultar complicadas, tediosas y largas, y por más que se dominen los métodos tradicionales, estos muchas veces pueden no ser suficientes, sin embargo esto no quiere decir que la operación sea imposible de solucionar, y es ahí donde los métodos numéricos se aplican, y facilitan es trabajo de cierta manera. Dentro del estudio de los métodos numéricos, se encuentran una gran variedad de aplicaciones como lo fue el descrito en el presente trabajo referido al método de runge kutta, que tiene como objetivo principal el análisis y solución de los problemas de valor inicial de ecuaciones diferenciales ordinarias, siendo estos una extensión del método de euler para resolver las, pero con un orden de exactitud mas alto que este, logrando así la exactitud del procedimiento sin requerir el cálculo de derivadas superiores Por tal razón se toma como un método de gran facilidad y rapidez lo que lo hace de gran importancia, ya que debido a estas características su implantación resulta mas cómoda y fácil de manejar, tomando en cuenta a la misma vez la utilización de su algoritmo resultando una gran ventaja a nivel de su desenvolvimiento en la programación en matlab. El mecanismo esta basado en la aplicación de ecuaciones matemáticas de gran facilidad de empleo, siendo esta otra característica positiva. Este método es de gran aplicabilidad en diversas áreas de la industria lo que lo hace muy usado en distintos niveles. Bibliografía Chapra, S y Canale, R (2003). Métodos numéricos para ingenieros. Editorial Macgraw Hill. Cuarta edición. México. Apellido,N (año). Titulo de oublicacion.Disponible en: www.jnhb.com. consultado:fecha