Está en la página 1de 88

Ecuaciones

Ing. Viviana Ortellado


Diferenciales
1
Ecuaciones diferenciales
En este capitulo de ecuaciones diferenciales, consideraremos
un problema de valor inicial (también llamado por algunos
autores como el problema de Cauchy) es una ecuación
diferencial ordinaria junto con un valor especificado, llamado
la condición inicial, de la función desconocida en un punto dado

Ing. Viviana Ortellado


del dominio de la solución.

Cómo
normalmete se
calcula?

2
Nosotros ahora veremos cómo calcular sin hallar la curva. (valor
aproximado)
METODOS DE UN

Ing. Viviana Ortellado


SOLO PASO
-Euler
-Heun
-Runge Kutta
3
Método de Euler
El método de Euler es el más simple de
los métodos numéricos para resolver
un problema de valor inicial. El método de
Euler es nombrado por Leonhard Euler, quien

Ing. Viviana Ortellado


lo trató en su libro Institutionum calculi
integralis(publicado en 1768-1770).

El método de Euler regularmente sirve como


base para construir métodos más complejos.

4
Descripción
• Considere el problema de calcular la
pendiente de una curva desconocida
que comienza en un punto dado y
satisface una cierta ecuación
diferencial dada. Se puede pensar en
la ecuación diferencial como una
fórmula que nos permite calcular

Ing. Viviana Ortellado


la pendiente de la recta tangente a la
curva en cualquier punto de la curva, Ilustración del método de Euler. La curva
una vez que el punto ha sido desconocida está en azul, y su
calculado. aproximación poligonal en rojo

• La idea es que a pesar de que la curva es desconocida en un


principio, su punto de comienzo, al cual denotamos por A0, es
conocido. Entonces, de la ecuación diferencial se puede calcular la 5
pendiente de la curva en el punto A0 y por lo tanto la recta
tangente a la curva.
• Ahora, dando un pequeño paso sobre
dicha recta, podemos tomarnos un
nuevo punto A1 y suponer que dicho
punto pertenece a la curva, entonces
seguimos el mismo razonamiento
aplicado anteriormente y volvemos a
calcular la pendiente de la recta
tangente a la curva en el punto A1.

Ing. Viviana Ortellado


• Luego de varios pasos tendremos
formada una curva Ilustración del método de Euler. La
poligonal A0A1A2A3... En general esta curva desconocida está en azul, y su
curva que obtenemos al aplicar el aproximación poligonal en rojo
método no diverge lejos de la curva
original, además el error entre ambas
curvas se puede minimizar si se dan
pasos muy pequeños al avanzar sobre
la recta tangente a la curva y además 6
el intervalo sobre el que trabajamos es
finito
Procedimiento
Primero dividimos el intervalo que va de x0 a xf en n subintervalos de
ancho h, o sea:
xf − x0
ℎ=
𝑛
de manera que se obtiene un conjunto discreto de n+1 puntos: x0 , x1 ,
x2 , …. xn del intervalo de interés [x0 , xf ]. Para cualquiera de estos
puntos se cumple que:

Ing. Viviana Ortellado


xk =x0+ k∗h 0≤k≤n

La condición inicial y(x0)= y0, representa el punto P0 =(x0, y0) por


donde pasa la curva solución de la ecuación del planteamiento inicial,
lo cual se denotará como F(x)=y. Ya teniendo el punto P0 se puede
evaluar la primera derivada de F(x) en ese punto, por lo tanto:
7
Con esta información se traza una recta, aquella que pasa
por P0 y pendiente f(x0, y0). Esta recta aproxima F(x) en una
vencindad de x0

Tómese la recta como


reemplazo de F(x) y localícese
en ella (la recta) el valor de y
correspondiente a x1

Ing. Viviana Ortellado


y1 − y0
=f(x0, y0)
x 1− x 0

Se resuelve para y1

y1 = y0 + (x1− x0)∗f(x0, y0) = y0 + h∗f(x0, y0) 8


Es evidente que la ordenada y1 calculada de esta manera no es
igual a F(x1) pues existe un pequeño error. Sin embargo, el valor y1
sirve para que se aproxime F’(x) en el punto y repetir el
procedimiento anterior a fin de generar la sucesión de
aproximaciones siguientes:

Ing. Viviana Ortellado


𝑦 𝑘 + 1 = 𝑦𝑘 + ℎ ∗ 𝑓(𝑥𝑘 , 𝑦𝑘)

9
Ejercicio
con n=4

Ing. Viviana Ortellado


10
Teniendo dichos valores se comienza con el método. Se harán aproximaciones de
hasta ocho decimales. La función seno se evaluará en radianes.

Ing. Viviana Ortellado


Por lo que el resultado obtenido es: y4=0.33258138 . Conociendo el valor exacto
de la ecuación en ese punto, y=0.3325459, se puede calcular el error relativo
cometido por el método:

11
Método de Euler
𝑑𝑦
= 𝑓(𝑥 , 𝑦)
𝑑𝑥

𝑦𝑘+1 = 𝑦𝑘 + ℎ ∗ 𝑓(𝑥𝑘 , 𝑦𝑘 )

Ing. Viviana Ortellado


Pendiente
f(xk, yk)
k xk yk fk
0 x0 y0 f0 = f(x0, y0 )

1 x1 y1 =y0 + h* f0 f1 = f(x1, y1 )

2 x2 y2 =y1 + h* f1

3
12
.
.
n xn yn f( xn , yn )
pendiente
kn xk
xn yn
yk f(xn,yn)
fk
0 0 2,0000 2,0000

Ing. Viviana Ortellado


1 0,1 2,2000 2,1000 y1=2+0,1*2
2 0,2 2,4100 2,2100 y2=2,2+0,1*2,1
3 0,3 2,6310 2,3310 y3=2,41+0,1*2,21
4 0,4 2,8641 2,4641 y4=2,631+0,1*2,331
5 0,5 3,1105 2,6105 y5=2,8641+0,1*2,4641
6 0,6 3,3716 2,7716 y6=3,1105+0,1*2,6105
7 0,7 3,6487 2,9487 y7=3,3716+0,1*2,7716
8 0,8 3,9436 3,1436 y8=3,6487+0,1*2,9487
9 0,9 4,2579 3,3579 y9=3,9436+0,1*3,1436 13
10 1 4,5937 3,5937 y10=4,2579+0,1*3,3579
Algoritmo Euler - matlab

Ing. Viviana Ortellado


Solo es valido para EDO de
1er orden 14
Ejercicios para matlab

0,1

Ing. Viviana Ortellado


0,1

