Metodos numericos

Páginas: 6 (1430 palabras) Publicado: 7 de diciembre de 2010
Análisis Numérico Carlos Armando De Castro Payares

Método de Runge-Kutta para Ecuaciones Diferenciales Uno de los métodos más utilizados para resolver numéricamente problemas de ecuaciones diferenciales ordinarias con condiciones iniciales es el método de RungeKutta de cuarto orden, el cual proporciona un pequeño margen de error con respecto a la solución real del problema y es fácilmenteprogramable en un software para realizar las iteraciones necesarias. El método de Runge-Kutta se utiliza para resolver ecuaciones diferenciales de la forma
dy (t ) = f (t , y ), dt y (t 0 ) = y 0

Y es sumamente útil para casos en los que la solución no puede hallarse por los métodos convencionales (como separación de variables). Hay variaciones en el método de RungeKutta de cuarto orden pero elmás utilizado es el método en el cual se elige un tamaño de paso h y un número máximo de iteraciones n tal que y 0 = y (t 0 ) k1 = h ⋅ f (t i , y i ) k ⎞ h ⎛ k 2 = h ⋅ f ⎜ t i + , yi + 1 ⎟ 2 2⎠ ⎝ k ⎞ h ⎛ k 3 = h ⋅ f ⎜ t i + , yi + 2 ⎟ 2 2⎠ ⎝ k 4 = h ⋅ f (t i + h, y i + k 3 ) Y se realiza la iteración
y i +1 = y i + 1 (k1 + 2k 2 + 2k 3 + k 4 ) 6

Para i = 0,…, n-1. La solución se da a lo largo delintervalo (to, to+ hn).

1

Análisis Numérico Carlos Armando De Castro Payares El algoritmo para el método de Runge-Kutta de cuarto orden en seudo código es el siguiente:

INICIO INPUT: Número de iteraciones n (o tamaño de paso h), punto inicial del intervalo a (punto final del intervalo b), condición inicial y (t0) = y0.
n = (b − a ) / h; t = t0 ; y = y0 ; OUTPUT (t , y )

PARA i = 1,…,n; k1 = h ⋅ f (t , y ); k ⎞ ⎛ h k 2 = h ⋅ f ⎜ t + , y + 1 ⎟; 2⎠ ⎝ 2 k ⎞ ⎛ h k 3 = h ⋅ f ⎜ t + , y + 2 ⎟; 2⎠ ⎝ 2 k 4 = h ⋅ f (t + h, y + k 3 ); y = y + (k1 + 2k 2 + 2k 3 + k 4 ); t = t + i ⋅ h; OUTPUT FIN PARA FIN (t , y )

2

Análisis Numérico Carlos Armando De Castro Payares Un software apropiado y muy útil además de fácil de programar es Matlab, con el cual resolveremos el siguienteejemplo: • Resolver numéricamente con 100 iteraciones en el intervalo [1, 100] la ecuación diferencial con condiciones iniciales dada a continuación:
t⋅ dy (t ) = sin( 4t ), dt y (1) = 0

Solución: Es claro que la ecuación diferencial dada no tiene una solución analítica exacta ya que al realizar separación de variables nos encontramos con una función que no posee antiderivada. Entonces tenemos quef (t , y ) = sin( 4t ) t

Un algoritmo en Matlab para realizar la iteración es el siguiente:
function [A]=RungeKutta4 n=100; a=1; b=100; t=1; y=0; h=(b-a)/n; X(1,1)=t; X(2,1)=y; for i=1:n; k1=h*sin(4*t)/t; k2=h*sin(4*(t+h/2))/(t+h/2); k3=h*sin(4*(t+h/2))/(t+h/2); k4=h*sin(4*(t+h))/(t+h); y=y+(k1+2*k2+2*k3+k4)/6; t=a+i*h; X(1,i+1)=t; X(2,i+1)=y; end spline3(X); A(:,1)=X(1,:) A(:,2)=X(2,:)

3 Análisis Numérico Carlos Armando De Castro Payares La gráfica del resultado que entrega el programa es la siguiente:
Interpolación por "splines" de orden 3. 0

-0.05

-0.1

-0.15

-0.2

-0.25

-0.3

-0.35

0

10

20

30

40

50

60

70

80

90

100



Resolver la ecuación diferencial
y ′ = 0.01 ⋅ (70 − y )(50 − y ) con y (0) = 0

con el método deRunge-Kutta de 4° orden con h = 0.5 en el intervalo [0, 20] y comparar con la solución exacta 1 − e −0.2t y (t ) = 350 7 − 5e −0.2t Solución: Para hallar la solución numérica por el método de Runge-Kutta de cuarto orden se elaboró un algoritmo en Matlab que grafica la solución numérica en rojo marcando los puntos con asteriscos y uniéndolos por medio de rectas y en la misma pantalla grafica lasolución exacta en azul. El programa también entrega una tabla que tiene el valor de t en la primera columna, el valor y* de la aproximación hallada numéricamente en la segunda columna, el valor de y exacto en la tercera columna, y el error absoluto | y-y*|. Todo lo anterior en el intervalo [0, 20].

4

Análisis Numérico Carlos Armando De Castro Payares El algoritmo en lenguaje Matlab es el...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Metodos numericos
  • Métodos Numéricos
  • Metodos numericos
  • Metodos numericos
  • Metodos numericos
  • Metodos Numericos
  • Metodos Numericos
  • metodos numericos

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS