You are on page 1of 28

Métodos Numéricos para

Ingeniería

DR. ALONSO ALVAREZ O.

FACULTAD DE INFORMATICA Y ELECTRONICA

Métodos numéricos para PVIs

Métodos Numéricos para en Ingeniería


Problemas de valor inicial
Teorema: Supongamos que D={(x , y): x ∈ [a ,b], y ∈ R} y que f(x , y) es continua
en D. Si, dados (x, 𝑦1 ),(x, 𝑦𝟐 )∈ D, existe una constante L>0 tal que f satisface
|f (x, 𝑦1 )-f(x, 𝑦𝟐 )|≤ L|𝑦𝟏 − 𝑦𝟐 |

(condición de Lipschitz), entonces el problema de valor inicial (PVI)


𝑦 ′ = 𝑓 𝑥, 𝑦 , x ∈ [a,b], y(a)=𝑦𝒂

tiene una solución única y(x), x ∈ [a,b].

• Técnicas analíticas: solución continua y(x).

• Técnicas numéricas: solución discreta 𝑦𝑖 ≈ 𝑦 𝑥𝑖 ,


i = 0,1,2,…,n, donde 𝑥𝑖 , i= 0,1,2,…,n son los nodos de la discretización.

Métodos Numéricos para Ingeniería


Discretización del problema
• Dividimos el intervalo a,b en N subintervalos, [𝑥𝑖 , 𝑥𝑖+1 ],
cuyos extremos son los nodos equiespaciados
𝑥𝑖 = a + i h, i = 0,1,2, … , N, siendo h =
𝑏−𝑎
𝑁
el paso de la
partición.
a+2h a + (N - 1)h

a b= a + Nh

a+h a + 3h a+(N - 2)h

• Solución aproximada en los nodos: 𝑦𝑖 ≈ 𝑦 𝑥𝑖 ,


i= 1,2,…,N (incógnitas), y 𝑥0 = 𝑦𝑎 (condición inicial).

Métodos Numéricos para Ingeniería


Métodos numéricos para PVIs
• Diseño del método
- Mediante cuadraturas
𝑦 ′ = 𝑓 𝑥, 𝑦 , x∈ a,b y a =𝑦𝑎
𝑥
y x = 𝑦𝑎 + ‫ 𝑓 𝑎׬‬t , y(t) dt

- Diferenciación numérica
y x + h – y(x)
𝑦′= + L h
h
donde L h es el error de truncamiento.
- Desarrollos de Taylor
h
y x+ h = y x + 𝑦′ x h + 𝑦 ′′ 𝜉 , 𝜉∈ x,x + h
2

Métodos Numéricos para Ingeniería


Errores
• Error de discretización local (𝑒𝑘 , en cada nodo) o global
(E h =
1
max|𝑒𝑘 |, su acumulación): es el error que se
h 1≤k ≤N
comete en un solo paso cuando reemplazamos un
proceso infinito por uno finito,
- inherente a cualquier algoritmo que podamos escoger,
- en gran medida es independiente del error de redondeo.
𝑒𝑘 = y 𝑥𝑘 - 𝑦𝑘 , k= 0,1,…N
• Error de redondeo local (en cada nodo) o global (su
acumulación)
- Provocado por la limitada precisión de los ordenadores
- su magnitud depende del número de dígitos en la mantisa
usando aritmética de coma flotante.
• Error total: suma de los errores de truncamiento global y
redondeo global.
Métodos Numéricos para Ingeniería
Consistencia, convergencia y estabilidad
Se dice que un método numérico converge a la solución
y x de un problema de valor inicial en x = 𝑥,ҧ si el error
𝑒𝑘 = y 𝑥𝑘 - 𝑦𝑘 en 𝑥𝑘 = 𝑥ҧ satisface que
𝑒𝑘 →0
cuando h → 0.

Un método numérico es consistente con un problema de


valor inicial si verifica
lim max|𝐿𝑘 ℎ | = 0,
h→0 0≤k ≤N

donde 𝐿𝑘 ℎ es el error de truncamiento local.

Métodos Numéricos para Ingeniería


Consistencia, convergencia y estabilidad