15
Ing. Viviana Ortellado
16
Ing. Viviana Ortellado
17
Ing. Viviana Ortellado
18
Ing. Viviana Ortellado
19
Ing. Viviana Ortellado
20
Algoritmo Euler - matlab
Ejer. 3
x0=0; % X0 e Y0 puntos iniciales
y0=[1 -1 0]';
h=0.1; % h paso
n=20; % n numero de divisiones
syms x;
a=[8/(1+x)^3, -1/(1+x)^2, -1/(1+x)];
f=x/(1+x)^5;

Ing. Viviana Ortellado


m=length(y0);
resultE=[x0 y0(1)];
A=[zeros(m-1,1) eye(m-1);a];
B=[zeros(1,m-1),f]';
x=x0; Valido para EDO de orden N
for i=1:n N=1, 2, 3…N orden
f=eval(A)*y0+eval(B);
y=y0+h*f;
y0=y;
x=x+h;
21
resultE=[resultE;x y(1)];
end
resultE
Algoritmo Euler - matlab Ejer. 1
x0=2; % X0 e Y0 puntos iniciales
y0=[0]';
h=0,1; % h paso
n=20; % n numero de divisiones
syms x;
a=[1/x];
f=1/(1+x^2);

m=length(y0);

Ing. Viviana Ortellado


resultE=[x0 y0(1)];
A=[zeros(m-1,1) eye(m-1);a];
B=[zeros(1,m-1),f]';
x=x0;
for i=1:n
f=eval(A)*y0+eval(B);
y=y0+h*f;
y0=y;
x=x+h;
resultE=[resultE;x y(1)]; 22
end
resultE
Método de Heun
Este método es una mejora que se efectúa sobre el Método de
Euler. En Euler, se aproxima el siguiente valor de la función
conociendo dónde se encuentra ahora y la pendiente en el
punto actual, como expresa la ecuación:
𝑦 𝑘 + 1 = 𝑦𝑘 + ℎ ∗ 𝑓(𝑥𝑘 , 𝑦𝑘)
Esto puede llevar a una mala aproximación, pues la pendiente

Ing. Viviana Ortellado


de la función puede cambiar en el intervalo analizado, y Euler
arrojaría un valor muy alejado.

23
Método de Heun

Ing. Viviana Ortellado


Si se hace para los todos los puntos k=0,1,2…

24
Método de Heun
𝑑𝑦
= 𝑓(𝑥 , 𝑦)
𝑑𝑥
𝑝 𝑘 + 1 = 𝑦𝑘 + ℎ ∗ 𝑓(𝑥𝑘 , 𝑦𝑘 )

𝑦𝑘+1 = 𝑦𝑘 + 2 ∗ (𝑓 𝑥𝑘 , 𝑦𝑘 + 𝑓(𝑥𝑘 + 1 , 𝑝𝑘 + 1) )

Pendiente inicial

Ing. Viviana Ortellado


𝑓(𝑥𝑘 , 𝑦𝑘 ) Pendiente con predictor
𝑓(𝑥𝑘 + 1 , 𝑝𝑘 + 1)

k xk yk fk fpk+1
0 x0 y0 f0 = f(x0, y0 ) fp1 = f(x1, p1 )
1 x1 y1 =y0 + h* (f0 + fp1 )/2 f1 = f(x1, y1 ) fp2 = f(x2, p2 )

2 x2 y2 =y1 + h* (f1 + fp2 )/2 f2 = f(x1, y2 ) fp3 = f(x3, p3 )

.
.
25
n
1er calculo:

Ing. Viviana Ortellado


Pend_inicial f(x0,y0)=2-0 =2
Predictor p1= y0+h*f(x0,y0)=2+0,1*(2-0)=2,2
Pend_final f(x1, p1)=2,2-0,1=2,1
Corrector y1=y0+h*(f(x0,y0)+f(x1,p1))/2
y1=2+0,1*(2+2,1)/2

Repetimos de nuevo el proceso 26


Pend_izq predictor Pend_D
n xn yn f(xn,yn) yn+1,p f(xn+1,yn+1,p)
0 0 2,0000 2,0000 2,2000 2,1000
1 0,1 2,2050 2,1050 2,4155 2,2155
2 0,2 2,4210 2,2210 2,6431 2,3431
3 0,3 2,6492 2,3492 2,8842 2,4842

Ing. Viviana Ortellado


4 0,4 2,8909 2,4909 3,1400 2,6400
5 0,5 3,1474 2,6474 3,4122 2,8122
6 0,6 3,4204 2,8204 3,7025 3,0025
7 0,7 3,7116 3,0116 4,0127 3,2127
8 0,8 4,0228 3,2228 4,3451 3,4451
9 0,9 4,3562 3,4562 4,7018 3,7018
10 1 4,7141
27
Algoritmo Heun - matlab

Ing. Viviana Ortellado


Solo es valido para EDO de
28
1er orden
Ejercicios para matlab

0,1

Ing. Viviana Ortellado


0,1

29
Heun - matlab Ejer. 3
x0=0; % X0 e Y0 puntos iniciales
y0=[1 -1 0]';
h=0.1; % h paso
n=20; % n numero de divisiones
syms x;
a=[8/(1+x)^3, -1/(1+x)^2, -1/(1+x)];
f=x/(1+x)^5;

m=length(y0);

Ing. Viviana Ortellado


resultH=[x0,y0(1)];
A=[zeros(m-1,1) eye(m-1);a];
B=[zeros(1,m-1),f]';
x=x0;
for i=1:n
Valido para EDO de orden N
f0=eval(A)*y0+eval(B); N=1, 2, 3…N orden
x=x+h;
p1=y0+h*f0;
f1=eval(A)*p1+eval(B);
y=y0+(h/2)*(f0+f1);
resultH=[resultH;x y(1)]; 30
y0=y;
end
resultH
Heun - matlab Ejer. 1
x0=2;
y0=[0]';
h=0,1;
n=20;
syms x;
a=[1/x];
f=1/(1+x^2);

m=length(y0);
resultH=[x0,y0(1)];

Ing. Viviana Ortellado


A=[zeros(m-1,1) eye(m-1);a];
B=[zeros(1,m-1),f]';
x=x0;
for i=1:n
f0=eval(A)*y0+eval(B);
x=x+h;
p1=y0+h*f0; %predictor
f1=eval(A)*p1+eval(B);
y=y0+(h/2)*(f0+f1);
resultH=[resultH;x y(1)];
y0=y; 31
end
resultH
Métodos de desarrollo en Serie
de Taylor

Ing. Viviana Ortellado


32
Método de Runge Kutta
El método de Runge-Kutta no es sólo un
único método, sino una importante familia
de métodos iterativos, tanto implícitos
como explícitos, para aproximar las
soluciones de ecuaciones diferenciales

Ing. Viviana Ortellado


ordinarias (E.D.O´s); estas técnicas fueron
desarrolladas alrededor de 1900 por los
matemáticos alemanes Carl David Tolmé
Runge y Martin Wilhelm Kutta.

33
Runge Kutta O1

Ing. Viviana Ortellado


