Sunteți pe pagina 1din 35

INDICE

Contenido
INDICE ............................................................................................................................. 1
INTRODUCCION ............................................................................................................ 2
RESUMEN ....................................................................................................................... 3
CONTENIDO ................................................................................................................... 8
1

METODO DE RUNGE KUTTA ............................................................................. 8


1.1

Mtodo de RUNGE-KUTTA............................................................................. 8

1.2

PRIMER METODO DE RUNGE KUTTA ..................................................... 11

1.3

SEGUNDO METODO DE RUNGE KUTTA................................................ 12

1.4

EXTENSION DEL METODO DE RUNGE KUTTA .................................... 13

1.5

EJEMPLOS RESUELTOS .............................................................................. 14

1.5.1
RUNGE KUTTA PARA SEGUNDO ORDEN, MTODO PUNTO
MEDIO. .................................................................................................................. 14
1.5.2
2

RUNGE KUTTA PARA TERCER ORDEN. ........................................ 17

APLICACIONES A LA INGENIERIA CIVIL ..................................................... 20


2.1 APLICACIN DEL METODOD DE RUNGE KUTTA (TRANSITO DE
AVENIDAS)- HIDROLOGIA ................................................................................... 21

PROGRAMA EN MATLAB DEL METODO DE RUNGE KUTTA ................... 27


3.1

SOLUCION DEL EJERCICIO PLANTEADO EN EL PROGRAMA ........... 31

CONCLUSIONES .................................................................................................. 34

RECOMENDACIONES ........................................................................................ 35

INTRODUCCION
Dentro de la Ingeniera y otras ciencias hay diversos problemas que se formulan en
trminos de ecuaciones diferenciales .Por ejemplo ,trayectorias balsticas ,estudio de
redes elctricas , deformacin de vigas, estabilidad de aviones, teora de vibraciones y
otras aplicaciones de aqu la importancia de su solucin
En el presente trabajo

nos enfocaremos en la SOLUCION DE ECUACIONES

DIFERENCIALES ORDINARIAS DE PRIMER ORDEN-Mtodo de Runge kutta del curso de


Mtodos Numricos, que va dirigido primeramente al docente del curso y a los
colegas estudiantes

que llevan el curso ya mencionado, nuestro propsito es

desarrollar el tema de una forma breve y entendible claro est utilizando la


terminologa necesaria en este captulo, de igual manera se presenta algunos de
problemas con el procedimiento completo ,ordenado y de fcil entendimiento
.Tambin se presenta una aplicacin a la INGENIERIA CIVIL de este mtodo y
finalmente un programa en MATLAB.

Los Alumnos

RESUMEN
Cuando se desarrolla el mtodo de Euler para resolver la ecuacin diferencial de
primer orden
Y' = f(X, Y) (1)
Con la condicin inicial
Y(X0) = Y0 (2)
Consiste en aplicar repetidamente la frmula de recurrencia
Yn+1 = Yn + h f(Xn, Yn) donde n = 1, 2, 3, ... (3)
Para determinar la solucin de la ecuacin diferencial en X = X1, X2, X3, ...
Sustituyendo la funcin f(X,Y) dada en (1), en (3), se tiene que
Yn+1 = Yn + h Y'n (4)
Expresin que indica que el mtodo de Euler consiste grficamente, en ir de un valor
Yn conocido de la solucin de la ecuacin diferencial (1) en un punto, al siguiente por
medio de la tangente T1 a la curva integral Y = Y(X) en el mismo punto de la
solucin conocida, como se muestra en la siguiente figura.

De este planteamiento grfico puede verse que una mejor aproximacin a la solucin
de la ecuacin diferencial se obtendra si en vez de ir por la tangente T1 para
determinar la solucin en el siguiente Punto Pivote, se utiliza una secante con
pendiente igual al promedio de pendientes de la curva integral en los puntos
coordenados (Xn, Yn), (Xn+1, Yn+1) en donde Xn+1 y Yn+1 pueden estimarse con
el procedimiento normal de Euler, como se muestra en la siguiente grfica:

Con lo anterior se obtendra un mtodo mejorado de Euler con error del orden de
definido por la expresin

(5)

en donde f(Xn+1,

Yn+1) es el valor de la funcin f(X, Y) para:

X = Xn+1
Y = Yn + h f(Xn, Yn)
Observando las expresiones para resolver la ecuacin diferencial, puede decirse que
ambas consisten en aplicar la frmula de recurrencia

(6)

en donde
(7)

En el mtodo

de Euler y

(8)

En lo que
Y' = f(X, Y) (9)
En el mtodo

