Está en la página 1de 13

MÉTODOS NUMÉRICOS

ECUACIONES DIFERENCIALES ORDINARIAS


INTRODUCCIÓN

Los Métodos Numéricos presentan soluciones de Ecuaciones Diferenciales sólo aproximadas, pero con una
precisión que puede ser suficiente para los cálculos de ingeniería. Sin embargo, para aplicar estos métodos, es
necesario conocer un punto que satisfaga a la Ecuación.

MÉTODO DE PICARD:

En este método, inicialmente se asume que x = x 0; y = y0 y se usa la fórmula siguiente:

EJEMPLO 1: resolver la E.D. y’ = y + 2x en el punto P0(0,1), hallar yn(0.2), con una precisión menor a 1x10-5.

PRÁCTICA 1: resolver la E.D. y’ = (x + 2y)1/2 en el punto P0(3,2), hallar yn(1) con e < 1x10-6.

MÉTODO DE LA SERIE DE TAYLOR:

Este método se basa en el desarrollo de funciones por Series de Taylor y tiene la fórmula siguiente:

EJEMPLO 2: usando la E.D. del ejemplo 1, resolver por este método y hallar y n(1).

PRÁCTICA 2: resolver la E.D. y’ = (x + y)1/2 en el punto P0(1,3), hallar yn(2) con e <

1x10-6. MÉTODO DE EULER:

Este método posee la ventaja de su simplicidad, aunque sus resultados no son todo lo precisos que se pueda
esperar; tiene la fórmula:

Donde:

EJEMPLO 3: usando la E.D. del ejemplo 1, resolver por este método y hallar y n(1), para n = 0 hasta n = 5.

PRÁCTICA 3: resolver la E.D. del ejemplo 3 de n = 0 hasta n = 10.

Luis Cabezas Tito Métodos Numéricos Página 1


MÉTODO DE EULER MEJORADO O MÉTODO DE HEUN:

Debido a la escasa aproximación que brinda el Método de Euler, se introduce una corrección, que permite
mejorar su precisión.

Donde:

EJEMPLO 4: usando la E.D. del ejemplo 1, resolver por este método y hallar y n(1), para n = 0 hasta n = 5.

PRÁCTICA 4: resolver la E.D. del ejemplo 4 de n = 0 hasta n = 10.

MÉTODO DE RUNGE – KUTTA O MÉTODO DE KUTTA - SIMPSON:

Este es el método de resolución de E.D. por excelencia, permitiendo una mayor precisión y por ello es el más
usado.

Donde:

EJEMPLO 5: usando la E.D. del ejemplo 1, resolver por este método para x = 1.

PRÁCTICA 5: resolver la E.D. y’ = (x + 2y)1/2, P0 = (0.3,0.17); x = 0.5.

OPTIMIZACIÓN DEL MÉTODO DE RUNGE – KUTTA:

Una alternativa para mejorar más aún la excelente precisión que brinda el Método de Runge – Kutta consiste
en hacer una aproximación mediante pasos sucesivos.

En particular esta optimización es conveniente cuando el valor de x 0 conocido dista bastante, en forma
relativa, del valor de x para el que se desea calcular.
MÉTODO DE MILNE:

Todos los Métodos anteriormente analizados son Métodos de sólo UN PASO, ya que en el cálculo de la
siguiente aproximación yn+1 se usa solamente la aproximación anterior: y n. Los métodos de pasos múltiples,
para el cálculo de la siguiente aproximación: y n+1 usan dos o más aproximaciones anteriores: y n, yn-1, yn-2, etc.

El principal método de pasos múltiples es el Método de Milne que usa DOS PASOS, mediante la fórmula:

[ ]

EJEMPLO 6: usando la E.D. del ejemplo 1, resolver por este método para P 0(0,1); x = 1.

Donde h = (x – x0)/n

Aplicando el Método de Milne, elaborar la siguiente tabla para n = 10:

n xn yn
0 0
1 0.1
2 0.2
3 0.3
4 0.4
5 0.5
6 0.6
7 0.7
8 0.8
9 0.9
10 1.0

PRÁCTICA 6: resolver la E.D. y’ = (x + 2y)1/2, P0 = (0.3, 0.17); x = 0.5.