Un esquema numérico es estable punto a punto si


pequeñas perturbaciones del esquema o de las
condiciones iniciales afectan poco a la solución.

Teorema de Lax: Dado un método numérico asociado a


un PVI, si el esquema es consistente entonces

es estable punto a punto ⇔ es convergente

Métodos Numéricos para Ingeniería


Métodos de un paso

Métodos Numéricos para Ingeniería


11
Método de Euler I
y x+h – y(x)
Puesto que por definición, dy
= lim , el enfoque
dx h→0 h

más simple para resolver la ecuación diferencial


𝑦′ = f x , y , x∈ a,b
es aproximarla por
y x+h – y(x)
≈ f x, y ,
h
y x + h ≈ y x + hf x , y
donde h es próximo a cero.
Así, conocida la condición inicial y 𝑥0 = 𝑦𝑎 ,
𝑦1 = 𝑦0 + ℎ𝑓 𝑥0 , 𝑦0
𝑦2 = 𝑦1 + ℎ𝑓 𝑥1 , 𝑦1

𝑦𝑘+1 = 𝑦𝑘 + ℎ𝑓 𝑥𝑘 , 𝑦𝑘 k = 0,1,…, N - 1

Métodos Numéricos para Ingeniería


Método de Euler II
Integrando directamente la ecuación diferencial
𝑦′ = f x , y , x∈ a,b , y a = 𝑦𝑎
𝑥
y x = 𝑦𝑎 + ‫ 𝑓 𝑎׬‬t , y(t) dt

En particular,
𝑥
y 𝑥1 = y(𝑥0 ) + ‫ 𝑥׬‬1 𝑓 t , y(t) dt
0

y aproximando la integral
𝑥
‫ 𝑥׬‬1 𝑓 t , y(t) dt ≈ 𝑥1 − 𝑥0 f 𝑥0 , y(𝑥0 )
0

obtenemos
y 𝑥1 ≈ 𝑦 𝑥0 + ℎ𝑓 𝑥0 ,y(𝑥0 )
donde h es el paso de la integración.
Métodos Numéricos para Ingeniería
Método de Euler III
Consideremos la función y(x) solución de la ecuación
diferencial
𝑦′ = f x , y , x∈ a,b
Dado el paso h , desarrollamos el polinomio de Taylor de
segundo grado:
y x +h = y x + 𝑦 ′ x h + 0 ℎ2
Sustituyendo 𝑦 ′ = f (x , y),
y x + h = y ( x ) + hf ( x , y ) + 0 ℎ2
Así, conocida la condición inicial 𝑦 𝑥0 = 𝑦𝑎 ,
𝑦 𝑥1 ≈ 𝑦1 = 𝑦0 + h f 𝑥0 , 𝑦0
𝑦 𝑥2 ≈ 𝑦2 = 𝑦1 + h f 𝑥1 , 𝑦1

𝑦 𝑥𝑘+1 ≈ 𝑦𝑘+1 = 𝑦𝑘 + h f 𝑥𝑘 , 𝑦𝑘 k= 0,1,…, N - 1

Métodos Numéricos para Ingeniería


Análisis de convergencia
Teorema: Sea 𝑓 tal que 𝑦 ′𝑥 = 𝑓 𝑥, 𝑦 𝑥 con condiciones
iniciales 𝑦 𝑥0 = 𝑦0 . Si
𝜕𝑓
𝑥, 𝑦 ≤ 𝑀1, ∀𝑥∈ 𝑎,𝑏
𝜕𝑦
e
𝑦 ′′ 𝑥 ≤ 𝑀 ∀𝑥 ∈ 𝑎, 𝑏
entonces las aproximaciones de Euler convergen a la
solución exacta 𝑥ഥ cuando ℎ → 0, y el error global de
discretización del método de Euler
𝐿 ℎ
𝑒𝑘 ≤ 𝑒𝑀1 𝑥ҧ − 𝑥0
𝑀1

satisface 𝐸 ℎ = 𝑂 ℎ , ℎ → 0 ya que 𝑒 𝑛 → 0 por ser