de Euler Mejorado.

Como se ve, estos mtodos tienen los siguientes puntos en comn:


1. son mtodos de un paso; para determinar yn+1 se necesita conocer
nicamente los valores de xn y yn del punto anterior.
2. no requieren evaluar ninguna derivada, sino nicamente valores de la funcin
f(x, y).
Estas caractersticas dan origen a una gran variedad de mtodos conocidos como de
runge-kutta la diferencia entre ellos cosiste en la forma como se define la funcin
que aparece en la expresin (6).
La ventaja de los mtodos de Runge-Kutta con respecto al uso de la serie de Taylor,
que es tambin un mtodo de un paso, est expresado en el punto (2) anterior; es
decir, los mtodos de Runge-Kutta requieren slo de la funcin f(X, Y) y de ninguna
derivada, mientras que la serie de Taylor s requiere de la evaluacin de derivadas.
Esto hace que, en la prctica, la aplicacin de los mtodos de Runge-Kutta sean ms
simples que el uso de la serie de Taylor.
Un mtodo de Runge-Kutta para resolver ecuaciones diferenciales ordinarias de primer
orden con error del orden de
, de uso tan frecuente que en la literatura sobre
mtodos numricos se le llama simplemente el Mtodo de Runge-Kutta, se dar a
conocer sin demostrar y consiste en aplicar la ecuacin de recurrencia (6) en donde la
funcin

est dada por la expresin:

(10)

En el cual

(11)

La ecuacin (10) se obtiene haciendo un promedio de las cuatro pendientes, k1, k2,
k3 y k4 a la curva integral, en forma semejante a como se procedi con las
pendientes de las tangentes T1 y T2 que dieron lugar a (5).

OBJETIVOS

Objetivo General
Aprender a resolver Ecuaciones Diferenciales lineales de primer orden a travs
del mtodo de Runge-Kutta.

Objetivos Especficos
Conocer ventajas y desventajas del mtodo.
Comparar el mtodo de Runge-Kutta con la solucin de la ecuacin resuelta
por mtodos de integracin.
Identificar la exactitud del mtodo.

CONTENIDO

1 METODO DE RUNGE KUTTA


El mtodo de Runge-Kutta es un mtodo genrico de resolucin
numrica de ecuaciones diferenciales.
El mtodo de Runge-Kutta no es slo un nico mtodo, sino una
importante familia de mtodos iterativos, tanto implcitos como
explcitos, para aproximar las soluciones de ecuaciones diferenciales
ordinarias (E.D.Os); estas tcnicas fueron desarrolladas alrededor de
1900 por los matemticos alemanes Carl David Tolm Runge y Martin
Wilhelm Kutta.

1.1 Mtodo de RUNGE-KUTTA


El mtodo de Runge Kutta es un mtodo numrico de resolucin de
ecuaciones diferenciales que surge como una mejora del mtodo de
Euler. El mtodo de Euler se puede considerar como un mtodo de
Runge Kutta de primer orden, el de Heun, es un mtodo de Runge Kutta
de orden dos.
Los mtodos de Runge-Kutta logran la exactitud del procedimiento de
una serie de Taylor sin requerir el clculo de derivadas superiores. Existen
muchas variaciones, pero todas se pueden denotar en la forma
generalizada de la ecuacin
yi + 1 = yi + F(xi,yi,h)h
Donde F(xi,yi,h) se conoce como la funcin incremento la cual puede
interpretarse como una pendiente representativa en el intervalo. La
funcin 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 evaluacin funcional, esta recurrencia hace que
los mtodos Runge-Kutta sean eficientes para la programacin. Existen
varios tipos de mtodos Runge-Kutta al emplear diferentes nmeros de
trminos en la funcin incremento como la especificada por n.
n = 1, es el mtodo de Euler. Una vez se elige n, se evalan las a, p y q al
igualar la funcin incremento a los trminos en la serie de expansin de
Taylor. La versin de segundo orden para la ecuacin en su forma
generalizada es:

Donde:

Los valores de a1, a2, p1 y q11 son evaluados al igualar el trmino de


segundo orden de la ecuacin dada con la expansin de la serie de
Taylor.
Desarrollando tres ecuaciones para evaluar las cuatro incgnitas:

Como se tienen tres ecuaciones con cuatro incgnitas se tiene que


suponer el valor de una de ellas. Suponiendo que se especific un valor
para a2, se puede resolver de manera simultnea el sistema de
ecuaciones obtenido:

Como se puede elegir un nmero infinito de valores para a2, hay un