RESOLUCÍON DE ECUACIONES DIFERENCIALES CON MATLAB

EJEMPLO 7: determinar la solución de la ecuación diferencial:

SOLUCIÓN:

Crear un archivo m o script con los siguientes datos:

function sol=ejemplo(x,y)
sol = x-y;

El intervalo de trabajo será [0 1].


La condición inicial y0 = 2.

Escribir en el workspace de MATLAB:

>> [x,y]=ode45('ejemplo',[0 1],2)

x=

0
0.0250
0.0500
0.0750
0.1000
0.1250
0.1500
0.1750
0.2000
0.2250
0.2500
0.2750
0.3000
0.3250
0.3500
0.3750
0.4000
0.4250
0.4500
0.4750
0.5000
0.5250
0.5500
0.5750
0.6000
0.6250
0.6500
0.6750
0.7000
0.7250
0.7500
0.7750
0.8000
0.8250
0.8500
0.8750
0.9000
0.9250
0.9500
0.9750
1.0000
y=

2.0000
1.9509
1.9037
1.8582
1.8145
1.7725
1.7321
1.6934
1.6562
1.6205
1.5864
1.5537
1.5225
1.4926
1.4641
1.4369
1.4110
1.3863
1.3629
1.3407
1.3196
1.2997
1.2808
1.2631
1.2464
1.2308
1.2161
1.2025
1.1898
1.1780
1.1671
1.1571
1.1480
1.1397
1.1322
1.1256
1.1197
1.1146
1.1102
1.1066
1.1036

MÉTODO DE EULER:

EJEMPLO 8: resuelva el siguiente problema de valor inicial por método de Euler:


SOLUCIÓN:

Para resolver la ecuación diferencial dada, se utilizará n = 5 que es el número de franjas.

Crear un script o archivo m con los siguientes comandos.

function valor = Der_Euler(x,y)


valor = x-y;

ejecutar el siguiente archivo Euler_L:

>> Euler_L

METODO DE EULER
Arch. Ecuación ? Der_Euler
Punto Inicial ? 0
Condicion Inicial ? 2
Punto Final ?1
Nro Intérvalos ? 5
Ver Grafica (s/n) ? s

SOLUCION
num xf yf
0 0.00000 2.00000
1 0.20000 1.60000
2 0.40000 1.32000
3 0.60000 1.13600
4 0.80000 1.02880
5 1.00000 0.98304

ans =

0.9830
PRÁCTICA 7: resuelva el siguiente problema de valor inicial, para el intervalo que va de x = 0 a x = 2. Graficar
los datos obtenidos.

MÉTODO DE TAYLOR:

EJEMPLO 9: resuelva el siguiente problema de valor inicial por método de Taylor:

SOLUCIÓN:

Para determinar la derivada de la función se utiliza la ecuación:

Con lo cual se obtiene:

Con este resultado, crear un script de la siguiente manera:

function valor = Der_Taylor(x,y)


valor = [x-y,1-x+y];

Ahora ejecutar:

>> Taylor_L

METODO DE TAYLOR
Arch. Ecuación ? Der_Taylor
Punto Inicial ? 0
Condicion Inicial ? 2
Punto Final ?1
Nro Intérvalos ? 5
Ver Grafica (s/n) ? s

SOLUCION
num xf yf
0 0.00000 2.00000
1 0.20000 1.66000
2 0.40000 1.41720
3 0.60000 1.25410
4 0.80000 1.15637
5 1.00000 1.11222
ans =

1.1122

PRÁCTICA 8: resuelva desde t 0 0 hasta t = 3 con h = 0.1, la ecuación diferencial (graficar los resultados):

MÉTODO DE EULER MODIFICADO:

EJEMPLO 10: resuelva el siguiente problema de valor inicial por método de Euler Modificado:

SOLUCIÓN:

Escribir en un archivo script:

function valor = Der_EulerM(x,y)


valor = x-y;

Se resolverá para n = 5 franjas.

A continuación escribir:

>> EulerModificado_L

Arch. Ecuación ? Der_EulerM


Punto Inicial ? 0
Condicion Inicial ? 2
Punto Final ?1
Nro Intérvalos ? 5
Ver Grafica (s/n) ? s