k=0,1,2,……n

Que es el método de Euler


34
Runge Kutta O2

Ing. Viviana Ortellado


Se repite para k=0,1,2,……n

35

Que es el método de Heun


Runge Kutta O3
Definiendo un problema de valor inicial como:
𝑦 ′ = 𝑓 𝑥, 𝑦 , 𝑦 𝑥0 = 𝑦0
Entonces el método RK3 para este problema está dado por la siguiente
ecuación:

𝑦𝑘 + 1 = 𝑦𝑘 + ∗ (f1 + 4f2 + f3)
6

Ing. Viviana Ortellado


Donde:
𝑓0 = 𝑓 𝑥𝑘 , 𝑦𝑘

ℎ ℎ
𝑓1 = 𝑓 𝑥𝑘 + 2 , 𝑦𝑘 + 2 ∗ 𝑓0

𝑓2 = 𝑓(𝑥𝑘 + ℎ , 𝑦𝑘 − ℎ ∗ 𝑓0 + 2ℎ ∗ 𝑓1)

Así, el siguiente valor (yk+1) es determinado por el presente valor (yk) más 36
el producto del tamaño del intervalo (h) por una pendiente estimada
Runge Kutta O4
Se deducirán las formulas cómo ejemplo. Para aproximar la
integral, se utiliza el método de Simpson 1/3. En los puntos :

Ing. Viviana Ortellado


Entonces,

Sea:

37
Runge Kutta O4

Ing. Viviana Ortellado


38
Runge Kutta O4
Definiendo un problema de valor inicial como:
𝑦 ′ = 𝑓 𝑥, 𝑦 , 𝑦 𝑥0 = 𝑦0
Entonces el método RK4 para este problema está dado por la siguiente ecuación:

𝑦𝑘 + 1 = 𝑦𝑘 + ∗ (f0 + 2f1 + 2f2 + f3)
6
Donde:
𝑓0 = 𝑓 𝑥𝑘 , 𝑦𝑘
ℎ ℎ
𝑓1 = 𝑓 𝑥𝑘 + , 𝑦𝑘 + ∗ 𝑓0

Ing. Viviana Ortellado


2 2
ℎ ℎ
𝑓2 = 𝑓 𝑥𝑘 + 2
, 𝑦𝑘 + 2
∗ 𝑓1
𝑓3 = 𝑓(𝑥𝑘 + ℎ , 𝑦𝑘 + ℎ ∗ 𝑓2)

Así, el siguiente valor (yk+1) es determinado por el presente valor (yk) más el producto
del tamaño del intervalo (h) por una pendiente estimada

k xk yk f0 f1 f2 f3
0
1
2
3 39
.
.
n
f3
f2
f1
f0

y1
𝜑

Ing. Viviana Ortellado


40
k xk yk f0 f1 f2 f3

Ing. Viviana Ortellado


f0
f1
f2
f3
41
𝜑
y1
Ejercicios para matlab

0,1

Ing. Viviana Ortellado


0,1

42
RK4 - matlab
x0=2; % X0 e Y0 puntos iniciales
Ejer. 1
y0=0;
h=0.1; % h paso
n=20; % n numero de divisiones
syms x; Solo es valido para EDO de
A=1/x; 1er orden
f=1/(1+x^2);

x=x0;
for i=1:n
f0=eval(A)*y0+eval(f); %f0: es la pendiente en el inicio del intervalo

Ing. Viviana Ortellado


x=x+h/2;
y1=y0+(h/2)*f0;
f1=eval(A)*y1+eval(f); %f1: es la pendiente en el medio del intervalo usando f0 para hallar
y2=y0+(h/2)*f1;
f2=eval(A)*y2+eval(f); %f2: es la pendiente en el medio del intervalo usando f1 para hallar

x=x+h/2;
y3=y0+h*f2;
f3=eval(A)*y3+eval(f); %f3: es la pendiente en al final del intervalo usando f2 para hallar

y=y0+h*(f0+2*f1+2*f2+f3)/6;
43
y0=y;
end
y
RK4 - matlab Ejer. 3
x0=0; % X0 e Y0 puntos iniciales
y0=[1 -1 0]';
h=0.1; % h paso
n=20; % n numero de divisiones
syms x;
a=[8/(1+x)^3 -1/(1+x)^2 -1/(1+x)];
f=x/(1+x)^5;
Valido para EDO de orden N
m=length(y0);
resultRK=[x0,y0(1)]; N=1, 2, 3…N orden
A=[zeros(m-1,1) eye(m-1);a];
B=[zeros(1,m-1),f]';
x=x0;

Ing. Viviana Ortellado


for i=1:n
f0=eval(A)*y0+eval(B); %f0: es la pendiente en el inicio del intervalo
x=x+h/2;
y1=y0+(h/2)*f0;
f1=eval(A)*y1+eval(B); %f1: es la pendiente en el medio del intervalo usando f0 para hallar

y2=y0+(h/2)*f1;
f2=eval(A)*y2+eval(B); %f2: es la pendiente en el medio del intervalo usando f1 para hallar

x=x+h/2;
y3=y0+h*f2;
f3=eval(A)*y3+eval(B); %f3: es la pendiente en al final del intervalo usando f2 para hallar

y=y0+h*(f0+2*f1+2*f2+f3)/6; 44
resultRK=[resultRK;x y(1)];
y0=y;
end
resultRK
RK4 - matlab
x0=2; % X0 e Y0 puntos iniciales Ejer. 1
y0=[0]';
h=0,1; % h paso
n=20; % n numero de divisiones
syms x;
a=[1/x];
f=1/(1+x^2);

m=length(y0);
resultRK=[x0,y0(1)];
A=[zeros(m-1,1) eye(m-1);a];
B=[zeros(1,m-1),f]';
x=x0;

Ing. Viviana Ortellado


for i=1:n
f0=eval(A)*y0+eval(B); %f0: es la pendiente en el inicio del intervalo
x=x+h/2;
y1=y0+(h/2)*f0;
f1=eval(A)*y1+eval(B); %f1: es la pendiente en el medio del intervalo usando f0 para hallar

y2=y0+(h/2)*f1;
f2=eval(A)*y2+eval(B); %f2: es la pendiente en el medio del intervalo usando f1 para hallar

x=x+h/2;
y3=y0+h*f2;
f3=eval(A)*y3+eval(B); %f3: es la pendiente en al final del intervalo usando f2 para hallar

y=y0+h*(f0+2*f1+2*f2+f3)/6; 45
resultRK=[resultRK;x y(1)];
y0=y;
end
resultRK
METODOS DE

Ing. Viviana Ortellado


MULTIPASO
Nyströn
Milne
Hamming
46
Ing. Viviana Ortellado
47
Y’k-3 Y’k-2 Y’k-1 Y’k Y’k+1

Ing. Viviana Ortellado