nmero infinito de mtodos Runge-Kutta de segundo orden.
a2 = 1/2: Mtodo de Heun con un solo corrector, donde:

a2 = 1 : Mtodo del punto medio.

a2 = 2/3: Mtodo de Ralston.

Siguiendo el mismo razonamiento para n = 3, o sea, Runge-Kutta de


tercer orden, el resultado son seis ecuaciones con ocho incgnitas, por
lo tanto se deben suponer dos valores con antelacin para poder
desarrollar el sistema de ecuaciones. Una versin ampliamente usada
es:

ste es el ms popular de los mtodos Runge-Kutta de cuarto orden:

1.2 PRIMER METODO DE RUNGE KUTTA


Sea dado el punto

, es nuestro inters aproximar

en

dentro de la ecuacin diferencial ordinaria


Con tal propsito determinemos un punto intermedio

de

modo tal que reemplazando en las expresiones correspondientes,


tendremos que el predictor y corrector en dicho punto intermedio se
escribir:

Por lo cual, en el punto deseado su predictor y corrector ser:

Simplificaremos

el

proceso

de

clculo,

determinando

algunos

coeficientes adecuados, as:

Como podemos verificar, reemplazando de acuerdo a las condiciones


supuestas

De esta manera a partir de


en

en

es posible ubicar

mediante el primer mtodo de RUNGE KUTTA, por medio

de la determinacin de los coeficientes de K del modo siguiente

1.3 SEGUNDO METODO DE RUNGE KUTTA


En forma similar, se deduce un segundo mtodo en funcin al siguiente
sistema:

1.4 EXTENSION DEL METODO DE RUNGE KUTTA


Para ecuaciones diferenciales de segundo orden, como

Suele simplificarse su clculo efectuando el siguiente cambio de


variable:

De este modo, el sistema queda entonces reducido a:

Determinndose los coeficientes siguientes:

1.5 EJEMPLOS RESUELTOS


1.5.1 RUNGE KUTTA PARA SEGUNDO ORDEN, MTODO PUNTO MEDIO.
Resuelva el siguiente problema de valor inicial en el intervalo de x=0 a
x=1.
dy
dx

yx 2

1.2 y

Donde:
y(0)=1
h = 0.25
Solucin

yi
k1

yi

k 2h

f(xi, y i )

k 2 = f(x i

1
1
h , yi
k 1 h)
2
2

Primera iteracin
k1

f(x 0 , y 0 ) f

(0 , 1)

k1

(1)(0) 2

k1

1.2

1.2(1)

k2

1
1
h , y0
k1h)
2
2
1
1
f (0
(0.25) , 1
( 1.2)(0.25))
2
2
f (0.125,0.85)
0.85(0.125) 2 1.2(0.85)
1.006718

y1
y1

1 ( 1.006718)0.25
0.748320

k2
k2

k2
k2

f ( x0

Segunda iteracin
x1

x0

x1
x1

0 0.25
0.25

k1

f(x1 , y1 ) f

k1

(0.748320)(0.25) 2

k1
k2

k2
k2

k2
y2
y2

(0.25 , 0.748320)
1.2(0.748320)

0.851432
1
1
(0.25) , 0.748320
( 0.851432)(0.25))
2
2
f (0.375,0.641891)
0.641891(0.375) 2 1.2(0.641891)
0.680003
0.748320 ( 0.680003)0.25
0.578319
f (0.25

Tercera iteracin

x2
x2
x2

x1 h
0.25 0.25
0.5

k1

f(x 2 , y 2 ) f

k1

(0.578319)(0.5) 2

k1

0.549403

k2

f ( x2

(0.5,0.578319)

1
h , y2
2

1.2(0.578319)

1
k1 h )
2

k2

1
1
(0.25) , 0.578319
( 0.549403)(0.25))
2
2
f (0.625,0.509643)
0.509643(0.625) 2 1.2(0.509643)
0.4125

y3

0.578319

y3

0.4752

k2

k2
k2

