20
Universidad Centroccidental “Lisandro Alvarado” Decanato de Agronomía Programa de Ingeniería Agroindustrial Núcleo Obelisco Integrantes: Fernández Eleana. Pacheco Karla. Varela Yohanna. Valdivieso Marta. Barquisimeto, 28 de enero del 2011

Método Runge Kutta. Computación Aplicada

Embed Size (px)

DESCRIPTION

Fundamento del método Runge kutta y ejercicios de 2do y 3er orden.

Citation preview

Page 1: Método Runge Kutta. Computación Aplicada

Universidad Centroccidental

“Lisandro Alvarado”

Decanato de Agronomía

Programa de Ingeniería Agroindustrial

Núcleo Obelisco

Integrantes:

Fernández Eleana.

Pacheco Karla.

Varela Yohanna.

Valdivieso Marta.

Barquisimeto, 28 de enero del 2011

Page 2: Método Runge Kutta. Computación Aplicada

Introducción.

Una ecuación diferencial es una ecuación en la que intervienen derivadas de una o

más funciones. Dependiendo del número de variables independientes respecto de las que

se deriva, las ecuaciones diferenciales se dividen en: Ecuaciones diferenciales ordinarias,

aquéllas que contienen derivadas respecto a una sola variable independiente. Y

Ecuaciones en derivadas parciales, aquéllas que contienen derivadas respecto a dos o más

variables. Las ecuaciones diferenciales son muy utilizadas en todas las ramas de

la ingeniería para el modelado de fenómenos físicos. Su uso es común tanto en ciencias

aplicadas, como en ciencias fundamentales como son la física, química, biología

o matemáticas.

La resolución de ecuaciones diferenciales es un tipo de problema matemático que

consiste en buscar una función que cumpla una determinada ecuación diferencial. Se

puede llevar a cabo mediante un método específico para la ecuación diferencial en

cuestión o mediante una transformada.

Como se dijo anteriormente, las ecuaciones diferenciales juegan un papel

importante en varias ramas del estudio práctico y experimental, teniendo como problema

que algunas ecuaciones no se pueden resolver exactamente, con lo cual hay que acudir a

métodos de aproximación para tener una idea general de la solución al problema. Entre

los métodos creados para la resolución de ecuaciones diferenciales por aproximación esta

el Método de Runge Kutta el cual se va a estudiar en el presente trabajo, mostrando su

fundamentación, aplicaciones y ejemplos de su estructura.

Page 3: Método Runge Kutta. Computación Aplicada

Método de 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 cual se puede considerar

como un método de Runge Kutta de primer orden, éste método logra la exactitud de una

serie de Taylor pero sin requerir el cálculo de derivadas superiores. Los Runge-Kutta no es

sólo un método sino una importante familia de métodos iterativos tanto implícitos como

explícitos para aproximar las soluciones de ecuaciones diferenciales ordinarias (E.D.O´s),

estas técnicas fueron desarrolladas alrededor de 1900 por los matematicos alemanes Carl

David Tolmé Runge y Martin Wilhelm Kutta.

Pasos para la resolución del método de Runge Kutta.

Definamos un problema de valor inicial como:

Entonces el método RK4 para este problema está dado por la siguiente ecuación:

Donde

Page 4: Método Runge Kutta. Computación Aplicada

Así, el siguiente valor (yn+1) es determinado por el presente valor (yn) mas el producto del

tamaño del intervalo (h) por una pendiente estimada. La pendiente es un promedio

ponderado de pendientes:

k1 es la pendiente al principio del intervalo;

k2 es la pendiente en el punto medio del intervalo, usando k1 para determinar el valor de y

en el punto usando el método de Euler

k3 es otra vez la pendiente del punto medio, pero ahora usando k2 para determinar el

valor de y

k4 es la pendiente al final del intervalo, con el valor de y determinado por k3

Promediando las cuatro pendientes, se le asigna mayor peso a las pendientes en el

punto medio:

Esta forma del método de Runge-Kutta, es un método de cuarto orden lo cual

significa que el error por paso es del orden de O(h5), mientras que el error total

acumulado tiene el orden O(h4).

Page 5: Método Runge Kutta. Computación Aplicada

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 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.

Versión en Segundo orden del método Runge kutta es la siguiente:

La versión de segundo orden de la ecuación es

Donde

Los valores de , y son evaluados al igualar el término de segundo

orden de la ecuación dada con la expansión de la serie de Taylor. Se desarrollan tres

ecuaciones para evaluar cuatro constantes desconocidas. Las tres ecuaciones son:

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:

Page 6: Método Runge Kutta. Computación Aplicada

Como se puede elegir un número infinito de valores para , hay un número

infinito de métodos Runge-Kutta de segundo orden.

Cada versión podría dar exactamente los mismos resultados si la solución de

la EDO fuera cuadrática, lineal o una constante.

Aplicación de Método del punto medio (Runge-Kutta de Segundo orden):

donde

Versión en tercer orden del método Runge Kutta:

Para 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:

Donde

Ejercicio de 2do Orden de Runge-Kutta

Page 7: Método Runge Kutta. Computación Aplicada

Algoritmo para Matlab