𝐿 ℎ =𝑂 ℎ
Métodos Numéricos para en Ingeniería
Algoritmo de Euler
• Entrada:
– a, b, extremos del intervalo
– y1, condición inicial
– N, número de subintervalos
• Proceso:
– Cálculo del paso de integración, h
– Obtención del vector de nodos, x
– Inicialización del vector solución y en a
– Para k desde 1 hasta N
𝑦𝑘+1 = 𝑦𝑘 + ℎ𝑓 𝑥𝑘 , 𝑦𝑘
– Fin para k
• Salida: x, y

Métodos Numéricos para Ingeniería
Ejemplo
𝑦 ′ 𝑡 = 1 − 2𝑡 𝑦 𝑡 n=2

𝑦 0 =1 2
n=4
n=8
n=16
n Error solex
𝐸𝑛 Τ𝐸 𝑛 1
máximo 2

2 5.0025 0

4 0.8862 5.6433
-1
8 0.3531 2.5094
16 0.1688 2.0921 -2

32 0.0819 2.0606
-3
64 0.0403 2.0317 0.5 1 1.5 2 2.5 3

1 1 2
Solución exacta (solex) − −𝑥
𝑦 𝑥 = 𝑒 2
4

Métodos Numéricos para Ingeniería


Métodos de Runge-Kutta: Heun I
Integrando directamente la ecuación diferencial
𝑥1

𝑦 𝑥1 = 𝑦 𝑥0 + න 𝑓 𝑡, 𝑦 𝑡 ⅆ𝑡)
y aproximando la integral por trapecios tendremos𝑥0
𝑥1
𝑥1 − 𝑥0 𝑓 𝑥 , 𝑦 𝑥 + 𝑓 𝑥1 , 𝑦 𝑥1
න 𝑓 𝑡, 𝑦 𝑡 ⅆ𝑡 ≈ 0 0
2
𝑥0
obtenemos ℎ
𝑦 𝑥1 ≈ 𝑦 𝑥0 + 𝑓 𝑥0 , 𝑦 𝑥0 + 𝑓 𝑥1 , 𝑦 𝑥1
2
siendo ℎ el paso de la integración. Sin embargo, Necesitamos conocer
𝑦 𝑥1 !
• predecimos primero un valor por Euler,
𝑦ത1 = 𝑦0 + ℎ𝑓 𝑥0 , 𝑦0
• Lo ajustamos después por trapecios
ℎ 𝑘1 + 𝑘2
𝑦 𝑥1 ≈ 𝑦 + 𝑓 𝑥0 , 𝑦0 + 𝑓 𝑥1 , 𝑦ത1 = 𝑦0 + = 𝑦1
2 2
Donde
𝑘1 = ℎ𝑓 𝑥0 , 𝑦0 , 𝑘2 = ℎ𝑓 𝑥1 , 𝑦0 + 𝑘1

Métodos Numéricos para Ingeniería


Métodos de Runge-Kutta: Heun II
En primer lugar, desarrollamos por Taylor (orden 2)
ℎ 2
𝑦 𝑥 + ℎ = 𝑦 𝑥 + 𝑦 ′ 𝑥 ℎ + 𝑦 ′′ 𝑥 + 𝑂 ℎ3 ∗
2
𝜕𝑓 𝑥, 𝑦 𝜕𝑓 𝑥, 𝑦 ′
Teniendo en cuenta que 𝑦 ′ = 𝑓 𝑥, 𝑦 𝑒𝑦 ′′ = + 𝑦
𝜕𝑥 𝜕𝑦
1 2 𝜕𝑓 𝑥, 𝑦 𝜕𝑓 𝑥, 𝑦
𝑦 𝑥 + ℎ = 𝑦 + ℎ𝑓 𝑥, 𝑦 + ℎ + 𝑓 𝑥, 𝑦 + 0 ℎ3 =
2 𝜕𝑥 𝜕𝑦
1
= 𝑦 + ℎ𝑓 𝑥, 𝑦
2 1 𝜕𝑓 𝑥, 𝑦 𝜕𝑓 𝑥, 𝑦
+ ℎ 𝑓 𝑥, 𝑦 + ℎ + ℎ𝑓 𝑥, 𝑦 + 0 ℎ3
2 𝜕𝑥 𝜕𝑦
Consideremos ahora el desarrollo de Taylor para dos variables
𝜕𝑓 𝑥, 𝑦 𝜕𝑓 𝑥, 𝑦
𝑓 𝑥 + ℎ, 𝑦 + 𝑘 = 𝑓 𝑥, 𝑦 + ℎ +𝑘
𝜕𝑥 𝜕𝑦
𝜕 2 𝑓 𝑥, 𝑦 1 2 ⅆ 2 𝑓 𝑥, 𝑦 2
𝜕 2
𝑓 𝑥, 𝑦
+ℎ𝑘 + ℎ +𝑘 +⋯
𝜕𝑥𝜕𝑦 2 𝜕𝑡 2 𝜕𝑦 2