f (0.5

( 0.4125)0.25

Cuarta iteracin
x3

x2

x3

0.5 0.25

x3

0.75

k1

f(x 3 , y 3 ) f

(0.75,0.4752)

(0.4752)(0.75)

k1

k1

1.2(0.4752)

k2

0.3029
1
1
f ( x3
h , y3
k1h)
2
2
1
f (0.75
(0.25) , 0.4752
2
f (0.875,0.4373)

k2

0.4373(0.875) 2

k2
k2

k2

1
( 0.3029)(0.25))
2

1.2(0.4373)

0.1900

y4
y4

0.4752 ( 0.1900)0.25
0.4277

x4

x3

x4 0.75 0.25
x4 1
Vectores solucin
X 0 0.25
0.5
0.75
1
y 1 0.7483 0.5783 0.4752 0.4277

1.5.2 RUNGE KUTTA PARA TERCER ORDEN.


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

dy
dx

yx 2

1.2 y

Donde:
y(0)=1
h = 0.25
Solucin.
En el mtodo de Runge kutta de tercer orden se utilizan las siguientes
formulas:
yi

yi

1
(k 1
6

4k 2

k 3 )h

k1

f(xi, y i )
1
1
k 2 = f(x i
h , yi
k 1 h)
2
2
k 3 f(x i h , y i k 1h 2k 2 h)
Primera iteracin
k1

f(x0 , y 0 ) f

k1

(1)(0) 2

k1

1.2

(0 , 1)

1.2(1)

k2

1
1
h , y0
k1h)
2
2
1
1
f (0
(0.25) , 1
( 1.2)(0.25))
2
2
f (0.125,0.85)
0.85(0.125) 2 1.2(0.85)
1.0067

k3

f(x o

k3

f (0 (0.25), (1) ( 1.2)(0.25) 2( 1.0067)(0.25))

k3

f (0.25,0.7966)

k3

0.7966(0.25) 2 1.2(0.7966)

k2
k2

k2
k2

f ( x0

h , y o k 1h 2k 2 h)

k3

y1

y1

0.9062

1
(k 1
6
0.7445
y0

4k 2

k 3 )h

Segunda iteracin
x1

x0

x1
x1

0 0.25
0.25

k1

f(x1 , y1 ) f

k1

(0.7445)(0.25) 2

k1

(0.25 , 0.7445)
1.2(0.7445)

0.8468

k2

1
1
h , y1
k1 h )
2
2
1
1
f (0.25
(0.25) , 0.7445
( 0.8469)(0.25))
2
2
f (0.375,0.6386)
0.6386(0.375) 2 1.2(0.6386)
0.6765

k3

f(x1 h , y1 k 1h 2k 2 h)

k3

f (0.25 (0.25), (0.7445) ( 0.8469)(0.25) 2( 0.6765)(0.25))

k3

f (0.5,0.6178)

k3

0.6178(0.5) 2 1.2(0.6178)

k2
k2

k2
k2

k3
y2

y2

f ( x1

0.5870
1
(k 1
6
0.5720

y1

4k 2

k 3 )h

Tercera iteracin

x2
x2
x2

x1 h
0.25 0.25
0.5

k1
k1

k1

f(x 2 , y 2 ) f

(0.5,0.5720)

(0.5720)(0.5)

1.2(0.5720)

0.5434

k2

1
1
h , y2
k1 h )
2
2
1
1
f (0.5
(0.25) , 0.5720
( 0.5434)(0.25))
2
2
f (0.625,0.5041)
0.5041(0.625) 2 1.2(0.5041)
0.4080

k3

f(x 2

k3

f (0.5 (0.25), (0.5720) ( 0.5434)(0.25) 2( 0.4080)(0.25))

k3

f (0.75,0.5038)

k3

0.5038(0.75) 2 1.2(0.5038)

k2

k2

k2
k2

k3

f ( x2

h , y2

k 1h 2k 2 h)

0.3212
1
(k 1
6

y3

y2

y3

0.4679

4k 2

k 3 )h

Cuarta iteracin
x3

x2

x3

0.5 0.25

x3

0.75

k1

f(x 3 , y 3 ) f

k1

(0.4679)(0.75) 2

k1

(0.75,0.4679)
1.2(0.4679)

0.2986

k2

1
1
h , y3
k1 h )
2
2
1
1
f (0.75
(0.25) , 0.4679
( 0.2983)(0.25))
2
2
f (0.875,0.4306)
0.4306(0.875) 2 1.2(0.4306)
0.1871

k3