function w=RK_punto_medio(funcion, alfa,a,b,n)%RK_Punto_Medio('funtion',alfa,a,b,n)% funcion : Nombre de la función f(t,y) de la derivada% a,b : Extremos del intervalo. [a,b]% n : Numero de iteraciones. (para la partición)% alfa : Condición inicial en el instante t0=aw(1)=0.1;h=(b-a)/n;t(1)=0.2;%h=0.3;%n=7;for i=1:n t(i+1)=a+i*h; ftiwi=feval(funcion,t(i),w(i)); tih=t(i)+h/2; wih=w(i)+h/2*ftiwi; hf=feval(funcion,tih,wih); w(i+1)=w(i)+h*hf;enddisp([' t_i', 'w_i'])disp([t(1:n)',w(1:n)'])plot(t,w,'r',t,w,'*')

En el programa Matlab a través de este algoritmo se procedió a solucionar el siguiente

problema:

Resolver por medio del método Runge Kutta la siguiente ecuación:

Z=v^3-2*v*u^2;

Para resolver este problema matemáticamente las variables serán sustituidas donde:

w = v ; t = u

(Ver solución del ejercicio anexo N° 1)

En el programa se obtuvo el siguiente resultado:

» RK_Punto_Medio('fprima',0.1,0,2,7)

t_i w_i

Page 8: Método Runge Kutta. Computación Aplicada

0.2000 0.1000

0.2857 0.0936

0.5714 0.0842

0.8571 0.0621

1.1429 0.0341

1.4286 0.0139

1.7143 0.0057

ans =

Columns 1 through 7

0.1000 0.0936 0.0842 0.0621 0.0341 0.0139 0.0057

Column 8

0.0039

Grafica del ejercicio de 2do orden de Runge-Kutta:

Page 9: Método Runge Kutta. Computación Aplicada
Page 10: Método Runge Kutta. Computación Aplicada

Se realiza el ejercicio hasta n=7 (calculado al comienzo del ejercicio)

Page 11: Método Runge Kutta. Computación Aplicada

Ejercicio de 3er orden Runge-Kutta

Algoritmo para Matlab:

function w=RK_ORDEN3(funcion, alfa,a,b,n)%RK_Punto_Medio('funtion',alfa,a,b,n)% funcion : Nombre de la función f(t,y) de la derivada% a,b : Extremos del intervalo. [a,b]% n : Numero de iteraciones. (para la partición)% alfa : Condición inicial en el instante t0=aw(1)=1;h=(b-a)/n;t(1)=2;%h=0.3;%n=7;for i=1:n t(i+1)=a+i*h; k1=h*feval(funcion,t(i),w(i)); k2=h*feval(funcion,t(i)+h/2,w(i)+k1/2); k3=h*feval(funcion,t(i)+h,w(i)+2*k2-k1); w(i+1)=w(i)+1/6*(k1+4*k2-k1); enddisp([' t_i', 'w_i'])disp([t(1:n)',w(1:n)'])plot(t,w,'r',t,w,'*')

En el programa Matlab a través de este algoritmo se procedió a solucionar el siguiente

problema:

Resolver por medio del método Runge Kutta la siguiente ecuación

Z= 2*v^2*u-u^3

Para resolver este problema matemáticamente las variables serán sustituidas donde:

w = v ; t = u

(Ver solución del ejercicio en anexo N° 2)

Page 12: Método Runge Kutta. Computación Aplicada

En el programa se obtuvo el siguiente resultado:

t_i w_i

2.0000 1.0000

0.2857 -0.7243

0.5714 -0.6627

0.8571 -0.6283

1.1429 -0.6716

1.4286 -0.8100

1.7143 -0.9989

ans =

Columns 1 through 7

1.0000 -0.7243 -0.6627 -0.6283 -0.6716 -0.8100 -

0.9989

Column 8

-1.1488

Grafica del ejercicio de 3er orden de Runge-Kutta:

Page 13: Método Runge Kutta. Computación Aplicada

Solución ejercicio de Runge Kutta 3er orden

Page 14: Método Runge Kutta. Computación Aplicada
Page 15: Método Runge Kutta. Computación Aplicada
Page 16: Método Runge Kutta. Computación Aplicada

CONCLUSIÓN

Realizada la investigación se determino que El sistema de numeración es el

conjunto de símbolos empleados para la representación de cantidades, así como

las reglas que rigen dicha representación.

El sistema decimal que es uno de los denominados sistemas posicionales.

El Sistema binario que utiliza internamente el hardware de las

computadoras actuales.

El sistema de numeración Octal cuya base es 8

El hexadecimal que utiliza 16 símbolos para la representación de

cantidades.

Para la ejecución de estos programas se tiene que efectuar algunas

conversiones numéricas que son de decimal-binario (se divide el número entre

dos) y binario-decimal (se suma en el número binario las diversas posiciones que

contengan 1). Estos sistemas son necesarios para la utilización del Método

Runge- kutta y de la implementación en el computador. Tenemos entendido lo que

implica la informática en todo ello, debido a que engloba todos los pasos

necesarios para la implementación de sistemas numéricos al igual que tomamos

en cuenta algunas de las ecuaciones diferenciales.

Es necesario aprender de este tipo de temas para la aplicabilidad de la vida

cotidiana, así como también la aplicación de este método en procesos

agroindustriales así como en la solución de ciertos problemas o situaciones que se

presentan en la ingeniería moderna, debido a que hoy en día la tecnología avanza

a pasos agigantados, encontrándonos con programas y métodos nuevos que

permiten solucionar de manera eficiente, eficaz y rápidamente problemas

presentados en la cotidianidad.