Métodos Numéricos para Ingeniería


Métodos de Runge-Kutta: Heun II
𝜕𝑓 𝑥, 𝑦 𝜕𝑓 𝑥, 𝑦
𝑓 𝑥 + ℎ, 𝑦 + 𝑘 = 𝑓 𝑥, 𝑦 + ℎ +𝑘
𝜕𝑥 𝜕𝑦

𝜕 2 𝑓 𝑥, 𝑦 1 2 ⅆ 2 𝑓 𝑥, 𝑦 𝜕 2 𝑓 𝑥, 𝑦
+ℎ𝑘 + ℎ 2
+ 𝑘2 +⋯
𝜕𝑥𝜕𝑦 2 𝜕𝑡 𝜕𝑦 2
Sustituyendo ℎ por ℎ𝑓 𝑥, 𝑦 :
𝜕𝑓 𝑥, 𝑦 𝜕𝑓 𝑥, 𝑦
𝑓 𝑥 + ℎ, 𝑦 + ℎ𝑓 𝑥, 𝑦 = 𝑓 𝑥, 𝑦 + ℎ +𝑘 + 0 ℎ2 ∗∗
𝜕𝑥 𝜕𝑦
Como
1
𝑦 𝑥 + ℎ = 𝑦 + ℎ𝑓 𝑥, 𝑦
2
1 𝜕𝑓 𝑥, 𝑦 𝜕𝑓 𝑥, 𝑦
+ ℎ 𝑓 𝑥, 𝑦 + ℎ + ℎ𝑓 𝑥, 𝑦 + 0 ℎ3
2 𝜕𝑥 𝜕𝑦
resulta:
1 1
𝑦 𝑥 + 𝑦 = 𝑦 + ℎ𝑓 𝑥, 𝑦 + ℎ𝑓 𝑥 + ℎ, 𝑦 + ℎ𝑓 𝑥, 𝑦 + 0 ℎ3
2 2

Métodos Numéricos para Ingeniería


Métodos de Runge-Kutta: Heun II
1 1
𝑦 𝑥 + 𝑦 = 𝑦 + ℎ𝑓 𝑥, 𝑦 + ℎ𝑓 𝑥 + ℎ, 𝑦 + ℎ𝑓 𝑥, 𝑦 + 0 ℎ3
2 2
En particular, si 𝑥 = 𝑥𝑘 y teniendo en cuenta que 𝑦 𝑥𝑘 + ℎ = 𝑦 𝑥𝑘 + 1 ,
se puede escribir una aproximación:
1 1
𝑦 𝑥𝑘 + 1 = 𝑦 𝑥𝑘 + ℎ𝑓 𝑥𝑘 , 𝑦 𝑥𝑘 + ℎ𝑓 𝑥𝑘+1 , 𝑦 𝑥𝑘 + ℎ𝑓 𝑥𝑘 , 𝑦 𝑥𝑘 + 0 ℎ3
2 2

Y llamando 𝑦𝑘 a las aproximaciones de 𝑦 𝑥𝑘 :