f(x 3

k3

f (0.75 (0.25), (0.4679) ( 0.2983)(0.25) 2( 0.1871)(0.25))

k2
k2

k2
k2

f ( x3

h , y3

k 1h 2k 2 h)

k3

f (1,0.4489)

k3

0.4489(1) 2 1.2(0.4489)

k3

0.0898

y4

1
(k 1
6
0.4206

x4

x3

x4
x4

0.75 0.25
1

y4

y3

4k 2

k 3 )h

Vectores solucin
X 0 0.25
0.5
0.75
1
y 1 0.7445 0.5720 0.4679 0.4206

2 APLICACIONES A LA INGENIERIA CIVIL


El estudio de los mtodos numricos, es muy til y por ende importante
para quien utilice esta herramientas para resolucin de operaciones, las
cuales se saben que pueden resultar complicadas, tediosas y largas, y
por ms que se dominen los mtodos tradicionales, estos muchas veces
pueden no ser suficientes, sin embargo esto no quiere decir que la
operacin sea imposible de solucionar, y es ah donde los mtodos
numricos se aplican, y facilitan es trabajo de cierta manera.
Dentro del estudio de los mtodos numricos, se encuentran una gran
variedad de aplicaciones como lo fue el descrito en el presente trabajo
referido al mtodo de runge kutta, que tiene como objetivo principal el
anlisis y solucin de los problemas de valor inicial de ecuaciones
diferenciales ordinarias, siendo estos una extensin del mtodo de euler
para resolver las, pero con un orden de exactitud mas alto que este,
logrando as la exactitud del procedimiento sin requerir el clculo de
derivadas superiores Por tal razn se toma como un mtodo de gran
facilidad y rapidez lo que lo hace de gran importancia, ya que debido

a estas caractersticas su implantacin resulta mas cmoda y fcil de


manejar, tomando en cuenta a la misma vez la utilizacin de su
algoritmo resultando una gran ventaja a nivel de su desenvolvimiento
en la programacin en matlab. El mecanismo esta basado en la
aplicacin de ecuaciones matemticas de gran facilidad de empleo,
siendo esta otra caracterstica positiva. Este mtodo es de gran
aplicabilidad en diversas reas de la industria lo que lo hace muy usado
en distintos niveles.

2.1 APLICACIN DEL METODOD DE RUNGE KUTTA (TRANSITO DE


AVENIDAS)- HIDROLOGIA
METODO DE RUNGE-KUTTA
Para la circulacin de avenidas a travs de embalses bajo el supuesto
de superficie libre horizontal, puede establecerse un mtodo alternativo
al anteriormente descrito resolviendo la ecuacin de continuidad
mediante un mtodo numrico como el de Runge-Kutta. Este mtodo
no requiere el clculo de la funcin especial 2S/t+Q versus Q, y se
aproxima ms a la hidrulica de la circulacin de flujos a travs de
embalses. Existen diversos rdenes de esquemas de Runge-Kutta, con
mucho, el ms til y empleado el cuarto orden.
La ecuacin de continuidad puede expresarse como

En donde
S: Volumen de agua almacenado.
I(t): Aporte que entra al embalse, funcin del tiempo.
Q(y): descarga evacuada por el aliviadera o estructura de
desage, determinada por la carga o calado.

El mtodo de Runge-Kutta aproxima el valor de la funcin y sobre un


intervalo de tiempo, t, mediante un desarrollo en serie de Taylor.

Que es la aproximacin de Runge-Kutta de cuarto orden, por esta


precisin, en la que el termino de error ser 0 (t5)
METODO DE RUNGE-KUTTA

HIDROGRAMA DE SALIDA
TIEMPO

ELEVACION CAUDAL TIEMPO

ELEVACION CAUDAL

(min.)

(m.)

(m3/s)

(min.)

(m.)

(m3/s)

15

353.511

255

355.726

87.17

30

353.537

270

355.783

97.71

45

353.578

285

355.817

104.15

60

353.636

300

355.831

106.7

75

353.718

325

355.829

106.35

90

353.827

330

355.817

104.08

105

353.965

345

355.798

100.36

120

354.132

360

355.773

95.8

135

354.324

375

355.743

90.29

150

354.539

390

355.708

83.95

165

354.763

405

355.671

77.46

180

354.985

420

355.632

70.81

195

355.195

12.15

435

355.593

64.28

210

355.377

32.75

450

355.555

58.39

225

355.527

53.96

465

355.52

52.88

240

355.642

72.51

480

355.488

48.09

Nota: SE ANEXA UN ARCHIVO EN EXCEL EN EL CD


EJERCICIO 2:
Aplicando el mtodo de Runge-Kutta resolver un problema de
ecuaciones diferenciales lineales de primer orden con aplicacin de
ingenieras.
Para problemas de ingeniera tenemos el caso de un tanque con
problema de mezclas de soluciones salinas:
Consideremos un depsito que contiene 50lts de agua con 75 gr de sal
disueltos. En un determinado instante comienza a entrar agua salada a
razn de 2 lts/min, con una concentracin de 3 gr/lts de sal, mientras
que el agua, perfectamente mezclada, sale del depsito a razn de 2
lts/min. En la imagen anterior se plantea el problema.
Llamemos

a la cantidad de sal en el depsito en el instante t.

Notemos que el volumen de agua en el depsito es siempre de 50 litros,

ya que en cada instante entran dos litros y salen otros dos. Por tanto, la
concentracin de sal en cada instante ser de

La velocidad

de variacin de la concentracin de sal viene dada por

, que se

expresa en gr/min.
Por un lado, el aporte de sal por minuto al depsito ser de:

Mientras que la tasa de prdida de sal es de:

La variacin total de la concentracin de sal viene dada por la


diferencia entre el aporte y la prdida de sal. Obtenemos as la siguiente
ecuacin diferencial:

Ya entonces teniendo las condiciones iniciales sabiendo que


osea:

Sabiendo esto vamos a determinar la cantidad de sal disuelta en el


tanque cuando el t= 60min aumentando desde el t inicial=0 con un
h=5min
Sabiendo esto procedemos a hallar
Donde

Donde

Donde

Donde

Por lo tanto

Y as sucesivamente hasta llegar hasta


Pero para facilitar este mtodo se realiza a travs de la herramienta
Excel realizando una simple tabla que contenga el mtodo dicha tabla
se anexara en el trabajo.
ANEXOS CALCULOS DE METODO DE RUNGE KUTTA
Se anexa tambin para comparar la efectividad del mtodo la solucin
de la ecuacin
luego de haber sido integrada
y los valores resueltos, al comparar esto nos podemos dar cuenta que
son mnimas las diferencias y que el mtodo es efectivo y ser aun ms
efectivo si se escoge un incremento (h) ms pequeo.

Resolver mediante el mtodo de Runge Kutta


la siguiente ecuacin:

t(min)
0
5
10
15
20
25
30
35
40
45
50
55
60

t(min)
s(t) (gr)
h(min)

0
75
5

s(t) (gr)

k1

75
88,8225
100,097513
109,294542
116,796558
122,915952
127,907542
131,979182
135,300419
138,009552
140,219391
142,021957
143,492311

3
2,4471
1,99609947
1,62821834
1,3281377
1,08336192
0,88369832
0,72083272
0,58798325
0,47961794
0,39122435
0,3191217
0,26030757

k2
2,7
2,20239
1,79648952
1,4653965
1,19532393
0,97502573
0,79532849
0,64874945
0,52918492
0,43165614
0,35210192
0,28720953
0,23427682

k3
2,73
2,226861
1,81645052
1,48167869
1,20860531
0,98585935
0,80416547
0,65595777
0,53506476
0,43645232
0,35601416
0,29040075
0,23687989

k4
2,727
2,2244139
1,81445442
1,48005047
1,20727717
0,98477599
0,80328177
0,65523694
0,53447677
0,4359727
0,35562293
0,29008163
0,23661958

3 PROGRAMA EN MATLAB DEL METODO DE RUNGE KUTTA


DIAGRAMA DE FLUJO DEL PROGRAMA DE RUNGE KUTTA

INICIO

Ingreso

Computar

Iniciar datos

Mostrar

Incrementar

Fin

Runge Kutta Organizador:


%
%
%
%
%
%

METODO DE
ord
:
funcion :
xo, yo :
h
:
n
:

RUNGE KUTTA
Orden del metodo
Nombre de la funcin f(x,y) de la derivada
condiciones iniciales
tamao del paso
Numero de iteraciones. (para la particin)

disp ('METODO DE RUNGE KUTTA')


disp ('---------------------')
disp ('1 Metodo de Primer Orden')
disp ('2 Metodo de Primer Orden')
disp ('3 Metodo de Primer Orden')
disp ('4 Metodo de Primer Orden')
disp ('5 Comparacion')
disp ('0 Salir')
ord = input ('Elija Orden:');
if ord~=0
xo = input ('Ingrese valor inicial de x:');
yo = input ('Ingrese valor inicial de y:');
h = input ('Ingrese los incrementos h:');
n = input ('Ingrese el numero de iteraciones n:');
switch ord
case 1
RK_primer_orden('funcion',xo,yo,h,n)
case 2
RK_segundo_orden('funcion',xo,yo,h,n)
case 3
RK_tercer_orden('funcion',xo,yo,h,n)
case 4
RK_cuarto_orden('funcion',xo,yo,h,n)
case 5
hold all
RK_primer_orden('funcion',xo,yo,h,n)
RK_segundo_orden('funcion',xo,yo,h,n)
RK_tercer_orden('funcion',xo,yo,h,n)
RK_cuarto_orden('funcion',xo,yo,h,n)
title('METODO DE RUNGE KUTTA COMPARACION');
hleg1 = legend('RK 1er Ord','RK 2do Ord','RK 3er Ord','RK
4to Ord');
end
end
disp ('Finalizado')

Funcin:
function f=funcion (x,y)
f=2*x*y;

Runge Kutta de 1er Orden:


function RK_primer_orden(funcion,xo,yo,h,n)
% RK_primer_orden('funcion',xo,yo,h,n)
% funcion : Nombre de la funcin f(x,y) de la derivada
% xo, yo : condiciones iniciales
% h
: tamao del paso
% n
: Numero de iteraciones. (para la particin)
yn=yo;
xn=xo;

vectx = zeros(1, n+1);


vecty = zeros(1, n+1);
vectx(1)=xn;
vecty(1)=yn;
for i=1:n
xn1=xn+h;
k1=h*feval(funcion,xn,yn);
yn1=yn+k1;
vectx(i+1)=xn1;
vecty(i+1)=yn1;
xn=xn1;
yn=yn1;
end
disp('METODO DE RUNGE KUTTA DE PRIMER ORDEN')
disp(['
Iter ','
x
','
y
'])
disp(['
------','
------','
------'])
disp([(0:n)',vectx(1:i+1)',vecty(1:i+1)'])
subplot (1,1,1);
plot(vectx,vecty,'-r+','LineWidth',2,'MarkeredgeColor','r','MarkerSize',10);
title('METODO DE RUNGE KUTTA DE PRIMER OREDEN');
xlabel ('valores x');
ylabel ('valores y');
grid on

Runge Kutta de 2do Orden:


function w=RK_segundo_orden(funcion,xo,yo,h,n)
% RK_segundo_orden('funcion',xo,yo,h,n)
% funcion : Nombre de la funcin f(x,y) de la derivada
% xo, yo : condiciones iniciales
% h
: tamao del paso
% n
: Numero de iteraciones. (para la particin)
yn=yo;
xn=xo;
vectx = zeros(1, n+1);
vecty = zeros(1, n+1);
vectx(1)=xn;
vecty(1)=yn;
for i=1:n
xn1=xn+h;
k1=h*feval(funcion,xn,yn);
k2=h*feval(funcion,(xn+0.5*h),(yn+0.5*k1));
yn1=yn+k2*h;
vectx(i+1)=xn1;
vecty(i+1)=yn1;
xn=xn1;
yn=yn1;
end
disp('METODO DE RUNGE KUTTA DE SEGUNDO ORDEN')
disp(['
Iter ','
x
','
y
'])
disp(['
------','
------','
------'])
disp([(0:n)',vectx(1:i+1)',vecty(1:i+1)'])
subplot (1,1,1);

plot(vectx,vecty,'-go','LineWidth',2,'MarkeredgeColor','g','MarkerSize',10);
title('METODO DE RUNGE KUTTA DE SEGUNDO OREDEN');
xlabel ('valores x');
ylabel ('valores y');
grid on

Runge Kutta de 3er Orden:


function w=RK_tercer_orden(funcion,xo,yo,h,n)
% RK_TERCER_orden('funcion',xo,yo,h,n)
% funcion : Nombre de la funcin f(x,y) de la derivada
% xo, yo : condiciones iniciales
% h
: tamao del paso
% n
: Numero de iteraciones. (para la particin)
yn=yo;
xn=xo;
vectx = zeros(1, n+1);
vecty = zeros(1, n+1);
vectx(1)=xn;
vecty(1)=yn;
for i=1:n
xn1=xn+h;
k1=h*feval(funcion,xn,yn);
k2=h*feval(funcion,(xn+0.5*h),(yn+0.5*k1));
k3=h*feval(funcion,(xn+0.5*h),(yn+0.5*k2));
yn1=yn+(k1+4*k2+k3)/6;
vectx(i+1)=xn1;
vecty(i+1)=yn1;
xn=xn1;
yn=yn1;
end
disp('METODO DE RUNGE KUTTA DE TERCER ORDEN')
disp(['
Iter ','
x
','
y
'])
disp(['
------','
------','
------'])
disp([(0:n)',vectx(1:i+1)',vecty(1:i+1)'])
subplot (1,1,1);
plot(vectx,vecty,'-b*','LineWidth',2,'MarkeredgeColor','b','MarkerSize',10);
title('METODO DE RUNGE KUTTA DE TERCER OREDEN');
xlabel ('valores x');
ylabel ('valores y');
grid on

Runge Kutta de 4to Orden:


function w=RK_cuarto_orden(funcion,xo,yo,h,n)
% RK_cuarto_orden('funcion',xo,yo,h,n)
% funcion : Nombre de la funcin f(x,y) de la derivada
% xo, yo : condiciones iniciales
% h
: tamao del paso
% n
: Numero de iteraciones. (para la particin)
yn=yo;
xn=xo;
vectx = zeros(1, n+1);
vecty = zeros(1, n+1);

vectx(1)=xn;
vecty(1)=yn;
for i=1:n
xn1=xn+h;
k1=h*feval(funcion,xn,yn);
k2=h*feval(funcion,(xn+0.5*h),(yn+0.5*k1));
k3=h*feval(funcion,(xn+0.5*h),(yn+0.5*k2));
k4=h*feval(funcion,(xn+h),(yn+k3));
yn1=yn+(k1+2*k2+2*k3+k4)/6;
vectx(i+1)=xn1;
vecty(i+1)=yn1;
xn=xn1;
yn=yn1;
end
disp('METODO DE RUNGE KUTTA DE CUARTO ORDEN')
disp(['
Iter ','
x
','
y
'])
disp(['
------','
------','
------'])
disp([(0:n)',vectx(1:i+1)',vecty(1:i+1)'])
subplot (1,1,1);
plot(vectx,vecty,'-kx','LineWidth',2,'MarkeredgeColor','k','MarkerSize',10);
title('METODO DE RUNGE KUTTA DE CUARTO OREDEN');
xlabel ('valores x');
ylabel ('valores y');
grid on

3.1 SOLUCION DEL EJERCICIO PLANTEADO EN EL PROGRAMA

PARA:
x=0, y=1, h=0.1, n=5

>> RUNGEKUTTA
METODO DE RUNGE KUTTA
--------------------1 Metodo de Primer Orden
2 Metodo de Primer Orden
3 Metodo de Primer Orden
4 Metodo de Primer Orden
5 Comparacion
0 Salir
Elija Orden:5
Ingrese valor inicial de x:0
Ingrese valor inicial de y:1
Ingrese los incrementos h:0.1
Ingrese el numero de iteraciones n:5
METODO DE RUNGE KUTTA DE PRIMER ORDEN
Iter x
y
------ ------ ------

0
1.0000
2.0000
3.0000
4.0000
5.0000

0 1.0000
0.1000 1.0000
0.2000 1.0200
0.3000 1.0608
0.4000 1.1244
0.5000 1.2144

METODO DE RUNGE KUTTA DE SEGUNDO ORDEN


Iter x
y
------ ------ -----0
0 1.0000
1.0000 0.1000 1.0010
2.0000 0.2000 1.0040
3.0000 0.3000 1.0092
4.0000 0.4000 1.0164
5.0000 0.5000 1.0259
METODO DE RUNGE KUTTA DE TERCER ORDEN
Iter x
y
------ ------ -----0
0 1.0000
1.0000 0.1000 1.0083
2.0000 0.2000 1.0372
3.0000 0.3000 1.0882
4.0000 0.4000 1.1646
5.0000 0.5000 1.2711
METODO DE RUNGE KUTTA DE CUARTO ORDEN
Iter x
y
------ ------ -----0
0 1.0000
1.0000 0.1000 1.0101
2.0000 0.2000 1.0408
3.0000 0.3000 1.0942
4.0000 0.4000 1.1735
5.0000 0.5000 1.2840
Finalizado

RESULTADO:

4 CONCLUSIONES
El mtodo RUNGE-KUTA es un conjunto de mtodos iterativos
para la aproximacin de ecuaciones diferenciales ordinarias que
derivan del mtodo de Taylor.
El mtodo de RUNGE-KUTTA tiene variantes variando en la
exactitud de la solucin
La efectividad o exactitud del mtodo consiste en saber escoger
un buen incremento.
Se pueden resolver ecuaciones diferenciales sin tener necesidad
de resolver las integrales a dicha ecuacin solo se necesita
conocer una pendiente hallada a travs de la ecuacin
.
El mtodo de Runge Kutta se utiliza para determinar costos,
volmenes bajos aislados, productos de alto valor agregado,
control de movimientos, control de procesos, dimensiones de
espacio, entre otras

5 RECOMENDACIONES
Es bueno reconocer los tipos de este mtodo para poder resolver
los diferentes problemas que se nos presente
Reconocer los datos para su fcil resolucin
Saber cmo es el mtodo TAYLOR , saber utilizarlos ya que nos
ayudara en la variante de cuarto orden
Saber tambin el mtodo de EULER ya que se usa en una de la
variante de este mtodo que estamos explicando

S-ar putea să vă placă și