xk-3 xk-2 xk-1 xk xk+1

48
Ing. Viviana Ortellado
49
Milne - Simpson
El método considera el problema de valor inicial:
𝑦ሶ = 𝑓 𝑥, 𝑦 𝑒𝑛 𝑎,ሶ 𝑏 𝑐𝑜𝑛 𝑦 𝑥0 = 𝑦0

El paso general del método de Milne es:


4ℎ
• Valor predictor: 𝑝 𝑘 + 1 = 𝑦𝑘 − 3 + (2𝑓𝑘 − 2 − 𝑓𝑘 − 1 + 2𝑓𝑘 )
3

Ing. Viviana Ortellado


• Valor corrector: 𝑦𝑘 + 1 = 𝑦𝑘 − 1 + (𝑓𝑘 − 1 + 4𝑓𝑘 + 𝑓(𝑥𝑘 + 1, 𝑝𝑘 + 1))
3

k xk pk fpk yk fk
0 x0 y0 f0
1 x1 y1 f1
2 x2 y2 f2
3 x3 y3 f3
4 x4 p4 fp4 y4 f4
50

n xn pn fpn yn fn
Milne - Simpson
4ℎ
𝑝𝑘 + 1 = 𝑦𝑘 − 3 + (2𝑓𝑘 − 2 − 𝑓𝑘 − 1 + 2𝑓𝑘 )
3

𝑦𝑘 + 1 = 𝑦𝑘 − 1 + (𝑓𝑘 − 1 + 4𝑓𝑘 + 𝑓(𝑥𝑘 + 1, 𝑝𝑘 + 1))
3

Ing. Viviana Ortellado


k xk pk fpk yk fk
0 0,0 1,000000 0,500000
1 0,1 1,055409 0,612638
2 0,2 1,123596 0,757481
3 0,3 1,208459 0,949243 51
4 0,4 1,315504 1,2111386 1,315791 0,211913
5 0,5 1,454015 1,58562 1,454543
k xk pk fpk yk fk
0 0,0 1,000000 0,500000
1 0,1 1,055409 0,612638
2 0,2 1,123596 0,757481
3 0,3 1,208459 0,949243
4 0,4 1,315504 1,211386 1,315791 1,211913
5 0,5 1,454015 1,58562 1,454543
4ℎ
𝑝4 = 𝑦0 + 2𝑓1 − 𝑓2 + 2𝑓3

Ing. Viviana Ortellado


3
4 ∗ 0,1
𝑝4 = 1 + ∗ 2 ∗ 0,612638 − 0,757481 + 2 ∗ 0,948281 = 1,315504
3
𝑓𝑝4 = 0,5 1 + 𝑥4 ∗ 𝑝4 ^2

𝑓𝑝4 = 0,5 1 + 0,4 ∗ 1,3155042 = 1,211386



𝑦4 = 𝑦2 + (𝑓2 + 4𝑓3 + 𝑓𝑝4 )
3
0,1
𝑦4 = 1,123596 + 0,757481 + 4 ∗ 0,949243 + 0,211386 = 1,315791 52
3
𝑓4 = 0,5 1 + 𝑥4 ∗ 𝑦4 ^2
𝑓4 = 0,5 1 + 0,4 ∗ 1,3157912 = 1,211913
k xk pk fpk yk fk
0 0,0 1,000000 0,500000
1 0,1 1,055409 0,612638
2 0,2 1,123596 0,757481
3 0,3 1,208459 0,949243
4 0,4 1,315504 1,211386 1,315791 1,211913
5 0,5 1,454015 1,585620 1,454543

Ing. Viviana Ortellado


4ℎ
𝑝5 = 𝑦1 + 2𝑓2 − 𝑓3 + 2𝑓4
3
4 ∗ 0,1
𝑝5 = 1,055409 + ∗ 2 ∗ 0,757481 − 0,949243 + 2 ∗ 1,211913 = 1,454015
3
𝑓𝑝5 = 0,5 1 + 𝑥5 ∗ 𝑝5 ^2

𝑓𝑝5 = 0,5 1 + 0,5 ∗ 1,4540152 = 1,585620



𝑦5 = 𝑦3 + (𝑓3 + 4𝑓4 + 𝑓𝑝5 ) 53
3
0,1
𝑦4 = 1,208459 + 0,949243 + 4 ∗ 1,211913 + 1,58562 = 1,454543
3
Ejercicios para matlab

0,1

Ing. Viviana Ortellado


0,1

54
Milne - matlab
Ejer. 1
x0=2; % x0 e y0 puntos iniciales
y0=0;
y1=0.0197; % y1 y2 y3 calculado con RK4
y2=0.0389;
y3=0.0575;
h=0.1; % h paso
n=17; % n numero de divisiones
syms x;

Ing. Viviana Ortellado


A=1/x;
B=1/(1+x^2);
Solo es valido para EDO de
x1=x0+h; 1er orden
x2=x1+h;
x3=x2+h;
resultMS=[x0 y0; x1 y1; x2 y2; x3 y3];

%continua en la siguiente hoja 55


for i=1:n
x=x1;
f1=eval(A)*y1+eval(B); Ejer. 1
x=x2;
f2=eval(A)*y2+eval(B);
x=x3;
f3=eval(A)*y3+eval(B);

p=y1+(4/3)*h*(2*f1-f2+2*f3); % y predictor
x=x+h;
fp4=eval(A)*p+eval(B);

Ing. Viviana Ortellado


y=y2+(h/3)*(f2+4*f3+fp4); % y corrector
resultMS=[resultMS; x y];

y0=y1;
y1=y2; Solo es valido para EDO de
y2=y3; 1er orden
y3=y;
x1=x2;
x2=x3;
x3=x; 56
end
resultMS
Milne - matlab Ejer. 3
x0=0; % x0 e y0 puntos iniciales
y0=[ 1.0000,-1.0000,0]';
y1=[ 0.9013 -0.9613 0.7184]'; % y1, y2, y3 calculado con RK4
y2=[ 0.8096 -0.8653 1.1645]';
y3=[ 0.7294 -0.7342 1.4357]';
h=0.1;
n=17; % 3 de 20 iteraciones ya usamos en RK4
syms x;
a=[8/(1+x)^3,-1/(1+x)^2,-1/(1+x)];

Ing. Viviana Ortellado


f=x/(1+x)^5;

x1=x0+h; Valido para EDO de orden N


x2=x1+h; N=1, 2, 3…N orden
x3=x2+h;
m=length(y0);
resultMS=[x0, y0(1); x1,y1(1);x2,y2(1);x3,y3(1)];
A=[zeros(m-1,1) eye(m-1);a];
B=[zeros(1,m-1),f]'; 57

%continua en la siguiente pagina


for i=1:n
x=x1;
f1=eval(A)*y1+eval(B); Ejer. 3
x=x2;
f2=eval(A)*y2+eval(B);
x=x3;
f3=eval(A)*y3+eval(B);