SOLUCION
num xf yf
0 0.00000 2.00000
1 0.20000 1.66000
2 0.40000 1.41720
3 0.60000 1.25410
4 0.80000 1.15637
5 1.00000 1.11222

ans =

1.1122

PRÁCTICA 9: resuelva el siguiente problema en forma numérica, con un tamaño de paso de 0.5 y 0.01, además
de graficar los resultados.

MÉTODO DE RUNGE - KUTTA:

EJEMPLO 11: resuelva el siguiente problema de valor inicial por método de Runge - Kutta:

SOLUCIÓN:

Escribir en un archivo script:

function valor = Der_Runge(x,y)


valor = x-y;
Se resolverá para n = 5 franjas.

A continuación escribir:

>> RungeKutta_L

METODO DE RUNGE KUTTA


Arch. Ecuación ? Der_Runge
Punto Inicial ? 0
Condicion Inicial ? 2
Punto Final ?1
Nro Intérvalos ? 5
Ver Grafica (s/n) ? s

SOLUCION
num xf yf
0 0.00000 2.00000
1 0.20000 1.65620
2 0.40000 1.41097
3 0.60000 1.24645
4 0.80000 1.14800
5 1.00000 1.10366

ans =

1.1037

PRÁCTICA 10: un tanque cilíndrico de 5 m de diámetro y 11 m de largo aislado con asbesto se carga con un
líquido que está a 220 oF y el cual se deja reposar durante cinco días. A partir de los datos de diseño del
tanque, las propiedades térmicas y físicas del líquido y el valor de la temperatura ambiente se encuentra la
ecuación:
( )
Que relaciona la temperatura T del líquido en 0C con el tiempo t en horas. Utilizando el método Runge-Kutta,
determine la temperatura final del líquido.

ECUACIONES DIFERENCIALES DE ORDEN SUPERIOR:

EJEMPLO 12: considere el siguiente sistema de ecuaciones obtenido por medio de un cambio de variables:

Resuelva para xf = 12.

SOLUCIÓN:

Crear un archivo m o script con el código siguiente:

function dy=OrdenSuperior(t,y)
dy=zeros(3,1);
dy(1)=y(2)*y(3);
dy(2)=-y(1)*y(3);
dy(3)=-0.51*y(1)*y(2);

Se define el intervalo de trabajo desde x 0 = 0 a xf = 12 como un vector [0 12].


Se definen las condiciones iniciales como un vector fija [0;1;1].

A continuación, escribir:

>> [T,Y]=ode45(@OrdenSuperior,[0 12],[0 1 1])

Para realizar una representación gráfica de la información obtenida se escribe lo siguiente:

>> plot(T,Y(:,1),'-',T,Y(:,2),'.-',T,Y(:,3),'.')
ECUACIONES DIFERENCIALES DE SEGUNDO ORDEN:

EJEMPLO 13: resuelva el siguiente problema de valor inicial por el método de Runge-Kutta de segundo orden:

( )

Utilice 8 subintervalos.

SOLUCIÓN:

En principio se escribe la respectiva ecuación diferencial como un sistema:

( )

A continuación, crear un archivo script siguiente:

function dy=EDO(x,y,z)
dy(1)=2;
dy(2)=-2/x+(1/(x.^2)-1).*y;

Luego ejecutar:

>> EDO2do_L

ECUACIONES DE SEGUNDO ORDEN


Arch. Ecuación ? EDO
Punto Inicial Xo ? 1
Condicion Inicial Yo ? 1
Condicion Inicial Zo ? 2
Punto Final Xf ? 3
Nro Intérvalos ?8

SOLUCION
x y z
1.00000 1.00000 2.00000
1.25000 1.50000 1.48748
1.50000 2.00000 0.91664
1.75000 2.50000 0.25890
2.00000 3.00000 -0.50003
2.25000 3.50000 -1.36809
2.50000 4.00000 -2.35003
2.75000 4.50000 -3.44889
3.00000 5.00000 -4.66670
ans =

3.0000 5.0000 -4.6667

PRÁCTICA 11: resuelva el siguiente problema de valor inicial con el método de Runge-Kutta de segundo orden,
con h = 0.05 y h = 0.01.

Grafique y compare los resultados. De igual forma, grafique la curva de error.

----- oOo -----

También podría gustarte