Está en la página 1de 12

MÉTODO DE HEUN

INTRODUCCION
Aplicar métodos numéricos para aproximar soluciones de algunas ecuaciones
diferenciales, viendo así la importancia de los métodos numéricos que radica en la
aparición de ecuaciones diferenciales que no pueden resolverse por métodos
tradicionales, y de ahí la necesidad de implementar algún método de aproximación.

DEFINICION
Un método para mejorar la estimación de la pendiente emplea la determinación de
dos derivadas en el intervalo (una en el punto inicial y otra en el final). Las dos
derivadas se promedian después con la finalidad de obtener una mejor estimación de
la pendiente en todo el intervalo. Este procedimiento, conocido como método de
Heun, se presenta en forma gráfica en la siguiente figura

Primera iteración del método Euler modificado


Recordaremos que, en el método de Euler, la pendiente al inicio.

= f ( xi , yi )
yi� ... ( 1)

se utiliza para extrapolar linealmente a yi +1

yi +1 = y0 + f ( xi , yi ) h ..... ( 2 )

En el método estándar de Euler debería parar aquí. Sin embargo, en el método de


Heun la yi +1 calculada en la ecuación (2) no es la respuesta final, sino una predicción
intermedia. Por consiguiente, la distinguimos con un superíndice 0.
La ecuación (2) se llama ecuación predictora o simplemente predictor. Da una
estimación de yi +1 que permite el cálculo de una estimación de la pendiente al final del
intervalo:

( )
+1 = f xi +1 , yi +1 .... ( 3 )
yi�

Así, se combinan las dos pendientes [ecuaciones (1) y (3)] para obtener una pendiente
promedio en el intervalo:

y�=
+ yi�
yî� +1
=
(
f ( xi , yi ) + f xi +1 , yi +1 )
2 2

Está pendiente promedio se utiliza después para extrapolar linealmente desde yi hasta
yi +1 con el método de Euler:

yi +1 = yi +
(
f ( xi , yi ) + f xi +1 , yi +1 )h .... ( 4 )
2
A esta ecuación (4) se conoce como ecuación correctora o simplemente corrector

El método de Heun es el único método predictor-corrector de un solo paso.

Predictor � yi +1 = y0 + f ( xi , yi ) h

Corrector � yi +1 = yi +
(
f ( xi , yi ) + f xi +1 , yi +1 )h
2

Observe que debido a que en la ecuación (4) aparece yi +1 a ambos lados del signo igual,
entonces se puede aplicar en una forma iterativa. Es decir, una estimación anterior se utilizará
de manera repetida para proporcionar una estimación mejorada de yi +1

ERROR RELATIVO PORCENTUAL

yij+1 - yij+-11
et = �100% yij+-11 = iteracion anterior
yij+1
yij+1 = actual del corrector

EJERCICIOS RESUELTOS

EJERCICIO 1

= 4e 0.8 x - 0.5 y x = 0 hasta x = 4 con un tamaño de paso


Con el método de Heun integre y �
igual a 1. La condición inicial es en x = 0 y y = 2
Predictor � yi0+1 = yi + f ( xi , yi ) h

f ( xi , yi ) + f ( xi +1 , yi0+1 )
Corrector � yi +1 = yi + h
2

Antes de resolver el problema numéricamente, se utiliza el cálculo para determinar la siguiente


solución analítica:

4 0.8 x -0.5 x
y= (e - e ) + 2e-0.5 x
1.3
4 0.8(0) -0.5(0)
y= (e -e ) + 2e -0.5(0) = 2
1.3
4 0.8(1) -0.5(1)
y= (e -e ) + 2e -0.5(1) = 6.1946314
1.3
4 0.8(2) -0.5(2)
y= (e -e ) + 2e-0.5(2) = 14.8439219
1.3
4 0.8(3) -0.5(3)
y= (e -e ) + 2e -0.5(3) = 33.6771718
1.3
4 0.8(4) -0.5(4)
y= (e -e ) + 2e -0.5(4) = 75.3389626
1.3
0
Para la siguiente solución primero calcularemos el predictor yi +1 y seguidamente llevaremos
este resultado a la ecuación del corrector yi +1 que vendría a ser la solución de Heun

i=0
x0 = 0 ; x1 = 1 ; y0 = 2 ; h =1
y0
i +1 = yi + f ( xi , yi ) h
y10 = 2 + (4e0,8(0) - 0.5(2))1
y10 = 5
f ( xi , yi ) + f ( xi +1 , yi0+1 )
yi +1 = yi + h
2
�[4e 0,8(0) - 0.5(2)] + [4e0,8(1) - 0.5(5)] �
y1 = 2 + � 1

� 2 �
y1 = 6.7010819