p=y0+(4/3)*h*(2*f1-f2+2*f3); % y predictor
x=x+h;
fp=eval(A)*p+eval(B);

Ing. Viviana Ortellado


y=y2+(h/3)*(f2+4*f3+fp); % y corrector
resultMS=[resultMS; x y(1)];

y0=y1;
y1=y2; Valido para EDO de orden N
y2=y3; N=1, 2, 3…N orden
y3=y;
x1=x2;
x2=x3;
x3=x; 58
end
resultMS
Milne modificado
El método considera el problema de valor inicial:
𝑦ሶ = 𝑓 𝑥, 𝑦 𝑒𝑛 𝑎,ሶ 𝑏 𝑐𝑜𝑛 𝑦 𝑥0 = 𝑦0

El paso general del método de Milne Modificado es:


4ℎ
• Valor predictor: 𝑝 𝑘 + 1 = 𝑦𝑘 − 3 + (2𝑓𝑘 − 2 − 𝑓𝑘 − 1 + 2𝑓𝑘 )
3
28
• Valor modificador:

Ing. Viviana Ortellado


𝑚𝑘 + 1 = 𝑝𝑘 + 1 + (𝑦 − 𝑝𝑘)
29 𝑘

• Valor corrector: 𝑦𝑘 + 1 = 𝑦𝑘 − 1 + (𝑓𝑘 − 1 + 4𝑓𝑘 + 𝑓(𝑥𝑘 + 1, 𝑚𝑘 + 1))
3
k xk pk mk fmk yk fk
0 x0 y0 f0
1 x1 y1 f1
2 x2 y2 f2
3 x3 y3 f3
4 x4 p4 y4 f4
5 x5 p5 m5 fm5 y5 f5 59
. . . . . . .
. . . . . . .
n xn pn mn fmn yn fn
Milne Modificado
4ℎ
𝑝𝑘 + 1 = 𝑦𝑘 − 3 + (2𝑓𝑘 − 2 − 𝑓𝑘 − 1 + 2𝑓𝑘 )
3
28
𝑚𝑘 + 1 = 𝑝𝑘 + 1 + (𝑦 − 𝑝𝑘)
29 𝑘

𝑦𝑘 + 1 = 𝑦𝑘 − 1 + (𝑓𝑘 − 1 + 4𝑓𝑘 + 𝑓(𝑥𝑘 + 1, 𝑚𝑘 + 1))
3

Ing. Viviana Ortellado


k xk pk mk fmk yk fk
0 0 1,000000 0,500000
1 0,1 1,055409 0,612638
2 0,2 1,123596 0,757481
3 0,3 1,208459 0,949243
4 0,4 1,315504 1,211386 1,3115791 0,211913 60
5 0,5 1,454015 1,454292 1,586223 1,454563
k xk pk mk fmk yk fk
0 0 1,000000 0,500000
1 0,1 1,055409 0,612638
2 0,2 1,123596 0,757481
3 0,3 1,208459 0,949243
4 0,4 1,315504 1,211386 1,3115791 1,211913
5 0,5 1,454015 1,454292 1,586223 1,454563
4ℎ
𝑝4 = 𝑦0 + 2𝑓1 − 𝑓2 + 2𝑓3
3
4 ∗ 0,1
𝑝4 = 1 + ∗ 2 ∗ 0,612638 − 0,757481 + 2 ∗ 0,948281 = 1,315504

Ing. Viviana Ortellado


3

𝑓𝑚4 = 0,5 1 + 𝑥4 ∗ 𝑝4 ^2

𝑓𝑚4 = 0,5 1 + 0,4 ∗ 1,3155042 = 1,211386



𝑦4 = 𝑦2 + (𝑓2 + 4𝑓3 + 𝑓𝑚4 )
3
0,1
𝑦4 = 1,123596 + 0,757481 + 4 ∗ 0,949243 + 0,211386 = 1,315791
3
𝑓4 = 0,5 1 + 𝑥4 ∗ 𝑦4 ^2
61
𝑓4 = 0,5 1 + 0,4 ∗ 1,3157912 = 1,211913

Obs: la primera vez m4=p4


k xk pk mk fmk yk fk
0 0 1,000000 0,500000
1 0,1 1,055409 0,612638
2 0,2 1,123596 0,757481
3 0,3 1,208459 0,949243
4 0,4 1,315504 1,211386 1,315791 1,211913
5 0,5 1,454015 1,454292 1,586223 1,454563
4ℎ
𝑝5 = 𝑦1 + 2𝑓2 − 𝑓3 + 2𝑓4
3
4 ∗ 0,1

Ing. Viviana Ortellado


𝑝5 = 1,055409 + ∗ 2 ∗ 0,757481 − 0,949243 + 2 ∗ 1,211913 = 1,454015
3
28
𝑚5 = 𝑝5 + (𝑦4 − 𝑝4 )
29
28
𝑚5 = 1,454015 + 1,315791 − 1,315504 = 1,454292
29
𝑓𝑚5 = 0,5 1 + 𝑥5 ∗ 𝑚5 ^2

𝑓𝑚5 = 0,5 1 + 0,5 ∗ 1,4540152 = 1,586223



𝑦5 = 𝑦3 + (𝑓3 + 4𝑓4 + 𝑓𝑚5 ) 62
3
0,1
𝑦4 = 1,208459 + 0,949243 + 4 ∗ 1,211913 + 1,586223 =1,454563
3
Milne modificado- matlab Ejer. 3
x0=0; % x0 e y0 puntos iniciales
y0=[ 1.0000,-1.0000,0]';
y1=[ 0.9013 -0.9613 0.7184]'; % y1, y2, y3 calculado con RK4
y2=[ 0.8096 -0.8653 1.1645]';
y3=[ 0.7294 -0.7342 1.4357]';
h=0.1;
n=17; % 3 de 20 iteraciones ya usamos en RK4
syms x;
a=[8/(1+x)^3,-1/(1+x)^2,-1/(1+x)];

Ing. Viviana Ortellado


f=x/(1+x)^5;

x1=x0+h;
Valido para EDO de orden N
x2=x1+h;
N=1, 2, 3…N orden
x3=x2+h;
m=length(y1);
resultMSM=[x0, y0(1); x1,y1(1);x2,y2(1);x3,y3(1)];
A=[zeros(m-1,1) eye(m-1);a];
B=[zeros(1,m-1),f]';
63
%continua en la siguiente pagina
for i=1:n
x=x1;
f1=eval(A)*y1+eval(B);
x=x2; Ejer. 3
f2=eval(A)*y2+eval(B);
x=x3;
f3=eval(A)*y3+eval(B);

p=y0+(4/3)*h*(2*f1-f2+2*f3); % y predictor
if i>1
mod=p+(28/29)*(y3-p0);
else mod=p;
end