1 1
𝑦𝑘+1 = 𝑦𝑘 + ℎ𝑓 𝑥𝑘 , 𝑦𝑘 + ℎ𝑓 𝑥𝑘+1 , 𝑦𝑘 + ℎ𝑓 𝑥𝑘 , 𝑦𝑘
2 2
o equivalentemente,
𝑘1 = ℎ𝑓 𝑥𝑘 , 𝑦𝑘
𝑘2 = ℎ𝑓 𝑥𝑘+1 , 𝑦𝑘 + 𝑘1
𝑘1 + 𝑘2
𝑦𝑘+1 = 𝑦𝑘
2
conocido como método Runge-Kutta de segundo orden (2 etapas) o de Heun.

Métodos Numéricos para Ingeniería


Análisis del error
Teorema: Sea 𝑓 tal que y´(x) = 𝑓 𝑥, 𝑦 𝑥 con condiciones
iniciales 𝑦 𝑥0 = 𝑦0 . Si 𝑦 𝑥 ∈ 𝑐 5 𝑎, 𝑏 y 𝑥𝑘 , 𝑦𝑘 𝑘 ≥ 0 es la
sucesión de aproximaciones dadas por el método de
Heun, entonces
𝑒𝑘 ≤ 𝑦 𝑥𝑘 − 𝑦𝑘
1 1
= 𝑦 𝑥𝑘 − 𝑦𝑘−1 − ℎ𝑓 𝑥𝑘−1 , 𝑦𝑘−1 − ℎ𝑓 𝑥𝑘 , 𝑦 + ℎ𝑓 𝑥𝑘−1 , 𝑦𝑘−1
2 2
= 0 ℎ3
y
1
𝐸 ℎ = max 𝑒𝑘 = 𝑂 ℎ4 .
ℎ 1≤𝑘≤𝑁

Métodos Numéricos para Ingeniería


Algoritmo de Heun
• Entrada:
– a, b, extremos del intervalo
– y1, condición inicial
– N, número de subintervalos
• Proceso:
– Cálculo del paso de integración, h y obtención de x
– Inicialización del vector solución y en a
– Para k desde 1 hasta N
𝑘1 = ℎ𝑓 𝑥𝑘 , 𝑦𝑘
𝑘2 = ℎ𝑓 𝑥𝑘+1 , 𝑦𝑘 + 𝑘1
𝑘1 + 𝑘2
𝑦𝑘+1 = 𝑦𝑘
2
– Fin para k
• Salida: x, y

Métodos Numéricos para Ingeniería


Ejemplo
𝑦 ′ 𝑡 = 1 − 2𝑡 𝑦 𝑡 1.4
n=8
n=16
𝑦 0 =1 1.2
n=32
solex
1
n Error máximo 𝐸𝑛 Τ𝐸 𝑛
2
0.8
2 14.0025
4 0.8893 15.7480 0.6

8 0.0600 14.8148 0.4

16 0.0104 5.7937
0.2
32 0.0022 4.6189
0
64 5.2813e-04 4.2463 0 0.5 1 1.5 2 2.5 3

1 1 2
− −𝑥
Solución exacta (solex) 𝑦 𝑥 = 𝑒 2
4

Métodos Numéricos para Ingeniería


Métodos de Runge-Kutta: Orden 4
Integrando directamente la ecuación diferencial
𝑥1

𝑦 𝑥1 = 𝑦 𝑥0 + න 𝑓 𝑡, 𝑦 𝑡 ⅆ𝑡)
𝑥0
y aproximando la integral Simpson
𝑥1
𝑥1 − 𝑥0 𝑥1 𝑥1
න 𝑓 𝑡, 𝑦 𝑡 ⅆ𝑡 ≈ 𝑓 𝑥0 , 𝑦 𝑥0 + 4𝑓 ,𝑦 + 𝑓 𝑥1 , 𝑦 𝑥1
6 2 2
𝑥0

obtenemos
ℎ ℎ ℎ
𝑦 𝑥1 ≈ 𝑦 𝑥0 + 𝑓 𝑥0 , 𝑦 𝑥0 + 4𝑓 𝑥0 + , 𝑦 𝑥0 + + 𝑓 𝑥1 , 𝑦 𝑥1
6 2 2

Siendo ℎ el paso de la integración. Sin embargo,



¡necesitamos conocer tanto 𝑦 𝑥0 + como 𝑦 𝑥1 !
2