Cuando i = 1
x1 = 1 ; x2 = 2 ; y1 = 6.7010819 ; h =1
yi0+1 = yi + f ( xi , yi ) h
y20 = 6, 7010819 + (4e0,8(1) - 0.5(6.7010819))1
y20 = 12.2527
f ( xi , yi ) + f ( xi +1 , yi0+1 )
yi +1 = yi + h
2
�[4e0,8(1) - 0.5(6.7010819)] + [4e0,8(2) - 0.5(12.2527)] �
y2 = 6.7010819 + � 1

� 2 �
y2 = 16.3197819

Cuando i = 2

x2 = 2 ; x3 = 3 ; y2 = 16.3197819 ; h =1
y0
i +1 = y1 + f ( xi , yi ) h
y30 = 16.3197819 + (4e 0,8(2) - 0.5(16.3197819))1
y30 = 27.9720
f ( xi , yi ) + f ( xi +1 , yi0+1 )
yi +1 = yi + h
2
�[4e0,8(2) - 0.5(16.3197819)] + [ 4e0,8(3) - 0.5(27.9720)] �
y3 = 16.3197819 + � 1

� 2 �
y3 = 37.1992489

Cuando i = 3

x3 = 3 ; x4 = 4 ; y3 = 37.1992489 ; h =1
y 0
i +1 = yi + f ( xi , yi ) h
y = 37.1992489 + (4e 0,8(3) - 0.5(37.1992489))1
0
4

y40 = 62.6923
f ( xi , yi ) + f ( xi +1 , yi0+1 )
yi +1 = yi + h
2
�[4e 0,8(3) - 0.5(37.1992489)] + [4e0,8(4) - 0.5(62.6923)] �
y4 = 37.1992489 + � 1

� 2 �
y4 = 83.3377674

x y verdadero yHeun |et|(%)


0 2.0000000 2.0000000 0.00
1 6.1946314 6.7010819 8.18
2 14.8439219 16.3197819 9.94
3 33.6771718 37.1992489 10.46
4 75.3389626 83.3377674 10.62

EJERCICIO 2

Resolver el problema de valor inicial

dy x - y
= en [0,3] y(0) = 1
dx 2
Con n=3

Calculamos h:

b-a 3-0
h= = =1
n 3
Primera interacción:

Hallamos el predictor

+1 = y0 + f ( xi , yi ) h
yi�

�0 - 1 �
y1 = 1 + � � *1 = 0.5
�2 �
Hallamos el corrector

f ( xi , yi ) + f ( xi +1 , yi0+1 )
yi +1 = yi + h
2

1 �( 0 - 1) + ( 1 - 0.5 ) �
y1 = 1 + * � *1 = 0.875

2 � 2 �
Segunda interacción:

Hallamos el predictor

+1 = y0 + f ( xi , yi ) h
yi�

1 - 0.875 �

y2 = 0.875 + � *1 = 0.9375

� 2 �
Hallamos el corrector

f ( xi , yi ) + f ( xi +1 , yi0+1 )
yi +1 = yi + h
2
1 �( 1 - 0.875 ) + ( 2 - 0.9375 ) �
y2 = 0.875 + * � *1 = 1.171875

2 � 2 �
Tercera interacción:

Hallamos el predictor

+1 = y0 + f ( xi , yi ) h
yi�
�2 - 1.173325 �
y3 = 1.173325 + � * 1 = 1.5859375

� 2 �

Hallamos el corrector

f ( xi , yi ) + f ( xi +1 , yi0+1 )
yi +1 = yi + h
2
1 �( 2 - 1.173325 ) + ( 3 - 1.5859375 ) �
y3 = 1.173325 + * � *1 = 1.73242188

2 � 2 �

i Xi Yi y(xi)exacto
0 1 0.875 0.81959198
1 2 1.171875 1.10363832
2 3 1.73242188 1.66939048

EJERCICIO 3

Un tanque cilíndrico de fondo plano con un diámetro de 1.5m contiene un líquido de densidad
r = 1.5 Kg / L a una altura de 3m.Se desea saber la altura del líquido dentro del tanque tres
minutos después de que se abre completamente la válvula de salida, la cual da un gasto de
0.6 A 2 ga m 3 / s donde A es el área seccional del tubo de salida y es
-4 2 2
78.5 �10 m y g=9.81 m/s con 6 iteraciones.

SOLUCION

G = 0.6 A 2 ga

dV r
Acumulación=entrada: =0 Salida: -0.6 A 2 ga
dt
p p 2 da
( 1.5) a ( 1.5)
2
V= = -0.6 A 2 ga
4 4 dt
De donde

da 2.4 A 2 ga
=- = -0.0026653 2 ga al considerar como tiempo cero el momento de
p ( 1.5 )
2
dt
abrir la válvula y además la altura buscada a un tiempo de 180 s, se llega a
da
= -0.0026653 2 ga
dt
a ( 0 ) = 3m
a ( 180 ) = ?

Hallamos por el método de Heun

A. - yi +1 = yi + hf ( xi , yi ) � caso predictor
1
( )
B. - ��f ( xi , yi ) + f xi +1 , yi +1 �
2 � �
1

2 �

(
C. - yi +1 = yi + h � ��f ( xi , yi ) + f xi +1 , yi +1 )�




� caso corrector

i ti A B. C
0 0 2.38655 -0.019343 2.4197
1 30 1.86876 -0.017249 1.90221
2 60 1.413730 -0.015150 1.44745
3 90 1.02134 -0.0130665 1.05545
4 120 0.691588 -0.01097 0.72626
5 150 0.424429 -0.0088756 0.45999
6 180

EJERCICIO 4

Una solución de salmuera de salmuera razón constante de 6L/min, hacia el interior de un


depósito que inicialmente contiene 50L de solución de salmuera en la cual se disolvieron %kg
de sal. La solución contenida en el depósito se mantiene bien agitada y fluye hacia el exterior
con la misma rapidez. Si la concentración de sal presente en el depósito es de 0.5 kg/L,
terminar la cantidad de sal presente en el depósito al cabo de 1 minutos. ¿Cuenta
concentración alcanzara de sal en el depósito en un tiempo de 5 min?

Hallamos por el método de Heun con h=1.25 y 5 iteraciones

x ( t ) = kg de sal dentro del deposito en el instante t


dy �y � 3
= 6 �0.5 - 6 �� �= 3 - y
dt �50 � 25
y ( 0) = 5
y ( 5) = ?
A. - yi +1 = yi + hf ( xi , yi ) � caso predictor
1
(
B. - ��f ( xi , yi ) + f xi +1 , yi +1 �
2 � � )
1

2 �

(
C. - yi +1 = yi + h � ��f ( xi , yi ) + f xi +1 , yi +1 )�




� caso corrector

i ti A B. C
0 0 8 2.22 7.775
1 1.25 10.3375 1.91475 10.1434
2 2.5 12.37189 1.64908 12.2047
3 3.75 14.1239 1.420284 13.9800
4 5 15.633 1.22322 15.5090

EJERCICIOS PROPUESTOS

1.-En un tanque perfectamente agitado se tiene 400L de una salmuera en la cual están
disueltos de sal común (NaCL), en cierto momento se hace llegar al tanque un gasto de un 80
salmuera que contiene 0.5 Kg de sal común por litro. Si tiene un gasto de salida de 80L/min
determine:

a) ¿Qué cantidad de sal hay en el tanque transcurrido 10 minutos?


b) ¿Qué cantidad de sal hay en el tanque transcurrido un tiempo muy grande?
Respuesta
dy
a) = 40 - 0.2 y y ( 0 ) = 25
dx
h=1 y ( 10 ) = ? rpta: y ( 10 ) = 175.9466
b)La solucion se obtiene hasta la cantidad de sal en el tanque no cambie con el tiempo
y ( 10 ) = 199.9914

2.-Se hacen reaccionar isotérmicamente 260 g de acetato de etilo CH 3COOC2 H 5 con 175g
de hidróxido de sodio NaOH en solución acuosa (ajustando el volumen total a 5 litros) para
dar acetato de sodio CH 3COONa y el alcohol etílico C2 H 5OH de acuerdo con la siguiente
ecuación estequiometria.

CH 3COOC2 H 5 + NaOH � CH 3COONa + C2 H 5OH

Respuesta

dy
= 1.44 �0.01( 0.59 - y ) ( 0.875 - y ) y ( 0) = 0
dx
h=1 y ( 30 ) = ? rpta: y ( 30 ) = 0.1692
3.-Calcular el tiempo necesario para que el nivel del líquido dentro del tanque esférica con
r=5m mostrando en la figura pase de 4m a 3m.La velocidad de salida por el orificio del fondo es
de v=4.895,el diámetro de dicho orificio es de 10cm.

Respuesta

da 0.012375 a
=- a ( 0) = 4
dt ( 10a - a 2 )
h=10 a ( ?) = 3 rpta: y ( 100 ) = 2.9796

DIAGRAMA DE FLUJO
PSEUDOCODIGO
clear all
disp('METODO DE HEUN')
clc
syms x
syms y
f=inline(input('ingrese la derivada:','s'));
x=input('ingrese el valor de x:');
y=input('ingrese el valor de y:');
h=input('ingrese el valor de h:');
n=input('ingrese numero de iteraciones:');
clc
disp('xi , yi , y(i+1) , Y(i+1) ');
%y(i+1)caso predictor
%Y(i+1)caso corrector
for i=1:n
s=h+x;
y1=feval(f,x,y);
hy1=h*y1;
y2=y+hy1;
y3=feval(f,s,y2);
hy2=y3*h;
yn=y+((hy1+hy2)/2);
fprintf('\n%0.1f %0.4f %0.4f %0.4f',x ,y ,y2 ,yn );
y=yn;
x=x+h;
end

Veamos un ejemplo con el ejercicio 3 para asi comprobar que las respuestas son iguales

Ahora comprobamos con un ejercicio propuesto la numero 3,ingresamos los datos


Y luego nos dará los resultados

También podría gustarte