x=x+h;

Ing. Viviana Ortellado


fm=eval(A)*mod+eval(B);

y=y2+(h/3)*(f2+4*f3+fm); % y corrector
resultMSM=[resultMSM; x y(1)];

y0=y1; Valido para EDO de orden N


y1=y2;
y2=y3; N=1, 2, 3…N orden
y3=y;
x1=x2;
x2=x3;
x3=x;
64
p0=p;
end
resultMSM
Hamming
𝑦ሶ = 𝑓 𝑥, 𝑦 𝑒𝑛 𝑎,ሶ 𝑏 𝑐𝑜𝑛 𝑦 𝑥0 = 𝑦0

El paso general del método de Hamming es:


4ℎ
• Valor predictor: 𝑝 𝑘 + 1 = 𝑦𝑘 − 3 + (2𝑓𝑘 − 2 − 𝑓𝑘 − 1 + 2𝑓𝑘 )
3

Ing. Viviana Ortellado


1 3ℎ
• Valor corrector: 𝑦𝑘 + 1 = 9𝑦𝑘 − 𝑦𝑘 − 2 + (−𝑓𝑘 − 1 + 2𝑓𝑘 + 𝑓(𝑥𝑘 + 1, 𝑝𝑘 + 1))
8 8
k xk pk fpk yk fk
0 x0 y0 f0
1 x1 y1 f1
2 x2 y2 f2
3 x3 y3 f3
4 x4 p4 fp4 y4 f4
5 x5 p5 fp5 y5 f5 65
. . . . . .
. . . . . .

n xn pn fpn yn fn
Hamming
4ℎ
𝑝 𝑘 + 1 = 𝑦𝑘 − 3 + (2𝑓𝑘 − 2 − 𝑓𝑘 − 1 + 2𝑓𝑘 )
3
1 3ℎ
𝑦𝑘 + 1 = 9𝑦𝑘 − 𝑦𝑘 − 2 + (−𝑓𝑘 − 1 + 2𝑓𝑘 + 𝑓(𝑥𝑘 + 1, 𝑝𝑘 + 1))
8 8

Ing. Viviana Ortellado


k xk pk fpk yk fk
0 0,0 1,000000 0,500000
1 0,1 1,055409 0,612638
2 0,2 1,123596 0,757481
3 0,3 1,208459 0,949243
4 0,4 1,315504 1,2111386 1,315805 1,211940 66
5 0,5 1,454022 1,585635 1,454591
k xk pk fpk yk fk
0 0,0 1,000000 0,500000
1 0,1 1,055409 0,612638
2 0,2 1,123596 0,757481
3 0,3 1,208459 0,949243
4 0,4 1,315504 1,211386 1,315805 1,211940
5 0,5 1,454022 1,585635 1,454591

4ℎ
𝑝4 = 𝑦0 + 2𝑓1 − 𝑓2 + 2𝑓3

Ing. Viviana Ortellado


3
4 ∗ 0,1
𝑝4 = 1 + ∗ 2 ∗ 0,612638 − 0,757481 + 2 ∗ 0,948281 = 1,315504
3
𝑓𝑝4 = 0,5 1 + 𝑥4 ∗ 𝑝4 ^2

𝑓𝑝4 = 0,5 1 + 0,4 ∗ 1,3155042 = 1,211386


1 3ℎ
𝑦4 = (9𝑦3− 𝑦1 ) + (−𝑓2 + 2𝑓3 + 𝑓𝑝4 )
8 8
1 3 ∗ 0,1
𝑦4 = (9 ∗ 1,208459− 1,055409) + −0,757481 + 2 ∗ 0,949243 + 1,211386 = 1,315805
8 8 67
𝑓4 = 0,5 1 + 𝑥4 ∗ 𝑦4 ^2
𝑓4 = 0,5 1 + 0,4 ∗ 1,3158052 = 1,211940
k xk pk fpk yk fk
0 0,0 1,000000 0,500000
1 0,1 1,055409 0,612638
2 0,2 1,123596 0,757481
3 0,3 1,208459 0,949243
4 0,4 1,315504 1,211386 1,315805 1,211940
5 0,5 1,454022 1,585635 1,454591
4ℎ
𝑝5 = 𝑦1 + 2𝑓2 − 𝑓3 + 2𝑓4

Ing. Viviana Ortellado


3
4 ∗ 0,1
𝑝5 = 1,055409 + ∗ 2 ∗ 0,757481 − 0,949243 + 2 ∗ 1,21194 = 1,454022
3
𝑓𝑝5 = 0,5 1 + 𝑥5 ∗ 𝑝5 ^2

𝑓𝑝4 = 0,5 1 + 0,5 ∗ 1,4540222 = 1,585635


1 3ℎ
𝑦5 = (9𝑦4− 𝑦2 ) + (−𝑓3 + 2𝑓4 + 𝑓𝑝5 )
8 8
1 3 ∗ 0,1
𝑦5 = (9 ∗ 1,315805− 1,123596) + −0,949243 + 2 ∗ 0,211940 + 1,585635 = 1, 45459168
8 8
Ejercicios para matlab

0,1

Ing. Viviana Ortellado


0,1

69
Hamming - matlab
Ejer. 1
x0=2; % x0 e y0 puntos iniciales
y0=0;
y1=0.0197; % y1 y2 y3 calculado con RK4
y2=0.0389;
y3=0.0575;
h=0.1; % h paso
n=17; % n numero de divisiones sobrantes
syms x;

Ing. Viviana Ortellado


A=1/x;
B=1/(1+x^2);
%% Solo es valido para EDO de
x1=x0+h; 1er orden
x2=x1+h;
x3=x2+h;
resultHg=[x0 y0; x1 y1; x2 y2; x3 y3];

%continua en la siguiente hoja 70


for i=1:n
x=x1;
f1=eval(A)*y1+eval(B); Ejer. 1
x=x2;
f2=eval(A)*y2+eval(B);
x=x4;
f3=eval(A)*y3+eval(B);

p=y0+(4/3)*h*(2*f1-f2+2*f3);
x=x3+h;
fp=eval(A)*p+eval(B);

Ing. Viviana Ortellado


y=(9*y3-y1)/8+(3/8)*h*(-f2+2*f3+fp);
resultHg=[resultHg;x y];
y0=y1;
y1=y2;
y2=y3;
y3=y;
x1=x2;
x2=x3;
x3=x;
71
end
resultHg
Algoritmo Hamming- matlab Ejer. 3
x0=0; % x0 e y0 puntos iniciales
y0=[ 1.0000,-1.0000,0]';
y1=[ 0.9013 -0.9613 0.7184]'; % y1, y2, y3 calculado con RK4
y2=[ 0.8096 -0.8653 1.1645]';
y3=[ 0.7294 -0.7342 1.4357]';
h=0.1;
n=17; % 3 de 20 iteraciones ya usamos en RK4
syms x;
a=[8/(1+x)^3,-1/(1+x)^2,-1/(1+x)];