ℎ ℎ 1
𝑓 𝑥0 + , 𝑦 𝑥0 + = 𝑓 − 𝑓2
2 2 2 1
Métodos Numéricos para Ingeniería
Métodos de Runge-Kutta: orden 4
ℎ ℎ 1
𝑓 𝑥0 + , 𝑦 𝑥0 + = 𝑓2 − 𝑓3
2 2 2

donde
𝑓1 = 𝑓 𝑥0 , 𝑦 𝑥0

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

ℎ ℎ
𝑓3 = 𝑓 𝑥0 + , 𝑦0 + 𝑓1
2 2


𝑦 𝑥1 ≈ 𝑦 𝑥0 + 𝑓1 + 2𝑓2 + 2𝑓3 + 𝑓 𝑥1 , 𝑦0 + ℎ𝑓3
6

Métodos Numéricos para Ingeniería


Métodos de Runge-Kutta: orden 4

En general,

𝑦𝑘+1 = 𝑦𝑘 + 𝑘1 + 2𝑘2 + 2𝑘3 + 𝑘4
6
donde 𝑘1 = 𝑓 𝑥𝑘 , 𝑦𝑘
ℎ ℎ
𝑘2 = 𝑓 𝑥𝑘 + , 𝑦𝑘 + 𝑘1
2 2
ℎ ℎ
𝑘3 = 𝑓 𝑥𝑘 + , 𝑦𝑘 + 𝑘2
2 2

𝑘4 = 𝑓 𝑥𝑘+1 , 𝑦𝑘 + ℎ𝑘3
Denotaremos este método por RK-4 (4 etapas).

Métodos Numéricos para Ingeniería


Análisis del error
Teorema: Sea 𝑓 tal que y´(x) = 𝑓 𝑥, 𝑦 𝑥 con condiciones
iniciales 𝑦 𝑥0 = 𝑦0 . Si 𝑦 𝑥 ∈ 𝑐 5 𝑎, 𝑏 y 𝑥𝑘 , 𝑦𝑘 𝑘 ≥ 0 es la
sucesión de aproximaciones dadas por el método de RK-4,
entonces
𝑒𝑥 ≤ 𝑦 𝑥𝑘 − 𝑦𝑘 = 𝑂 ℎ5 ,

1
y
𝐸 ℎ = max 𝑒𝑘 = 𝑂 ℎ4 .
ℎ 1≤𝑘≤𝑁

Métodos Numéricos para Ingeniería


Algoritmo de RK-4
• Entrada:
– a, b, y1, N
• Proceso:
– Cálculo del paso de integración, h y obtención de x
– Inicialización del vector solución y en a
– Para desde 1 hasta N
ℎ ℎ
𝑘1 = 𝑓 𝑥𝑘 , 𝑦𝑘 𝑘2 = 𝑓 𝑥𝑘 + , 𝑦𝑘 + 𝑘1
2 2
ℎ ℎ
𝑘3 = 𝑓 𝑥𝑘 + , 𝑦𝑘 + 𝑘2 𝑘4 = 𝑓 𝑥𝑘+1 , 𝑦𝑘 + ℎ𝑘3
2 2

𝑦𝑘+1 = 𝑦𝑘 + 𝑘1 + 2𝑘2 + 2𝑘3 + 𝑘4
6
– Fin para

• Salida: x, y
Métodos Numéricos para Ingeniería
Dr. Alonso Álvarez O.
Ejemplo
𝑦 ′ 𝑡 = 1 − 2𝑡 𝑦 𝑡 1.4
n=8
n=16
1.2
𝑦 0 =1 n=32
solex
1

n Error máximo 𝐸𝑛 Τ𝐸 𝑛
2 0.8

2 3.9979
0.6
4 0.2292 17.4422
8 0.0034 67.4035 0.4

16 1.4281e-04 23.8114 0.2

32 7.2959e-06 19.5745
0
0 0.5 1 1.5 2 2.5 3
64 4.1104e-07 17.7497
1 1 2
− −𝑥
Solución exacta (solex) 𝑦 𝑥 = 𝑒 2
4

Métodos Numéricos para Ingeniería

You might also like