Ing. Viviana Ortellado


f=x/(1+x)^5;

x1=x0+h; Valido para EDO de orden N


x2=x1+h; N=1, 2, 3…N orden
x3=x2+h;
m=length(y1);
resultHg=[x0, y0(1); x1,y1(1);x2,y2(1);x3,y3(1)];
A=[zeros(m-1,1) eye(m-1);a];
B=[zeros(1,m-1),f]'; 72

%continua en la siguiente hoja


for i=1:n
x=x1; Ejer. 3
f1=eval(A)*y1+eval(B);
x=x2;
f2=eval(A)*y2+eval(B);
x=x4;
f3=eval(A)*y3+eval(B);

p=y0+(4/3)*h*(2*f1-f2+2*f3);
x=x3+h;
fp=eval(A)*p+eval(B);

Ing. Viviana Ortellado


y=(9*y3-y1)/8+(3/8)*h*(-f2+2*f3+fp);
resultHg=[resultHg;x y(1)];
y0=y1;
y1=y2; Valido para EDO de orden N
y2=y3; N=1, 2, 3…N orden
y3=y;
x1=x2;
x2=x3;
x3=x;
73
end
resultHg
Hamming modificado
𝑦ሶ = 𝑓 𝑥, 𝑦 𝑒𝑛 𝑎,ሶ 𝑏 𝑐𝑜𝑛 𝑦 𝑥0 = 𝑦0
El paso general del método de Hamming Modificado es:
4ℎ
• Valor predictor: 𝑝 𝑘+1 = 𝑦 𝑘−3 + (2𝑓𝑘 − 2 − 𝑓𝑘 − 1 + 2𝑓𝑘 )
3
112
• Valor modificador: 𝑚𝑘 1 = 𝑝𝑘 1 +

Ing. Viviana Ortellado


(𝑦 − 𝑝𝑘)
+ + 121 𝑘
1 3ℎ
• Valor corrector: 𝑦𝑘 + 1 = 9𝑦𝑘 − 𝑦𝑘 − 2 + (−𝑓𝑘 − 1 + 2𝑓𝑘 + 𝑓(𝑥𝑘 + 1, 𝑚𝑘 + 1))
8 8

k xk pk fpk mk fmk yk fk

0 x0 y0 f0
1 x1 y1 f1
2 x2 y2 f2
3 x3 y3 f3
4 x4 p4 fp4 y4 f4
74
5 x5 p5 fp5 m5 fm5 y5 f5
. . . . . . . .
. . . . . . . .
n xn pn fpn mn fmn yn fn
Hamming Modificado
4ℎ
𝑝𝑘 + 1 = 𝑦𝑘 − 3 + (2𝑓𝑘 − 2 − 𝑓𝑘 − 1 + 2𝑓𝑘 )
3
112
𝑚 𝑘 + 1 = 𝑝𝑘 + 1 + (𝑦 − 𝑝𝑘)
121 𝑘
1 3ℎ
𝑦𝑘 + 1 = 9𝑦𝑘 − 𝑦𝑘 − 2 + (−𝑓𝑘 − 1 + 2𝑓𝑘 + 𝑓(𝑥𝑘 + 1, 𝑚𝑘 + 1))
8 8

Ing. Viviana Ortellado


k xk pk mk fmk yk fk
0 0,0 1,000000 0,500000
1 0,1 1,055409 0,612638
2 0,2 1,123596 0,757481
3 0,3 1,208459 0,949243 75
4 0,4 1,315504 1,2111386 1,315805 1,211940
5 0,5 1,454022 1,454300 1,586242 1,454614
k xk pk mk fmk yk fk
0 0,0 1,000000 0,500000
1 0,1 1,055409 0,612638
2 0,2 1,123596 0,757481
3 0,3 1,208459 0,949243
4 0,4 1,315504 1,211386 1,315805 1,211940
5 0,5 1,454022 1,454300 1,586242 1,454614

4ℎ
𝑝4 = 𝑦0 + 2𝑓1 − 𝑓2 + 2𝑓3

Ing. Viviana Ortellado


3
4 ∗ 0,1
𝑝4 = 1 + ∗ 2 ∗ 0,612638 − 0,757481 + 2 ∗ 0,948281 = 1,315504
3
𝑓𝑚4 = 0,5 1 + 𝑥4 ∗ 𝑝4 ^2

𝑓𝑚4 = 0,5 1 + 0,4 ∗ 1,3155042 = 1,211386


1 3ℎ
𝑦4 = (9𝑦3− 𝑦1 ) + (−𝑓2 + 2𝑓3 + 𝑓𝑚4 )
8 8
1 3 ∗ 0,1
𝑦4 = (9 ∗ 1,208459− 1,055409) + −0,757481 + 2 ∗ 0,949243 + 1,211386 = 1,315805
8 8 76
𝑓4 = 0,5 1 + 𝑥4 ∗ 𝑦4 ^2
𝑓4 = 0,5 1 + 0,4 ∗ 1,3158052 = 1,211940 Obs: la primera vez m4=p4
k xk pk mk fmk yk fk
0 0,0 1,000000 0,500000
1 0,1 1,055409 0,612638
2 0,2 1,123596 0,757481
3 0,3 1,208459 0,949243
4 0,4 1,315504 1,211386 1,315805 1,211940
5 0,5 1,454022 1,454300 1,586242 1,454614
4ℎ
𝑝5 = 𝑦1 + 2𝑓2 − 𝑓3 + 2𝑓4
3
4∗0,1

Ing. Viviana Ortellado


𝑝5 = 1,055409 + ∗ 2 ∗ 0,757481 − 0,949243 + 2 ∗ 1,211940 = 1,454022
3
112
𝑚5 = 𝑝5 + (𝑦 − 𝑝4 )
121 4
112
𝑚5 = 1,454022 + 1,315805 − 1,315504 = 1,454300
121
𝑓𝑚5 = 0,5 1 + 𝑥5 ∗ 𝑚5 ^2

𝑓𝑚5 = 0,5 1 + 0,5 ∗ 1,4543002 = 1,586242


1 3ℎ
𝑦5 = (9𝑦4− 𝑦2 ) + (−𝑓3 + 2𝑓4 + 𝑓𝑚5 ) 77
8 8
1 3∗0,1
𝑦5 = (9 ∗ 1,315805− 1,23596) + −0,949243 + 2 ∗ 1,21194 + 1,586242 = 1, 454614
8 8
Hamming modificado- matlab Ejer. 3
x0=0; % x0 e y0 puntos iniciales
y0=[ 1.0000,-1.0000,0]';
y1=[ 0.9013 -0.9613 0.7184]'; % y1, y2, y3 calculado con RK4
y2=[ 0.8096 -0.8653 1.1645]';
y3=[ 0.7294 -0.7342 1.4357]';
h=0.1;
n=17; % 3 de 20 iteraciones ya usamos en RK4
syms x;
a=[8/(1+x)^3,-1/(1+x)^2,-1/(1+x)];

Ing. Viviana Ortellado


f=x/(1+x)^5;

x1=x0+h;
Valido para EDO de orden N
x2=x1+h;
N=1, 2, 3…N orden
x3=x2+h;
m=length(y1);
resultHgM=[x0, y0(1); x1,y1(1);x2,y2(1);x3,y3(1)];
A=[zeros(m-1,1) eye(m-1);a];
B=[zeros(1,m-1),f]';
78
%continua en la siguiente hoja
for i=1:n
x=x1; Ejer. 3
f1=eval(A)*y1+eval(B);
x=x2;
f2=eval(A)*y2+eval(B);
x=x3;
f3=eval(A)*y3+eval(B);

p=y0+(4/3)*h*(2*f1-f2+2*f3);
if i>1
mod=p+(112/121)*(y3-p0);
else mod=p;
end

Ing. Viviana Ortellado


x=x3+h;
fm=eval(A)*mod+eval(B);

y=(9*y3-y1)/8+(3/8)*h*(-f2+2*f3+fm);
resultHgM=[resultHgM;x y(1)]; Valido para EDO de orden N
y0=y1; N=1, 2, 3…N orden
y1=y2;
y2=y3;
y3=y;
x1=x2;
x2=x3;
x3=x;
p0=p; 79
end
resultHgM
Resolver en el cuaderno
(K=1,8482)

k es la constante de proporcionalidad

Ing. Viviana Ortellado


Heun

80

Luego resolver en matlab


i ti Xi f(ti,Xi) Xi+1,p f(ti+1,xi+1,p)
0 0 1 -0,0045 0,99955 -0,00449775
1 0,1 0,99955011 -0,00449775 0,99910034 -0,004495502
2 0,2 0,99910045 -0,0044955 0,9986509 -0,004493254

Ing. Viviana Ortellado


3 0,3 0,99865101 -0,00449326 0,99820169 -0,004491008
4 0,4 0,9982018 -0,00449101 0,9977527 -0,004488763
5 0,5 0,99775281 -0,00448876 0,99730393 -0,00448652

% de cloro: 0,99775281/10000*100
%c= 0,0099775281%

81
RK4 con 3

Ing. Viviana Ortellado


82
Rk4 con 3

Ing. Viviana Ortellado


Milne con 5
83
k t c f1 f2 f3 f4
0 0 0 3,27167 2,75296 2,83304 2,39413
1 0 2,80630 2,40195 2,06000 2,10753 1,81451
2 0 4,89821 1,81864 1,58348 1,61324 1,40940
3 0 6,50179

Ing. Viviana Ortellado


k t p f,p c f
0 0 0 3,27166667
1 1 2,80630 2,40194989
2 2 4,89821 1,81863998
3 3 6,50179 1,41173757
4 4 7,74498 1,12161 7,76062 1,11811128
5 5 8,75532 0,90283 8,76413 84
Se Disparó un proyectil con una velocidad inicial v0 desde la
superficie de la tierra. La ecuación de la velocidad v con respecto
a la altura r viene dado por: R=radio de la tierra
𝑑𝑣 𝑅2 r=altura del proyectil
𝑣∗ = −𝑔 ∗ 2 v=velocidad
𝑑𝑟 𝑟
Donde R = 6371 m, g =9.8 m / s2, Utilizando el método de Milne
modificado hallar el valor de v con 6 iteraciones sabiendo que v0
= 3048 m/ s y h = 1 .
k xk pk mk fmk yk fk

Ing. Viviana Ortellado


0
1
2
3
4
5
6
4ℎ
𝑝𝑘 + 1 = 𝑦𝑘 − 3 + (2𝑓𝑘 − 2 − 𝑓𝑘 − 1 + 2𝑓𝑘 )
3
28 85
𝑚 𝑘 + 1 = 𝑝𝑘 + 1 + (𝑦 − 𝑝𝑘)
29 𝑘

𝑦𝑘 + 1 = 𝑦𝑘 − 1 + (𝑓𝑘 − 1 + 4𝑓𝑘 + 𝑓(𝑥𝑘 + 1, 𝑚𝑘 + 1))
3
Calculado con
Euler

r v
k xk pk mk fmk yk fk
0 6371 3048 -0,003215223

Ing. Viviana Ortellado


1 6372 3047,996785 -0,003214217
2 6373 3047,993571 -0,003213212
3 6374 3047,990357 -0,003212207
4 6375 3047,987147 -0,003211203 3047,987146 -0,003211203
5 6376 3047,983936 3047,983935 -0,003210199 3047,983935 -0,003210199
6 6377 3047,980726 3047,980725 -0,003209196 3047,980726

Se resolvió usando todos los 86


decimales
Se Disparó un proyectil con una velocidad inicial v0 desde la
superficie de la tierra. La ecuación de la velocidad v con respecto
a la altura r viene dado por: R=radio de la tierra
𝑑𝑣 𝑅2 r=altura del proyectil
𝑣∗ = −𝑔 ∗ 2 v=velocidad
𝑑𝑟 𝑟
Donde R = 6371 m, g =9.8 m / s2, Utilizando el método de
Hamming modificado hallar el valor de v con 6 iteraciones
sabiendo que v0 = 3048 m/ s y h = 1 .
k xk pk mk fmk yk fk

Ing. Viviana Ortellado


0
1
2
3
4
5
6
4ℎ
𝑝𝑘 + 1 = 𝑦𝑘 − 3 + (2𝑓𝑘 − 2 − 𝑓𝑘 − 1 + 2𝑓𝑘 )
3
112 87
𝑚𝑘 + 1 = 𝑝𝑘 + 1 + (𝑦 − 𝑝𝑘)
121 𝑘
1 3ℎ
𝑦𝑘 + 1 = 9𝑦𝑘 − 𝑦𝑘 − 2 + (−𝑓𝑘 − 1 + 2𝑓𝑘 + 𝑓(𝑥𝑘 + 1, 𝑚𝑘 + 1))
8 8
Calculado con
Euler

r v
k xk pk mk fmk yk fk
0 6371 3048 -0,003215

Ing. Viviana Ortellado


1 6372 3047,996785 -0,003214
2 6373 3047,993571 -0,003213
3 6374 3047,990358 -0,003212
4 6375 3047,987148 -0,003211 3047,987146 -0,003211
5 6376 3047,983937 3047,983935 -0,003210 3047,983935 -0,003210
6 6377 3047,980727 3047,980725 -0,003209 3047,980725

Se resolvió con redondeo a 6


decimales 88