Métodosnuméricosparaecuaciones diferencialesordinarias ·...

53
Métodos numéricos para ecuaciones diferenciales ordinarias Laboratori de Càlcul Numèric (LaCàN) Índice 1. Introducción y preliminares 3 1.1. Ejemplo: cálculo de curvas de remanso en canales rectangulares 3 1.2. Ecuaciones diferenciales ordinarias de orden superior a uno . . 5 1.3. Reducción de una EDO de orden n a un sistema de n EDOs de orden uno ........................... 6 1.4. Ejemplo: geometría deformada de una ménsula con grandes flechas ............................... 7 1.5. Teorema de existencia y unicidad de solución .......... 10 2. Métodos basados en aproximación de la derivada 11 2.1. Método de Euler ......................... 11 2.1.1. Ejemplo: curvas de remanso ............... 12 2.2. Método de diferencias centradas ................. 13 2.3. Euler hacia atrás ......................... 14 3. Convergencia, consistencia y estabilidad 14 3.1. Ejemplo: análisis del método de Euler .............. 18 3.2. Estabilidad absoluta (teoría de estabilidad lineal) ....... 22 4. Métodos Runge-Kutta: métodos de paso simple 27 4.1. Métodos Runge-Kutta explícitos óptimos con s =2 ...... 30 4.2. Métodos Runge-Kutta explícitos óptimos con s =3 ...... 31 4.3. Métodos Runge-Kutta explícitos óptimos con s =4 ...... 32 4.4. Ejemplo: ménsula con grandes flechas .............. 32 5. Métodos multipaso 35 5.1. Métodos de tipo Adams ..................... 37 5.1.1. Métodos predictor-corrector ............... 38 5.2. Métodos BDF ........................... 38 1 LaCàN

Transcript of Métodosnuméricosparaecuaciones diferencialesordinarias ·...

Métodos numéricos para ecuacionesdiferenciales ordinarias

Laboratori de Càlcul Numèric (LaCàN)

Índice1. Introducción y preliminares 3

1.1. Ejemplo: cálculo de curvas de remanso en canales rectangulares 31.2. Ecuaciones diferenciales ordinarias de orden superior a uno . . 51.3. Reducción de una EDO de orden n a un sistema de n EDOs

de orden uno . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.4. Ejemplo: geometría deformada de una ménsula con grandes

flechas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.5. Teorema de existencia y unicidad de solución . . . . . . . . . . 10

2. Métodos basados en aproximación de la derivada 112.1. Método de Euler . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.1.1. Ejemplo: curvas de remanso . . . . . . . . . . . . . . . 122.2. Método de diferencias centradas . . . . . . . . . . . . . . . . . 132.3. Euler hacia atrás . . . . . . . . . . . . . . . . . . . . . . . . . 14

3. Convergencia, consistencia y estabilidad 143.1. Ejemplo: análisis del método de Euler . . . . . . . . . . . . . . 183.2. Estabilidad absoluta (teoría de estabilidad lineal) . . . . . . . 22

4. Métodos Runge-Kutta: métodos de paso simple 274.1. Métodos Runge-Kutta explícitos óptimos con s = 2 . . . . . . 304.2. Métodos Runge-Kutta explícitos óptimos con s = 3 . . . . . . 314.3. Métodos Runge-Kutta explícitos óptimos con s = 4 . . . . . . 324.4. Ejemplo: ménsula con grandes flechas . . . . . . . . . . . . . . 32

5. Métodos multipaso 355.1. Métodos de tipo Adams . . . . . . . . . . . . . . . . . . . . . 37

5.1.1. Métodos predictor-corrector . . . . . . . . . . . . . . . 385.2. Métodos BDF . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

1

LaCàN

6. Problemas de contorno:método del disparo 396.1. Ejemplo: ménsula con grandes flechas . . . . . . . . . . . . . . 41

7. Control del error y paso variable 427.1. Viga plástica biapoyada . . . . . . . . . . . . . . . . . . . . . 47

7.1.1. Resultados con q = 0,75qe: comportamiento elástico . . 507.1.2. Resultados con q = qe: 1 rótula plástica . . . . . . . . . 507.1.3. Resultados con q = 1,25qe . . . . . . . . . . . . . . . . 51

2

LaCàN

1. Introducción y preliminaresUna gran cantidad de problemas de la física y la ingeniería pueden mode-

larse matemáticamente mediante ecuaciones diferenciales. Como problemamodelo, considérese el caso más sencillo: una ecuación diferencial ordinaria(EDO) de primer orden,

dy

dx(x) = f(x, y) x ∈ [a, b] (1)

complementada con la condición inicial

y(a) = α. (2)

La incógnita del problema es la función y de una variable x, definida en elintervalo [a, b]. La función f(x, y) y el escalar α son datos. La ecuación esdiferencial porque aparece la derivada dy/dx de la función incógnita y; ordi-naria porque solamente aparecen derivadas totales, y no derivadas parciales;de primer orden porque únicamente aparece la derivada primera, y no deri-vadas de orden superior. Bajo ciertas condiciones de regularidad, el problemadado por (1) y (2) tiene solución única (ver teorema 1).

En ciertos casos, esta solución puede hallarse analíticamente de manerasencilla. Tómese, por ejemplo,

dy

dx(x) = cy, y(0) = α,

donde las constantes c y α son conocidas. La solución analítica es

y(x) = α exp(cx)

(verifíquese). En otros muchos casos, sin embargo, la EDO no puede inte-grarse analíticamente y es necesario emplear alguna técnica numérica.

1.1. Ejemplo: cálculo de curvas de remanso en canalesrectangulares

La descripción del perfil adoptado por la lámina de agua en un canal,en condiciones de flujo estacionario gradualmente variado, es un problemaclásico de ingeniería hidráulica. Desde un punto de vista puramente cuali-tativo, el perfil puede esbozarse en base a unas curvas teóricas tipo (curvasde remanso) que dependen de la pendiente del canal y del régimen en quese desarrolla el flujo (subcrítico o supercrítico). Sin embargo, en la prácticaingenieril interesa, además, el cálculo efectivo de dicho perfil.

3

LaCàN

Figura 1: Esquema para el cálculo de curvas de remanso en canales rectan-gulares.

Por regla general, en el estudio del problema planteado suelen admitir-se las siguientes hipótesis simplificativas: (1) el canal es prismático, (2) lapendiente de la solera es pequeña (típicamente, inferior a un 5%), (3) no seproducen aportes ni pérdidas laterales de caudal a lo largo de todo el tramode canal bajo estudio, (4) la distribución de presiones en una sección normaldel canal es aproximadamente la hidrostática. En las condiciones anteriores,puede plantearse [?] la ecuación de gobierno de este problema

dy

dx=

I0 − If (y)

1− Fr2(y)x ∈ [0, L], (3)

donde y es el calado, x es la distancia a lo largo del canal, L es la longitudtotal del canal y I0 es la pendiente de la solera (figura 1.1). If (y) es la pérdidade carga por unidad de longitud que, por ejemplo, puede estimarse mediantefórmula de Chézy como

If (y) =Q2

C2A2(y) Rh(y), (4)

donde C es la denominada constante de Chézy, que tiene en cuenta la rugo-sidad del material de revestimiento del canal, y Rh(y) es el radio hidráulico,que es simplemente el cociente entre el área mojada A(y) y el perímetro mo-jado P (y) de la sección para un calado y concreto. En el caso de un canalrectangular,

A(y) = by, P (y) = b + 2y, Rh =by

b + 2y.

Fr(y) es el denominado número de Froude, que se define según

Fr2(y) =αB(y) Q2

gA3(y), (5)

4

LaCàN

donde Q es el caudal constante transportado por el canal, g es la aceleraciónde la gravedad, α es el coeficiente de Coriolis, B(y) es el ancho hidráulico dela sección, B(y) = b en el caso de canal rectangular.

Teniendo en cuenta las expresiones (5) y (4), la ecuación de las curvas deremanso (3) es, en general, una EDO no lineal de primer orden. Esta EDOdebe ir acompañada de una condición inicial que especifique el calado en unasección concreta del canal. Desde un punto de vista hidráulico, esta condi-ción inicial depende de si el flujo se desarrolla en régimen subcrítico (tambiéndenominado lento) o supercrítico (régimen rápido). En el caso de flujo subcrí-tico, la condición inicial requerida es, de forma natural, una condición aguasabajo,

y(L) = yd (6)

donde yd es el calado en la sección última del canal, mientras que para elflujo supercrítico, la condición inicial es aguas arriba,

y(0) = yu (7)

donde yu es el calado en la sección de entrada del canal.

1.2. Ecuaciones diferenciales ordinarias de orden supe-rior a uno

Considérese, por ejemplo, una EDO de orden n, que se escribe como

dny

dxn= f(x, y,

dy

dx,d2y

dx2, . . . ,

dn−1y

dxn−1) x ∈ [a, b] (8)

Esta EDO involucra a la función y y a sus n primeras derivadas, puestoque la derivada n-ésima depende, según una función conocida f , de x, y ylas n − 1 primeras derivadas. Para que el problema tenga solución única,son necesarias n condiciones adicionales sobre la función incógnita y. Estascondiciones adicionales se llaman condiciones iniciales si están dadas en unmismo punto del intervalo [a, b] o condiciones de contorno si están dadas enmás de un punto del intervalo [a, b].

Un caso habitual de condiciones iniciales es que la función y y sus n− 1primeras derivadas tengan valores prescritos conocidos α0, α1, α2, . . . , αn−1

en el extremo a:

y(a) = α0,dy

dx(a) = α1,

d2y

dx2(a) = α2, . . .

dn−1y

dxn−1(a) = αn−1. (9)

Si se complementa la EDO (8) con las condiciones iniciales (9), se obtieneun problema de valor inicial: se tiene información sobre la función y en el

5

LaCàN

punto x = a (condiciones iniciales), y hay que integrar la EDO para hallarla evolución de la función y (es decir, su valor en todo el intervalo [a, b]).

Si, por el contrario, la EDO se complementa con condiciones de contorno,se tiene un problema de contorno. Los problemas de contorno, que serántratados en la sección 6, se resuelven numéricamente transformándolos enproblemas de valor inicial.

1.3. Reducción de una EDO de orden n a un sistema den EDOs de orden uno

Una EDO de orden n puede transformarse en un sistema de n EDOs (conn funciones incógnita), todas ellas de primer orden. Es decir, puede reducirseel orden de las derivadas a costa de aumentar el número de incógnitas.

Esta transformación es necesaria puesto que las técnicas numéricas parala resolución de EDOs están diseñadas para resolver problemas de primerorden.

La idea básica de la transformación es tratar las n−1 primeras derivadasde la función y explícitamente como funciones incógnita. Para ello, se utilizala notación

y(i) ≡ di−1y

dxi−1con i = 1, . . . , n

y el convenio de que la derivada cero de la función es la propia función. Lasn funciones y(i) son, por lo tanto,

y(1) ≡ y

y(2) ≡ dy

dx=

dy(1)

dx

y(3) ≡ d2y

dx2=

dy(2)

dx...

y(n) ≡ dn−1y

dxn−1=

dy(n−1)

dx

(10)

Las ecuaciones (10) muestran la relación que existe entre las propias fun-ciones y(i): la derivada primera de y(i) es y(i+1). Esta relación es una con-secuencia inmediata de la definición de las y(i) como derivadas sucesivas dey.

Con ayuda de las ecuaciones (10), la EDO de orden n de la ecuación (8)puede reescribirse como

dy(n)

dx(x) = f(x, y(1), y(2), y(3), . . . , y(n)) x ∈ [a, b] (11)

6

LaCàN

donde simplemente se ha hecho un cambio de notación. Si se añade la ecua-ción (11) a las ecuaciones (10) (exceptuando la primera) y se transformantambién las condiciones iniciales (9), se obtiene

dy(1)

dx= y(2)

dy(2)

dx= y(3)

...dy(n−1)

dx= y(n)

dy(n)

dx= f(x, y(1), y(2), y(3), . . . , y(n))

,

y(1)(a) = α0

y(2)(a) = α1

...

y(n)(a) = αn−1

(12)

Es decir, un sistema de n EDOs de primer orden, puesto que sólo aparecenderivadas primeras de las y(i). Estas ecuaciones se pueden compactar em-pleando notación vectorial. Se definen los vectores y, f y α de dimensión ncomo

y =

y(1)

y(2)...

y(n−1)

y(n)

, f(x, y) =

y(2)

y(3)...

y(n)

f(x, y(1), y(2), . . . , y(n))

, α =

α0

α1...

α(n−1)

Con estos vectores, el sistema de ecuaciones (12) puede ponerse finalmentecomo

dy

dx(x) = f(x,y) x ∈ [a, b]

y(a) = α

(13)

Esta equación es similar a las ecuaciones (1) y (2). La única diferencia esque ahora se trabaja con vectores en lugar de con escalares. En las siguientessecciones se presentarán varios métodos para la resolución numérica de (1)y (2). Pero, aunque no se diga explícitamente, serán aplicables a problemascomo (13) simplemente interpretando las operaciones como operaciones convectores y, f y α.

1.4. Ejemplo: geometría deformada de una ménsula congrandes flechas

Se considera una viga en voladizo, de sección homogenea y constante, so-metida a la acción combinada de una carga uniformemente repartida en toda

7

LaCàN

su longitud w y de una carga puntual P aplicada (ver figura 2). Admitiendoque la viga es inextensible y que la relación momento-curvatura es lineal (hi-pótesis de Euler-Bernoulli), e imponiendo equilibrio estático de la estructura,se puede demostrar que la ecuación que describe la geometría deformada es

EId2Ψ

ds2(s) + [ws + P ] cos Ψ(s) = 0, s ∈ [0, L], (14)

donde EI es la rigidez a flexión, s es el parámetro arco de la curva deformada,L es la longitud de la ménsula y Ψ(s) es el ángulo formado por la horizontal yla tangente a la deformada en un punto de coordenada s, tal como se ilustraen la figura 2.

Figura 2: Ménsula con cargas aplicadas y representación de la deformada

Se trata de una EDO no lineal de orden 2. Por lo tanto, es necesariodisponer de 2 condiciones iniciales o de contorno para tener solución única.Exigiendo que el momento flector en el extremo libre es nulo se obtiene lacondición

ds(0) = 0, (15)

e imponiendo que el giro en el extremo empotrado es nulo se obtiene lasegunda condición

Ψ(L) = 0, (16)

completando así el problema de contorno.Una vez obtenida la función de ángulo Ψ(s), se puede obtener la descrip-

ción de la geometría deforma en coordenadas cartesianas x(s) e y(s) teniendoen cuenta las siguientes relaciones geométricas

dx

ds(s) = cos Ψ(s) s ∈ [0, L]; x(0) = 0, (17)

ydy

ds(s) = sin Ψ(s) s ∈ [0, L]; y(0) = 0. (18)

8

LaCàN

Para la resolución del problema de contorno dado por la EDO de segundoorden (14) y las condiciones de contorno (15) y (16), se reduce la EDO deorden 2 a un sistema de 2 EDOs de orden 1. Para ello, se define

y(1)(s) ≡ Ψ(s), y(2)(s) ≡ dΨ

ds(s), (19)

con la relación evidentedy(1)

ds= y(2). (20)

Por otro lado, teniendo en cuenta la EDO (14) y la definición (19), se tienela expresión para dy(2)

dxsiguiente

dy(2)

ds(s) =

d2Ψ

ds2(s) =

−1

EI[ws + P ] cos Ψ(s) =

−1

EI[ws + P ] cos y(1)(s). (21)

Finalmente, utilizando (20) y (21), el problema dado por la EDO de segundoorden (14) se reescribe como el sistema de EDOs de orden 1 siguiente

dy(1)

ds(s) = y(2)(s)

dy(2)

ds(s) =

−1

EI[ws + P ] cos y(1)(s).

que se puede escribir en forma vectorial como

dy

ds(s) = f(s,y), (22)

con las definiciones

y =

{y(1)

y(2)

}≡

{ΨdΨds

}, f(s, y) =

{y(2)

−1

EI[ws + P ] cos y(1)

}(23)

El problema se completa con la transformación de las condiciones decontorno (15) y (16),

y(1)(L) = 0, y(2)(0) = 0.

Sin embargo, existen aproximaciones analíticas de la solución que propor-cionan un valor aproximado del giro en el extremo libre

Ψ(0) = β,

9

LaCàN

pudiendo así plantear el problema de valor inicial dado por (22) y la condicióninicial

y(0) = α,

con α = (β 0)T .También se puede plantear la resolución simultánea de (14), (17) y (18)

con un sólo sistema de EDOs de la forma (22) con las siguientes definiciones

y =

y(1)

y(2)

y(3)

y(4)

ΨdΨds

xy

, f(s,y) =

y(2)

−1

EI[ws + P ] cos y(1)

cos y(1)

sin y(1)

,

y con la condición inicial α = (β 0 0 0)T .

1.5. Teorema de existencia y unicidad de solución

El teorema que se presenta a continuación define las condiciones suficien-tes para que un problema de valor inicial tenga solución única. En este casodiremos que se trata de un problema bien planteado.

Teorema 1 Sea f : R × Rn −→ Rn continua ∀ (x, y) ∈ D = {(x, y) | a ≤x ≤ b y −∞ ≤ y(k) ≤ ∞ para k = 1, . . . , n}. Si existe una constante L talque

|f(x, y)− f(x, y∗)| ≤ L|y − y∗| ∀(x, y), (x, y∗) ∈ D,

i.e. f es Lipschitz con constante L, entonces para cualquier condición inicialα existe una única solución y(x) del problema de valor inicial

dy

dx= f(x, y), y(a) = α,

con y(x) continua y diferenciable.

El hecho de exigir que la función f sea Lipschitz no es muy restrictivo. Dehecho, todas las funciones con derivada respecto a y continua y acotada sonLipschitz. Además, si f es continua la solución y depende de forma continuade las condiciones iniciales α.

10

LaCàN

2. Métodos basados en aproximación de la de-rivada

2.1. Método de Euler

El intervalo [a, b] se divide en m subintervalos de longitud h = (b− a)/mmediante puntos xi, con i = 0, . . . , m (véase la figura 6).

Figura 3: Interpretación gráfica del método de Euler

La ecuación (1) debe verificarse para todos los puntos de [a, b]. Si separticulariza para un punto xi de la discretización, resulta

dy

dx(xi) = f(xi, yi) (24)

donde se emplea la notación yi ≡ y(xi). La idea básica del método de Euleres aproximar la derivada en el punto xi mediante un cociente incrementalhacia adelante, utilizando los puntos xi y xi+1:

dy

dx(xi) =

yi+1 − yi

h− τi(h), (25)

donde τi(h) = O(h) es llamado error de truncamiento. La ecuación (25) sepuede obtener a partir del desarrollo en serie de Taylor

yi+1 = yi + hdy

dx(xi) +O(h2).

11

LaCàN

Sustituyendo (25) en (24) se obtiene

yi+1 = yi + hf(xi, yi) + hτi(h), (26)

que despreciando los errores de truncamiento proporciona el esquema numé-rico

Yi+1 = Yi + hf(xi, Yi). (27)La ecuación (27) permite obtener Yi+1 (aproximación a yi+1) a partir de Yi

(aproximación a yi). Este esquema de avance, que debe inicializarse con lacondición inicial Y0 = α, constituye el método de Euler:

{Y0 = αYi+1 = Yi + hf(xi, Yi) para i = 0, . . . , m− 1.

La interpretación gráfica del método de Euler puede verse en la figura 3. Apartir de los datos x0 = a e Y0 = α, se calcula f(x0, α), que es la pendiente dela tangente a la función y en x0. Se avanza según esta tangente una distanciah, hasta llegar al punto x1; se obtiene así el valor de Y1. A partir de x1 eY1 se evalúa f(x1, Y1), que es una aproximación a la pendiente f(x1, y1) dela tangente a y en x1. Esta pendiente f(x1, Y1) permite avanzar hasta x2 yobtener Y2, y así sucesivamente. De esta manera, la función incógnita y seaproxima mediante una línea quebrada, llamada poligonal de Euler. En lafigura 6 se aprecia claramente la diferencia entre yi (valor exacto) e Yi (valoraproximado), que en general sólo coinciden para i = 0 (condición inicial).

2.1.1. Ejemplo: curvas de remanso

Se considera el método de Euler para el cálculo de curvas de remansoplanteado en la sección 1.1. Se resuelve la EDO de primer orden (3) con anchodel canal b = 75 m, longitud total L = 800 m, pendiente media I0 = 5×10−4,con constante de Chézy C = 80 m1/2s−1 y caudal Q = 500 m3/s. El caladoaguas arriba del canal es y0 = 3,5 m. De acuerdo con la práctica habitual, seconsidera que el coeficiente de Coriolis es α = 1. La tabla 2.1.1 muestra elvalor del calado al final del canal obtenido con distintos valores del número desubintervalos m, así como el error comparando con una solución de referencia

y(800) ' 3,802396103

obtenida mediante un método de paso variable (ver sección 7) que asegura10 cifras significativas correctas.

Se observa como el error decrece al aumentar el número de subintervalosm o, equivalentemente, al disminuir el tamaño h. De hecho, se observa comoel error se comporta como

|y(800)− ym| = O(h) = O(m−1).

12

LaCàN

m Ym |y(800)− Ym|10 3,801050 1,35× 10−3

100 3,802262 1,34× 10−4

1000 3,802383 1,34× 10−5

10000 3,802395 1,34× 10−6

Cuadro 1: Resultados con el método de Euler

En este caso se dice que es un método de orden 1.

2.2. Método de diferencias centradas

Igual que en el método de Euler, la idea básica en el método de diferen-cias centradas es aproximar la derivada en el punto xi mediante un cocienteincremental. Sin embargo, en este caso se utiliza una diferencia centrada deorden 2. Se consideran los desarrollos de Taylor centrados en xi siguientes:

yi+1 = yi + hdy

dx(xi) +

h2

2

d2y

dx2(xi) +O(h3), (28)

yi−1 = yi − hdy

dx(xi) +

h2

2

d2y

dx2(xi) +O(h3). (29)

Restando (29) a (28) se obtiene

yi+1 − yi−1 = 2hdy

dx(xi) +O(h3).

De donde se puede despejar la expresión para aproximardy

dx(xi),

dy

dx(xi) =

yi+1 − yi−1

2h− τi(h), (30)

con error de truncamiento τi(h) = O(h2). Sustituyendo (30) en la particula-rización de la equacion diferencial (24) se obtiene la expresión equivalente

yi+1 = yi−1 + 2hf(xi, yi) + 2hτi(h),

que despreciando los errores de truncamiento τi = O(h2) proporciona elesquema

Yi+1 = Yi−1 + 2hf(xi, Yi). (31)

13

LaCàN

Notar que para iniciar el proceso de cálculo son necesarios dos valores inicia-les, Y0 = α y Y1, donde Y1 se puede aproximar, por ejemplo, con el métodode Euler. En este caso el esquema completo sería

Y0 = αY1 = Y0 + hf(x0, Y0)Yi+1 = Yi−1 + 2hf(xi, Yi) para i = 1, . . . , m− 1.

2.3. Euler hacia atrás

En este caso se considera un desarrollo de Taylor centrado en xi+1,

yi = yi+1 − hdy

dx(xi+1) +O(h2),

de donde se puede despejar la expresión para aproximardy

dx(xi+1),

dy

dx(xi+1) =

yi+1 − yi

h+ τi(h),

con error de truncamiento τi = O(h). Sustituyendo en la particularizaciónde la equacion diferencial (24) se obtiene la expresión equivalente

yi+1 = yi + hf(xi+1, yi+1) + hτi(h),

que despreciando los errores de truncamiento τi = O(h) proporciona el es-quema

Yi+1 = Yi + hf(xi+1, Yi+1). (32)

Nótese que para calcular Yi+1 a partir de Yi hay que resolver un problemageneralmente no lineal. Tal como se comenta en la seccion 3 en esta situaciónse dice que el método es implícito.

3. Convergencia, consistencia y estabilidadEn esta sección se definen los conceptos básicos necesarios para el aná-

lisis de cualquier esquema numérico. El primer concepto, y tal vez el másimportante, es la definición de convergencia.

Definición 1 (Convergencia) Un método es convergente si para cualquierproblema de valor inicial bajo las hipótesis del teorema 1 se verifica

max0≤i≤m

| yi − Yi | −→m→∞

0.

14

LaCàN

0 0.2 0.4 0.6 0.8 1−0.2

0

0.2

0.4

0.6

0.8

1

x

y

m=4m=8analítica

Figura 4: Solución analítica y solución numérica de un método convergentecon m = 4 y m = 8.

Es decir, un método es convergente si la solución numérica Yi se aproximatanto como queramos a la solución analítica yi al aumentar el número deintervalos m o, equivalentemente, al disminuir el paso h (ver figura 3).

A continuación se definen dos conceptos importantes, consistencia y esta-bilidad, que como veremos están muy relacionados con la convergencia. Paraello es necesario definir el residuo o error local de truncamiento. El residuoRi(h) es lo que le falta al esquema numérico para que la solución analíticalo verifique. Por ejemplo, para el método de Euler el residuo es

Ri(h) = yi+1 − yi − hf(xi, yi),

donde yi = y(xi) y yi+1 = y(xi+1) con y(x) la solución analítica.

15

LaCàN

Para poder hacer una definición más general de los conceptos se plantea laforma general de un esquema numérico. Cualquiera de los métodos que sehan visto y se verán es este capítulo se pueden escribir como

k∑j=0

αjYi+j = hφ(Yi+k, . . . , Yi, xn; h) (33)

donde las constantes αj y la función φ dependen del esquema considerado.De hecho, la función φ tiene una expresión que incluye la función f(x, y) delproblema de valor inicial a resolver. Por ejemplo, los métodos presentadosen la sección 2 se pueden se pueden expresar en esta forma como

Euler: Yi+1 − Yi = hf(xi, Yi)α1 = 1, α0 = −1 y φ(Yi+1, Yi, xi; h) = f(xi, Yi)

Diferencias Yi+2 − Yi = 2hf(xi+1, Yi+1)centradas: α2 = 1, α0 = −1 y φ(Yi+1, Yi, xi; h) = 2f(xi+1, Yi+1)

Euler hacia Yi+1 − Yi = hf(xi+1, Yi+1)atrás: α1 = 1, α0 = −1 y φ(Yi+1, Yi, xi; h) = f(xi+1, Yi+1)

El método de Euler y el método de Diferencias centradas son métodos ex-plícitos: Yi+k se puede calcular explícitamente en función de valores ya cal-culados Yi+k−1, . . . , Yi, puesto que la función φ no depende de la incógnitaYi+k. En cambio, el método de Euler hacia atrás es un método implícito:la fución φ depende de la incógnita Yi+k y hay que resolver un problemageneralmente no lineal para calcular su valor.

Definición 2 (Residuo) El residuo del esquema (33) es

Ri(h) :=k∑

j=0

αjyi+j − hφ(yi+k, . . . , yi, xi; h). (34)

El residuo da información de hasta qué punto la solución analítica verifica ono el esquema numérico. Visto de otra forma, el residuo también se puedeinterpretar como el error en el paso i-ésimo, al calcular Yi+1 en función de Yi

(sin tener en cuenta el error ya acumulado en Yi).Se llama error global al error en Ym ' y(b), es decir, al error acumulado

en los m pasos. Este error es del orden de O(mRi(h)) o, equivalentemente,

16

LaCàN

del orden de O(Ri(h)/h). Por lo tanto, definiendo el error de truncamientocomo

τi(h) =1

hRi(h),

el error global es del orden de τi(h).Evidentemente, en el diseño de un esquema numérico es necesario que

el error acumulado en la solución numérica, o error global, tienda a cero alreducir h o, equivalentemente, al aumentar m.

Definición 3 (Consistencia) Un esquema numérico es consistente si, paracualquier problema de valor inicial bajo las hipótesis del teorema 1,

max0≤i≤m

τi(h) −→ 0 cuando h −→ 0.

Por otro lado, nótese que cuando un esquema es consistente el residuoRi(h) = hτi(h) tiende a cero al aumentar el número de intervalos m (alreducir h), de manera que en el límite la solución analítica verifica el esquemanumérico exactamente.

Por construcción los métodos basados en aproximaciones de la derivadason consistentes puesto que τi(h) = O(h) para el método de Euler y Eulerhacia atrás y τi(h) = O(h2) para el método de diferencias centradas.

Definición 4 (orden) Se dice que un método es de orden q si el residuo esRi(h) = O(hq+1).

Es decir, un método es de orden q si el error global es O(hq) o, dicho de otraforma, si el error de truncamiento es τi(h) = O(hq). Así el método de Eulery el método de Euler hacia atrás son métodos de orden 1 (lineales) mientrasque el método de diferencias centradas es de orden 2 (cuadrático).

Por otro lado, si el problema de valor inicial es estable (poco influenciablepor pequeñas perturbaciones), conviene que el esquema numérico también losea. Para formalizar esta idea se introducen las siguientes definiciones.

Definición 5 Se considera el problema de valor inicial perturbado

dy

dx= f(x, y) + δ(x) x ∈ [a, b]

y(a) = α + δ,

17

LaCàN

donde δ(x) y δ son perturbaciones de la función f y de la condición inicialrespectivamente. Se dice que el problema de valor inicial es estable si existeuna constante S tal que

|δ(x)| < ε|δ| < ε

}=⇒ |y(x)− y(x)| < Sε,

donde y(x) es la solución del problema sin perturbación.

En realidad, sólo interesa plantearse la resolución de problemas de va-lor inicial estables. Si el problema es inestable, sin tener en cuenta ningúnotro factor, las pequeñas perturbaciones que se producen debido al uso dearitmética finita provocan que la solución sea totalmente inaceptable.

Considerando problemas de valor inicial estables, diremos que un esquemaes estable punto a punto (pointwise stable) si pequeñas perturbaciones delesquema o de las condiciones iniciales provocan pequeñas diferencias en lasolución numérica.

Definición 6 (cero-estabilidad, estabilidad punto a punto) Se con-sidera el esquema perturbado

k∑j=0

αjYi+j = hφ(Yi+k, . . . , Yi, xn; h) + δi, i = k, . . . ,m

Yj = α + δj, j = 0, . . . , k − 1,

donde δi son perturbaciones de los valores iniciales y del esquema. Se diceque el esquema es cero-estable (zero-stable) o estable punto a punto (point-wise stable) si existen constantes S y h0 tales que para h ∈]0, h0]

max0≤i≤m

|δi| < ε =⇒ max0≤i≤m

|Yi − Yi| < Sε, (35)

donde Yi es la solución sin perturbación.

3.1. Ejemplo: análisis del método de Euler

A continuación se analiza la convergencia del método de Euler estudiandoel comportamiento del error zi definido como

zi := yi − Yi.

18

LaCàN

Restando la ecuación que verifica la solución numérica Yi, ecuación (27) ala ecuación que verifica la solución analítica yi, ecuación (26), se deduce laecuación que verifica el error:

zi+1 = zi + h [f(xi, yi)− f(xi, Yi)] + hτi(h),

donde τi(h) = O(h) es el error de truncamiento. Si la función f es de Lipschitzcon constante L, i.e.

|f(xi, yi)− f(xi, Yi)| ≤ L|yi − Yi|,entonces,

|zi+1| ≤ |zi|+ hL|zi|+ h|τi(h)|.Definiendo τ(h) = max

i|τi(h)| = O(h), y aplicando la ecuación anterior re-

petidamente se puede acotar el error como

|zi+1| ≤ (1 + hL)|zi|+ hτ

≤ (1 + hL)2|zi−1|+ (1 + hL)hτ + hτ ≤ . . .

≤ (1 + hL)i+1|z0|+ hτ

i∑j=0

(1 + hL)j

≤ (1 + hL)i+1|z0|+ τ(1 + hL)i+1 − 1

L

≤ (1 + hL)i+1[|z0|+ τ

L

]

≤ e(i+1)hL[|z0|+ τ

L

]= e(xi+1−x0)L

[|z0|+ τ

L

].

Puesto que z0 = y0 − Y0 = 0,

|zi+1| ≤ e(xi+1−x0)L

Lτ(h),

y, por lo tanto, el error tiende a 0 cuando h tiende a 0, asegurando así laconvergencia del método.

De forma análoga se puede estudiar la estabilidad. Considerese Yi la solu-ción numérica obtenida con Euler, y Yi la solución obtenida con el esquemaperturbado,

Yi+1 = Yi + hf(xi, Yi) + δi, Y0 = α + δ0, (36)

donde tanto δi como δ0 podrían ser errores de almacenamiento al calcular conaritmética finita. Se define Zi como la diferencia entre la solución de Euler y

19

LaCàN

del esquema con perturbaciones, Zi = Yi − Yi. Restando las ecuaciones (27)y (36) se obtiene el esquema que verifica Zi:

Zi+1 = Zi + h[f(xi, Yi)− f(xi, Yi)

]− δi, Z0 = −δ0.

Si se considera una cota de las perturbaciones δ = maxi|δi|, con un análisis

análogo al hecho para el estudio de la estabilidad se llega a una cota de ladiferencia Zi,

|Zi+1| ≤ e(xi+1−x0)L

[|δ0|+ 1

L

δ

h

].

Por lo tanto, se verifica la condición de estabilidad (35) con constante

S = e(xm−x0)L

[1 +

1

Lh

].

Si ahora comparamos la solución analítica con la solución que obtendría-mos con el método de Euler (perturbado debido a la aritmética finita en loscálculos), el error total en el resultado se puede acotar como

|yi+1 − Yi+1| ≤ |zi+1|+ |Zi+1| ≤ e(xi+1−x0)L

[|δ0|+ 1

L

(τ(h) +

δ

h

)]

donde se puede identificar una contribución debida al error de truncamientoτi y una contribución debida a errores de almacenamiento u otras perturba-ciones del esquema numérico.

En la figura 5 se pueden observar ambas contribuciones en función de h.Al reducir h el error global (del orden del error de truncamiento τi) tiende acero. Sin embargo, al realizar más pasos el error debido a la acumulación deerrores de redondeo crece. Existe un valor óptimo de h que nos proporcionala solución más precisa posible.

A la práctica, en general los errores de redondeo son poco importantes yel criterio para elegir el paso h se basa simplemente en obtener la precisióndeseada con el menor número de pasos posible (menor coste computacional).

20

LaCàN

h

Error

error de

truncamiento

errores de

redondeo

óptimo

Figura 5: Error de truncamiento y errores de almacenamiento en el métodode Euler

Se ha planteado el análisis del método de Euler sin grandes dificultades.Sin embargo, la metodología seguida puede no ser tan sencilla para otrosmétodos más sofisticados. A continuación se presentan varios resultados quefacilitan el análisis de los métodos en general.

Teorema 2 (Consistencia) El esquema (33) es consistente si y sólo siverifica las dos condiciones siguientes:

(i)k∑

j=0

αj = 0,

(ii) φ(yi, . . . , yi, xi; 0) = f(xi, yi)k∑

j=0

j αj.

21

LaCàN

Definiendo el primer polinomio característico del esquema (33) como

ρ(ξ) :=k∑

j=0

αjξj, (37)

las condiciones para consistencia se pueden reescribir como

ρ(1) = 0 y φ(yi, . . . , yi, xi; 0) = f(xi, yi)ρ′(1).

Teorema 3 (Estabilidad) El esquema (33) es cero-estable si y sólo sitodas las raíces de ρ(ξ) (incluidas las raíces complejas) son de módulo menoro igual que 1, y las raíces con módulo 1 son simples.

Gracias al siguiente teorema, para analizar el comportamiento de un mé-todo no es necesario comprobar la consistencia y la convergencia. El teoremaasegura que para comprobar que un esquema es convergente sólo es necesa-rio comprobar que es consistente y cero-estable (fácilmente con ayuda de losteoremas 2 y 3)

Teorema 4 (Teorema de equivalencia de Lax) En la resolución numé-rica de un problema bien planteado, i.e. bajo las hipótesis del teorema 1, siel esquema es consistente entonces

es cero-estable⇐⇒ es convergente.

Es sencillo comprobar que los tres métodos planteados en la sección 2son consistentes, cero-estables y, por lo tanto, convergentes. Sin embargo,tal como se comenta en la siguiente sección, tienen un comportamiento muydistinto.

3.2. Estabilidad absoluta (teoría de estabilidad lineal)

A continuación se considera un problema modelo sencillo

dy

dx= λy, y(a) = α, (38)

con λ ∈ R (en el caso más general λ ∈ C). Se trata de una EDO lineal consolución analítica

y(x) = αeλ(x−a).

22

LaCàN

Si λ tiene parte real negativa, la solución y(x) tiende a 0 cuando x tiende a∞.Por lo tanto, es deseable que el esquema numérico mantenga esta propiedad.Es decir, si λ tiene parte real negativa, fijado un paso h, Yi debe tender a0 cuando i tiende a ∞. Esto conduce a un nuevo concepto de estabilidad:estabilidad absoluta.

0 0.2 0.4 0.6 0.8 1−0.2

0

0.2

0.4

0.6

0.8

1

x

y

h=0.25h=0.1h=0.05analítica

Figura 6: Solución numérica en la resolución de (38) con el método de Eulerpara λ = −10 y y(0) = 1.

0 0.2 0.4 0.6 0.8 1−0.2

0

0.2

0.4

0.6

0.8

1

x

y

h=0.25h=0.1h=0.05analítica

Figura 7: Solución numérica (izquierda) en la resolución de (38) con el métodode Euler hacia atrás para λ = −10 y y(0) = 1.

En la figura 6 se considera el método de Euler para la resolución delproblema (38) con λ = −10 y condición inicial y(0) = 1. Se ha representadola solución analítica (linea continua) y la solución numérica con tres valoresdiferentes del paso h. Con h = 0,1 y h = 0,05 la solución numérica tiende a0, tal como ocurre en la solución analítica. Sin embargo, la solución obtenidacon h = 0,25 parece acumular los errores de forma desagradable, provocando

23

LaCàN

que la solución numérica esté cada vez más alejada de la solución analítica.Se trata de un caso de inestabilidad absoluta. Cláramente el hecho de que unesquema numérico sea absolutamente estable o inestable depende del paso hconsiderado.

A continuación se analiza el comportamiento del método de Euler. Susti-tuyendo f(x, Y ) = λY en el esquema (27) se obtiene la relación

Yi+1 = Yi + hλYi.

Es decir,Yi+1 = GYi

donde el llamado factor de amplificación es

G = 1 + hλ.

La sucesión Yi tenderá a cero, como la solución analítica, sólo si el valorabsoluto del factor de amplificación G es menor que 1. Por lo tanto, el métodode Euler será absolutamente estable si

|1 + hλ| < 1.

En el caso de que λ ∈ R, la condición de estabilidad absoluta es

−2 < λh < 0.

que para el ejemplo de la figura 6, en que λ = −10, se reescribe como 0 < h <−2/λ = 0,2. Esto explica el comportamiento claramente inestable observadopara h = 0,25.

Análogamente, sustituyendo f(x, Y ) = λY en el esquema del método deEuler hacia atrás (32) se obtiene

Yi+1 = Yi + hλYi+1

o, equivalentemente,(1− hλ)Yi+1 = Yi.

Es decir,

Yi+1 = GYi con G =1

1− hλ.

La sucesión Yi tiende a cero si |G| < 1. Es decir, el método de Euler haciaatrás será absolutamente estable si

|1− hλ| > 1.

Si λ ∈ R el esquema es absolutamente estable para hλ real negativo o mayorque 2. En particular, el método de Euler hacia atrás es absolutamente establepara cualquier h > 0 si λ < 0 (ver figura 7).

24

LaCàN

Para formalizar este concepto es necesario hacer algunas definiciones. Susti-tuyendo la definición f(x, Y ) = λY en el esquema del método considerado,y agrupando los términos a la derecha de la igualdad se llega a una igualdadde la forma

γk(h)Yi+k + · · ·+ γ1(h)Yi+1 + γ0(h)Yi = 0,

conh := hλ.

Entonces, se define el polinomio de estabilidad absoluta como

Π(r; hλ) = γk(h)rk + · · ·+ γ1(h)r + γ0(h).

Definición 7 Se dice que un método es absolutamente estable para un valorde h dado si las raíces del polinomio de estabilidad absoluta Π(r; h) son demódulo menor (estricto) que 1.

Se puede comprobar que si las raíces del polinomio son de módulo menorque 1 el esquema que verifica el error yi − Yi es estable y, por lo tanto, loserrores no se acumularán de forma adversa.

Definición 8 La región de estabilidad absoluta de un método es el conjuntoRA = {h ∈ C tal que el método es absolutamente estable}.

Para el método de Euler, sustituyendo f(x, Y ) = λY en el esquema (27) seobtiene

Yi+1 − Yi = hYi, o Yi+1 − (1 + h)Yi = 0.

Por lo tanto, su polinomio de estabilidad absoluta es

Π(r; h) = r − (1 + h),

con una única raíz r1 = (1 + h). Por lo tanto, el método de Euler seráabsolutamente estable si

|1 + h| < 1.

La región de estabilidad absoluta del método de Euler es un disco de radiounidad centrado en -1.

25

LaCàN

En el método de Euler hacia atrás el polinomio de estabilidad absoluta es

Π(r; h) = (1− h)r − 1,

con una única raíz r1 = 1/(1− h). La condición de estabilida absoluta es

|1− h| > 1.

La región de estabilidad absoluta es, por lo tanto, todos los reales exceptoun disco de radio unidad centrado en 1.

En el método de diferencias centradas el polinomio de estabilidad absolutaes

Π(r; h) = r2 − 2hr − 1,

con dos raíces r1,2 = h±√

h2 + 1. La condición de estabilidad absoluta es

|h±√

h2 + 1| < 1.

De donde se deduce que para h real el método es inestable.

Si se trata de un sistema de EDOs lineal

dy

dx= Ay,

se puede analizar la estabilidad para cada valor propio de A por separado.El esquema será absolutamente estable para h si h = hλ está en la región deestabilidad absoluta para todos los valores propios λ. Si el sistema de EDOses no lineal se puede analizar el problema linealizado

dy

dx= Df(a, α)y,

donde Df(x, y) es la matriz diferencial de f(x, y).Se pueden consultar las referencias [?, ?] para ver más detalles sobre

análisis de estabilidad y convergencia de métodos para resolución de EDOs.

26

LaCàN

4. Métodos Runge-Kutta: métodos de paso sim-ple

Considérese el problema de valor inicial dado por (1) y (2). Integrando laEDO en el intervalo [xi, xi+1],

∫ xi+1

xi

dy

dxdx =

∫ xi+1

xi

f(x, y(x))dx,

se obtiene la igualdad

yi+1 − yi =

∫ xi+1

xi

f(x, y(x))dx.

La idea de los métodos Runge-Kutta es considerar una cuadratura numéricapara evaluar la integral:

yi+1 − yi = h

s∑r=1

brf (ξr, y(ξr)) + E(h) (39)

donde h = xi+1 − xi y {ξr, hbr} son los puntos y pesos de la cuadratura nu-mérica considerada, y E(h) es el error cometido. La evaluación de la soluciónen el punto de integración, y(ξr), se hace de forma aproximada necesitandoexclusivamente el valor conocido yi y varias evaluaciones de la función f .

Para ello se tiene en cuenta de nuevo que

y(ξr)− yi =

∫ ξr

xi

dy

dxdx =

∫ ξr

xi

f(x, y(x))dx.

y se aproxima la integral con una cuadratura utilizando los mismos puntosde integración ξj,

y(ξr)− yi = h

s∑j=1

arjf (ξj, y(ξj)) + Er(h), (40)

Los pesos de integración harj y el error Er(h) son distintos, debido a queahora la integración se está haciendo en el intervalo [xi, ξr].

Despreciando los errores E(h) y Er(h) en (39) y (40) se obtiene el esquemanumérico

Yi+1 = Yi + h

s∑r=1

brf (ξr, Y (ξr))

Y (ξr) = Yi + h

s∑j=1

arjf (ξj, Y (ξj)) , r = 1, . . . , s

27

LaCàN

Es habitual escribir el esquema numérico con el cambio de variable

ξr = xi + crh,

y la siguiente notaciónkr := f(ξr, Y (ξr))

obteniendo

Yi+1 = Yi + h

s∑r=1

brkr

kr = f(

xi + crh , Yi + h

s∑j=1

arjkj

), r = 1, . . . , s.

Así, la forma general de un método Runge-Kutta se puede escribir como

Yi+1 = Yi + h [b1k1 + b2k2 + · · ·+ bsks] ,

donde los escalares kj (vectores en el caso de un sistema de EDOs) se calculancomo

k1 = f( xi + c1h , Yi + h(a11k1 + a12k2 + · · ·+ a1sks) )k2 = f( xi + c2h , Yi + h(a21k1 + a22k2 + · · ·+ a2sks) )

...ks = f( xi + csh , Yi + h(as1k1 + as2k2 + · · ·+ assks) ).

Las constantes br, cr y arj dependen del método considerado, y deben verificarlas condiciones

ck =s∑

j=1

akj (k = 1, . . . , s) ys∑

k=1

bk = 1,

para asegurar la consistencia del método. Notar que estas condiciones corres-ponden a exigir que las cuadraturas utilizadas sean de orden 0 o superior.

Es usual representar el método con la llamada tabla de Butcher:

c1 a11 a12 . . . a1s

c2 a21 a22 . . . a2s...

......

cs as1 as2 . . . ass

b1 b2 . . . bs

oc A

bT

28

LaCàN

Los métodos se clasifican en explícitos, implícitos y semiimplícitos.El método es explícito si akj = 0 para k ≥ j. La tabla de Butcher se

representa como

c2 a21

c3 a31 a32...

...... . . .

cs as1 as2 . . . as,s−1

b1 b2 . . . bs−1 bs

y el esquema se puede escribir como

Yi+1 = Yi + h [b1k1 + b2k2 + · · ·+ bsks] ,

conk1 = f( xi , Yi )k2 = f( xi + c2h , Yi + h(a21k1) )k3 = f( xi + c3h , Yi + h(a31k1 + a32k2) )

...ks = f( xi + csh , Yi + h(as1k1 + as2k2 + · · ·+ as,s−1ks−1) ).

En los métodos implícitos se calcula k1 a partir de Yi, luego se calcula k2 apartir de Yi y k1, y se va repitiendo el proceso para calcular k3, . . . , ks, paraasí poder calcular Yi+1.

Se dice que el método es semiimplícito si akj = 0 para k > j y akk 6= 0para algún k. En este caso la tabla de Butcher es de la forma

c1 a11

c2 a21 a22

c3 a31 a32 a33...

......

... . . .cs as1 as2 as3 . . . ass

b1 b2 b3 . . . bs

y el esquema se escribe como

Yi+1 = Yi + h [b1k1 + b2k2 + · · ·+ bsks] ,

conk1 = f( xi + c1h , Yi + h(a11k1) )k2 = f( xi + c2h , Yi + h(a21k1 + a22k2) )k3 = f( xi + c3h , Yi + h(a31k1 + a32k2 + a33k3) )

...ks = f( xi + csh , Yi + h(as1k1 + as2k2 + · · ·+ as,sks) ).

29

LaCàN

Nótese que es necesario resolver s problemas no lineales desacoplados paracalcular los valores de k1, k2, . . . , ks.

En cambio, si akj 6= 0 para algún k < j se trata de un método implícitoy hay que resolver un sistema de ecuaciones, generalmente no lineal y no des-acoplado, con s ecuaciones y s incógnitas para calcular el valor de k1, . . . , ks

en cada paso.Nótese que en cada paso Yi+1 se calcula a partir de Yi sin necesidad de

almacenar valores anteriores Yi−1, . . . , Yi−k. En este sentido se dice que sonmétodos de paso simple. Observar que con un método de paso simple sepuede considerar un paso h variable (distinto para cada paso i) sin ningúnproblema. Esta es la ventaja más importante de los métodos Runge-Kuttarespecto a los métodos multipaso. El inconveniente de los métodos Runge-Kutta es la dificultad para determinar el orden del método y la expresión delerror de truncamiento.

Existen dos estrategias para analizar el orden o el error de truncamien-to. La primera consiste en expresar el residuo del esquema (34), mediantedesarrollos de Taylor centrados en xi, como

Ri(h) = γ0yi + γ1hdy

dx(xi) + γ2h

2 d2y

dx2(xi) + . . . .

El método es de orden p si γk = 0 para k ≤ p y γp+1 6= 0. La segundaestrategia consiste en identificar las derivadas de f con un tipo determinandode grafos y analizar el orden del método mediante teoría de grafos. Es lallamada teoría de Butcher [?].

Se dice que un método con s evaluaciones de f es óptimo si tiene el ordenmayor posible. Gracias a la teoría de Butcher se demuestra que para s ≤ 4los métodos explícitos óptimos son de orden s, mientras que para s ≥ 5 losmétodos explícitos óptimos tienen orden s − 1 o s − 2. A continuación sepresentan algunos de los métodos óptimos más populares.

4.1. Métodos Runge-Kutta explícitos óptimos con s = 2

La forma general de los métodos de Runge-Kutta explícitos con s = 2 es

Yi+1 = Yi + h [b1k1 + b2k2] , conk1 = f( xi , Yi )k2 = f( xi + c2h , Yi + ha21k1 ).

La tabla de Butcher correspondiente es c2 a21

b1 b2

donde c2 = a21 y b1 +

b2 = 1 para que el método sea consistente. Dos de los métodos más popularesson:

30

LaCàN

Método de Euler modificado (mid-point rule): 1/2 1/20 1

Yi+1 = Yi + hk2, conk1 = f( xi , Yi )k2 = f( xi + h

2, Yi + h

2k1 ).

Método de Heun (Crank-Nicolson-Trapecio): 1 11/2 1/2

Yi+1 = Yi +h

2[k1 + k2] , con

k1 = f( xi , Yi )k2 = f( xi + h , Yi + hk1 ).

Ambos métodos son de orden 2. Es decir, el error de truncamiento es

τi(h) = O(h2).

4.2. Métodos Runge-Kutta explícitos óptimos con s = 3

La forma general de los métodos de Runge-Kutta explícitos con s = 3 es

Yi+1 = Yi + h [b1k1 + b2k2 + b3k3] ,

conk1 = f( xi , Yi )k2 = f( xi + c2h , Yi + ha21k1 )k3 = f( xi + c3h , Yi + h(a31k1 + a32k2) ).

La tabla de Butcher correspondiente es c2 a21

c3 a31 a32

b1 b2 b3

donde c2 = a21,

c3 = a31 + a32 y b1 + b2 + b3 = 1 para que el método sea consistente. Dos delos métodos más populares son:

Método de Kutta (Simpson): 1/2 1/21 -1 2

1/6 4/6 1/6

Método de Heun: 1/3 1/32/3 0 2/3

1/4 0 3/4

31

LaCàN

Ambos métodos son de orden 3. Es decir, el error de truncamiento es

τi(h) = O(h3).

4.3. Métodos Runge-Kutta explícitos óptimos con s = 4

La forma general de los métodos de Runge-Kutta explícitos con s = 4 es

Yi+1 = Yi + h [b1k1 + b2k2 + b3k3 + b4k4] ,

conk1 = f( xi , Yi )k2 = f( xi + c2h , Yi + ha21k1 )k3 = f( xi + c3h , Yi + h(a31k1 + a32k2) )k4 = f( xi + c4h , Yi + h(a41k1 + a42k2 + a43k3) ).

La tabla de Butcher correspondiente esc2 a21

c3 a31 a32

c4 a42 a42 a43

b1 b2 b3 b4

donde

c2 = a21, c3 = a31 + a32, c4 = a41 + a42 + a43 y b1 + b2 + b3 + b4 = 1para que el método sea consistente. Dos de los métodos más populares son:

Método de Runge de 4o orden:1/2 1/21/2 0 1/21 0 0 1

1/6 1/3 1/3 1/6

RK4 de Newton-Cotes:1/3 1/32/3 -1/3 11 1 -1 1

1/8 3/8 3/8 1/8

Ambos métodos son de orden 4. Es decir, el error de truncamiento es

τi(h) = O(h4).

4.4. Ejemplo: ménsula con grandes flechas

En esta sección se considera el problema planteado en la sección 1.4.Se trata de calcular la geometría deformada de una ménsula con grandes

32

LaCàN

flechas sometida a una carga puntual en el extremo libre P y una cargauniformemente repartida w. Para ello se resuelve numéricamente el problemade valor inicial dado por el sistema de EDO’s (22), con las definiciones (23),y por la condición inicial y = (β 0)T . Es decir,

Ψ(0) = β,dΨ

ds(0) = 0.

donde β es un valor determinado de manera que se cumpla la condición decontorno de empotramiento

Ψ(L) = 0.

Este valor se puede determinar mediante el llamado método del disparo (versección 6).

Para la resolución del problema se expresan las ecuaciones en forma adi-mensional. Para ello, se definen las variables adimensionales

ξ =s

L, α1 =

wL3

EI, α2 =

PL3

EI, X =

x

L, Y =

y

L,

con las cuáles el problema de valor inicial se reescribe como

d2Ψ

dξ2= −(α1ξ + α2) cos Ψ(ξ), ξ ∈ [0, 1]; Ψ(0) = β,

dξ(0) = 0,

pudiéndose reducir al problema de primer orden adimensionalizado

dy

dξ= f(ξ, y), ξ ∈ [0, 1]; y(0) = (β 0)T , (41)

con

y =

{y(1)

y(2)

}≡

{ΨdΨdξ

}, f(ξ, y) =

{y(2)

−(α1ξ + α2) cos y(1)

}. (42)

Una vez calculado el giro Ψ(ξ) se puede representar la geometría deformadaen coordenadas cartesianas (X,Y ) resolviendo los dos problemas de valorinicial de primer orden

dX

dξ= cos Ψ ξ ∈ [0, 1]; x(0) = 0,

ydY

dξ= sin Ψ ξ ∈ [0, 1]; y(0) = 0.

33

LaCàN

0 0.2 0.4 0.6 0.8 1−4

−3

−2

−1

0

1

2

s

GiroDerivada

0 0.2 0.4 0.6 0.80

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

x

y

Figura 8: Método de Euler con m = 20. Función angúlo y derivada (izquier-da), y ménsula deformada (derecha)

0 0.2 0.4 0.6 0.8 10

0.2

0.4

0.6

0.8

1

1.2

1.4

s

Giro

Euler m=20Euler m=40RK4 m=10

0 0.2 0.4 0.6 0.80

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

x

y

Euler m=20Euler m=40RK4 m=10

Figura 9: Función ángulo (izquierda) y ménsula deformada (derecha) paraEuler con m = 1 y m = 2 y para el método de Runge-Kutta de 4o orden

En la figuras 8 y 9 se presenta la solución para los valores α1 = 6 yα2 = 2. El valor inicial β = 1,1343102, que asegura la verificación de lacondición de contorno Ψ(1) = 0, se determinado mediante el método deldisparo con un método de paso variable con control del error que asegura 8cifras significativas correctas (ver sección 7). La figura 8 muestra la soluciónobtenida mediante el método de Euler con m = 20 pasos. Se presenta lasolución del problema de valor inicial (41) con las definiciones (42) (izquierda)y la geometría deformada en coordenadas cartesianas (derecha). Se observacomo la condición de empotramiento Ψ(1) = 0 no se verifica exactamentedebido a los errores de truncamiento del método de Euler. La figura 2 muestrala solución obtenida con el método de Euler, para m = 20 y m = 40, y para

34

LaCàN

el método de Runge de 4o orden con m = 10 (el mismo coste computacionalque Euler con m = 40). Se presenta el giro Ψ(ξ) a la izquierda y la geometríadeformada a la derecha. Con el mismo coste computacional el método de 4oorden proporciona mejores resultados que el método de Euler, puesto queverifica con mayor precisión la condición de empotramiento. En la figura 4.4se representa la evolución del error, medido como |(Ym)(1)| ' |Ψ(1)| = 0,en función del número de evaluaciones de la función f (medida del costecomputacional). Utilizando escala logarítmica en ambos ejes, se observa laconvergencia lineal del método de Euler y la convergencia de orden 4 delmétodo de Runge de 4o orden.

101

102

108

10 6

10 4

10 2

100

# evaluaciones de f

Err

or

(giro e

n e

l ext

rem

o e

mpo

tra

do)

EulerRK4

11

4

1

Figura 10: Evolución del error |(Ym)(1)| ' |Ψ(1)| = 0 para el método de Eulery para el método de Runge de 4o orden.

5. Métodos multipasoUn método multipaso con k pasos que se puede expresar en la forma

k∑j=0

αjyi+j = h

k∑j=0

βjfi+j + hτi(h) (43)

donde τi(h) es el error de truncamiento y se utiliza la notación f∗ ≡ f(x∗, y∗).Para evitar ambigüedades se suele expresar con |α0|+|β0| 6= 0, y muchas vecesnormalizado con αk = 1.

35

LaCàN

Los métodos multipaso se pueden analizar de forma sencilla utilizando losteoremas 2 y 3. Si se definen el primer y segundo polinomio como

ρ(ξ) =k∑

j=0

αjξj, σ(ξ) =

k∑j=0

βjξj,

el método (43) es consistente si

ρ(1) = 0 y ρ′(1) = σ(1),

y es estable si las raíces de ρ(ξ) son de módulo menor o igual que 1, y lasraíces de módulo 1 son simples.

No es difícil determinar el orden de un método multipaso.

Mediante desarrollos de Taylor, se puede expresar el residuo como

Ri(h) = hτi(h) = C0yi + C1hdy

dx(xi) + C2h

2 d2y

dx2(xi) + . . . .

donde

C0 =k∑

j=0

αj ≡ ρ(1), C1 =k∑

j=0

(jαj − βj) ≡ ρ′(1)− σ(1),

Cq =k∑

j=0

[1

q!jqαj − 1

(q − 1)!jq−1βj

]q > 1.

El método es de orden q si C0 = C1 = · · · = Cq = 0 y Cq+1 6= 0.

Teorema 5 (Primera barrera de Dahlquist) El orden más alto posiblepara un método multipaso estable con k pasos es k + 1 si k es par, o k + 2 sik es impar.

El polinomio de estabilidad absoluta de un método multipaso es

Π(r; λh) = ρ(r)− λhσ(r).

Recordar que el método es absolutamente para λ y h fijados si todas lasraíces del polinomio Π(r; λh) son de módulo menor que 1.

36

LaCàN

En general, los métodos implícitos tienen mayor región de estabilidad quelos métodos explícitos.

En los métodos multipaso, cuanto mayor es el orden del método menor esla región de estabilidad absoluta. A diferencia de los métodos Runge-Kutta,para los cuáles la región de estabilidad es mayor cuanto mayor es el ordendel método.

5.1. Métodos de tipo Adams

Integrando la EDO (1) en el intervalo [xi, xi+1]

∫ xi+1

xi

dy

dxdx =

∫ xi+1

xi

f(x, y(x))dx,

se obtieneyi+1 − yi =

∫ xi+1

xi

f(x, y(x))dx.

Utilizando una cuadratura numérica con puntos de integración {xi−p, . . . , xi, xi+1}para aproximar la integral, aproximando f(x, y(x)) con un polinomio e inte-grando, se obtiene el esquema numérico. Cuando el método tiene la mayorprecisión posible se dice que es un método de Adams.

Si la integral se aproxima con puntos base ya calculados {xi−p, . . . , xi},con pesos {hβ−p, . . . , hβ0},

yi+1 − yi = h [β−pfi−p + · · ·+ β0fi] + hτi(h),

se obtiene un método explícito,

Yi+1 = Yi + h [β−pf(xi−p, Yi−p) + · · ·+ β0f(xi, Yi))] ,

y el error de truncamiento, τi(h), depende de la cuadratura numérica conside-rada. Son los llamados métodos de Adams-Brashford. Por ejemplo, utilizandouna cuadratura con 4 puntos de integración {xi−3, xi−2, xi−1, xi} para apro-ximar la integral en el intervalo [xi, xi+1] se obtiene el método de 3 pasos detercer orden

yi+1 − yi =h

12[23fi − 16fi−1 + 5fi−2] +

3

8h4y(4)(ξ), ξ ∈ [xi−2, xi]. (44)

Si la integral se aproxima con puntos base {xi−p, . . . , xi, xi+1}, con pesos{hβ−p, . . . , hβ0, hβ1},

yi+1 − yi = h [β−pfi−p + · · ·+ β0fi + β1fi+1] + hτi(h),

37

LaCàN

se obtiene un método implícito,

Yi+1 = Yi + h [β−pf(xi−p, Yi−p) + · · ·+ β0f(xi, Yi) + β1f(xi+1, Yi+1)]

Son los llamados métodos de Adams-Moulton. Utilizando una cuadratura con2 puntos {xi, xi+1} (fórmula del trapecio) se llega al método implícito desegundo orden conocido como Trapezoidal Rule

yi+1 = yi +h

2[fi+1 + fi]− 1

12h3y(3)(ξ), ξ ∈ [xi, xi+1].

Utilizando una cuadratura con 4 puntos {xi−2, xi−1, xi, xi+1} para aproxi-mar la integral en el intervalo [xi, xi+1] se obtiene el método de 3 pasos de 4oorden

yi+1 = yi +h

24[9fi+1 + 19fi − 5fi−1 + fi−2]− 19

720h5y(5)(ξ), ξ ∈ [xi−2, xi+1].

(45)

El primer polinomio de los métodos tipo Adams es ρ(ξ) = ξk+1− ξk. Por lotanto, todos los métodos de tipo Adams son estables.

5.1.1. Métodos predictor-corrector

Se obtienen al combinar un método multipaso explícito y un métodomultipaso implícito. En cada paso i se utiliza el método explícito para calcularuna primera aproximación de yi+1 y se mejora la aproximación iterando conun método implícito de orden mayor o igual que el explícito. Por ejemplo, sepuede combinar el método de Adams-Brashford (44) y el método de Adams-Moulton (45) para definir el método predictor-corrector siguiente:

Predicción: Y 0i+1 = Yi + h

12[23fi − 16fi−1 + 5fi−2]

Corrección: Y k+1i+1 = Yi + h

24

[9f(xi+1, Y

ki+1) + 19fi − 5fi−1 + fi−2

]

donde f∗ ≡ f(x∗, Y∗) y donde se puede hacer una sóla corrección, Yi+1 = Y 1i+1,

o iterar hasta convergencia.

5.2. Métodos BDF

Los métodos Backward Differenciation Formulae se obtienen consideran-do la EDO (1) particularizada en x = xi+1,

dy

dx(xi+1) = fi+1.

38

LaCàN

Se aproxima la derivadady

dx(xi+1) con puntos base {xi−p, . . . , xi, xi+1} (in-

terpolando y(x) con un polinomio, derivando el polinomio y evaluándolo enx = xi), obteniendo un esquema de la forma

γ1yi+1 + γ0yi + · · ·+ γ−pyi−p = hfi+1 + hτi(h),

o equivalentemente

yi+1 = − γi

γ1

yi − · · · − γ−p

γ1

yi−p +1

γ1

hfi+1 +1

γ1

hτi(h),

donde el error de truncamiento dependerá de la aproximación de la derivada.Se trata de una familia de métodos implícitos basados en aproximacionesde las derivadas y son especialmente interesantes por ser incondicionalmenteestables: la región de estabilidad absoluta incluye todo el eje real negativo.Por ejemplo, aproximando la derivada con 2 puntos se obtiene el método deEuler hacia atrás,

yi+1 = yi + hfn+1 − 1

2h2y(2)(ξ), ξ ∈ [xi, xi+1].

Si se aproxima con 3 puntos se obtiene el método de orden 2 siguiente

yi+1 =4

3yi − 1

3yi−1 +

2

3hfn+1 − 2

9h3y(3)(ξ), ξ ∈ [xi−1, xi+1].

6. Problemas de contorno:método del disparoTal como se comenta en la introducción, la solución de una EDO de

orden n, o equivalentemente de un sistema de n EDOs de orden 1, quedadeterminada de forma única fijando n condiciones adicionales. Cuando estascondiciones están dadas en varios puntos del intervalo de resolución [a, b],generalmente en los extremos, se habla de condiciones de contorno. El pro-blema definido por la EDO y las condiciones de contorno se llama problemade contorno.

Los métodos numéricos presentados en secciones anteriores están formu-lados para la resolución de problemas de valor inicial. Sin embargo, estosmismos métodos se utilizan para la resolución de problemas de contorno, sim-plemente transformando el problema de contorno en un problema de valorinicial. La técnica que permite esta reformulación del problema es el llamadométodo del disparo que se comenta a continuación.

39

LaCàN

Para simplificar la notación se considera el problema de contorno dadopor la EDO de orden n

dny

dxn= f(x, y,

dy

dx,d2y

dx2, · · · ,

dn−1y

dxn−1) x ∈ [a, b] (46)

y las condiciones de contorno

y(a) = α1,dy

dx(a) = α2, . . . ,

dna−1y

dxna−1(a) = αna , (47a)

B1

(y(b), · · · ,

dn−1y

dxn−1(b)

)= 0, . . . , Bnb

(y(b), · · · ,

dn−1y

dxn−1(b)

)= 0, (47b)

donde na + nb = n. Las condiciones (47a) prescriben el valor de la funcióny y de sus na − 1 primeras derivadas en x = a, y las condiciones (47b) im-ponen nb condiciones adicionales sobre el valor de la función y y sus n − 1derivadas en x = b. Por ejemplo, la primera condición en (47b) podría serB1( y(b), . . . , dn−1y/dxn−1(b) ) = y(b)− C con C constante, fijando la condi-ción de contorno y(b) = C. En general las na condiciones de contorno en x = a(47a) no tienen porqué corresponder a las primeras derivadas y las nb condi-ciones de contorno (47b) pueden ser condiciones sobre valores de la funcióny sus derivadas en cualquier punto del dominio, e incluso una combinaciónde valores en varios puntos del dominio. Sin embargo, la generalización delmétodo del disparo para estas condiciones de contorno no añade dificultadalguna.

El método del disparo considera el problema de valor inicial dado por laEDO (46) y las condiciones iniciales

y(a) = α1,dy

dx(a) = α2, . . . ,

dna−1y

dxna−1(a) = αna , (48a)

dnay

dxna(a) = β1, . . . ,

dn−1y

dxn−1(a) = βnb

, (48b)

donde se han sustituido las nb condiciones de contorno (47b) por las nb con-diciones iniciales (48b). Los escalares β1, . . . , βnb

no vienen dados por elproblema original. Se trata de parámetros que se determinan al imponer lasnb condiciones de contorno (47b).

Según lo explicado en la sección 1.3, el problema de valor inicial dado porla EDO (46) y las condiciones iniciales (48) se puede escribir como

dy

dx(x) = f(x,y) x ∈ [a, b]

y(a) =

{αβ

}

(49)

40

LaCàN

con la definición del vector y = {y, dy/dx, . . . , dn−1y/dxn−1} y con lascondiciones iniciales dadas por los vectores α = {α1, . . . , αna}T (conocido) yβ = {β1, . . . , βnb

}T (a determinar). Nótese que la solución analítica de esteproblema, y(x), depende del vector β.

Dado un vector de coeficientes β, la resolución numérica con m pasos detiempo del problema de valor inicial (49) proporciona una aproximación dela solución en x = b,

Y m,β ' y(b),

donde se destaca con el superíndice la dependencia de la solución numéricarespecto a las condiciones iniciales β.

El método del disparo consiste en determinar β de manera que la soluciónnumérica cumpla las condiciones de contorno (47b). Es decir, β es la solucióndel sistema con nb ecuaciones y nb incógnitas siguiente

F (β) = 0, con F (β) =

B1

(Y m,β

(1) , . . . , Y m,β(n)

)

...Bnb

(Y m,β

(1) , . . . , Y m,β(n)

)

. (50)

Dado que generalmente la dependencia de la solución numérica Y m,β respectoa los parámetros β no tiene expresión analítica sencilla, las ecuaciones delsistema (50) son no lineales y no tienen expresión analítica conocida. Es decir,sólo se dispone de una función sin expresión analítica conocida que, dado unvector β, retorna un vector F (β) que contiene el error en la verificación delas condiciones de contorno.

El cero de esta función no lineal se calcula con cualquier método numéricode resolución de sistemas no lineales de ecuaciones como, por ejemplo, elmétodo de Newton-Raphson aproximando las derivadas de F con derivaciónnumérica o un método cuasi-Newton [?].

Si el problema de contorno tiene n − 1 condiciones iniciales conocidasy sólo es necesario determinar una condición inicial adicional β, el sistema(50) es un problema de ceros de funciones, F (β) = 0. En este caso, se puedeplantear el cálculo del cero de la función mediante el método de bisección,el método de la secante u otros métodos que no requieran el cálculo de laderivada de F .

6.1. Ejemplo: ménsula con grandes flechas

En esta sección se considera el problema planteado en la sección 1.4.Tal como se comenta en la sección 4.4, tras la adimensionalización de las

41

LaCàN

ecuaciones y la reducción de la EDO de segundo orden a un sistema de dosEDOs de primer orden, el método del disparo plantea la resolución numéricadel problema de valor inicial

dy

dξ= f(ξ, y), ξ ∈ [0, 1]; y(0) = (β 0)T , (51)

con las definiciones dadas en (42). La condición inicial β no es un dato delproblema. Se trata de un parámetro a determinar imponiendo la condiciónde empotramiento Ψ(L) = 0, o equivalentemente,

B1

(y(1)(L), y(2)(L)

):= y(1)(L) = 0.

A continuación se plantea la resolución numérica del problema con elmétodo de Runge de 4o orden y m = 20 pasos de tiempo. Dado un valor de lacondición inicial β, el método de Runge-Kutta proporciona una aproximaciónde la solución y, en particular, una aproximación del ángulo y de su derivadaen el extremo empotrado, Y m,β ' y(L), donde el superíndice β resalta ladependencia de la solución numérica respecto a β. Por lo tanto, dado un valorde β podemos calcular el error cometido en la verificación de la condición decontorno de empotramiento, definiendo la siguiente función

F (β) = Y m,β(1) . (52)

Es decir, el cálculo del cero de la función, F (β) = 0, proporciona el valor dela condición inicial β para que la solución numérica verifique la condición deempotramiento en x = L.

La figura 4.4 muestra las tres primeras iteraciones en el cálculo del cerode la función (52) mediante el método de Newton aproximando la derivadacomo

dF

dx(β) ' F (β + h)− F (β)

hcon h pequeña,

y con aproximación inicial β = 0,5. En la figura también se muestra lasolución del problema de valor inicial (51) para cada uno de los valores de βdurante las iteraciones. Nótese que cada evaluación de la función F supone uncoste computacional importante, puesto que requiere la resolución numéricadel problema de valor inicial. Por lo tanto, el método de la secante (con menorcoste computacional) es una muy buena alternativa al método de Newton.

7. Control del error y paso variableConsidérese un método de paso simple de orden p, con error local de

truncamiento en valor absoluto

Eh = Chp+1. (53)

42

LaCàN

0 0.2 0.4 0.6 0.8 1-5

-4

-3

-2

-1

0

1Iteración 0 beta=0.5 Error = -1.33

GiroDerivada

0 0.2 0.4 0.6 0.8 1-0. 2

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6Iteración 1 beta=1.560758 Error = 1.53

s

0 0.2 0.4 0.6 0.8 1-4

-3

-2

-1

0

1

2Iteración 2 beta=1.167780 Error = 0.104

s0 0.2 0.4 0.6 0.8 1

-4

-3

-2

-1

0

1

2Iteración 3 beta=1.134852 Error = 0.00166

s

s

Figura 11: Iteraciones del método del disparo con el método de Runge de 4oorden y m = 20. La aproximación inicial es β0 = 0,5.

0 0.2 0.4 0.6 0.8 1−4

−3

−2

−1

0

1

2Iteración 4 beta=1.134310 Error en la diana = 4.83e−007

s

GiroDerivada

0 0.2 0.4 0.6 0.80

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8Geometría deformada

X

Y

Figura 12: Solución final obtenida con el método del disparo con el métodode Runge de 4o orden y m = 20

43

LaCàN

El objetivo de esta sección es, dado un punto xi con solución aproximada Yi,determinar el paso h∗ que se debe utilizar para asegurar que el error en elcálculo de la solución en xi+1 sea menor que una cierta tolerancia prefijada

Eh∗ ≤ tol,

asegurando así que el error total acumulado en el cálculo sea aceptable.La idea es básica es (1) realizar el cálculo con h cualquiera (por ejemplo

la del paso anterior), (2) estimar o aproximar el error cometido de algunaforma y (3) determinar mediante la fórmula 53 el paso h∗ para que el errorsea el deseado.

Para la aproximación del error se compara la solución con una soluciónobtenida de forma "más precisa", ya sea utilizando una h más pequeña conel mismo método o utilizando un método de orden superior. Por ejemplo, Eh

se puede evaluar como la diferencia en valor absoluto entre la solución enxi+1 obtenida con paso h y la solución en xi+1 con paso h/2 (con 2 pasos).

Una vez calculada la aproximación del error Eh, se puede determinar elpaso adecuado h∗ para que

E∗h = C(h∗)p+1

sea igual a la precisión deseada tol. Dividiendo la ecuación anterior por laecuación (53) se obtiene

Eh∗

Eh

=C(h∗)p+1

Chp+1,

que simplificando y sustituyendo E∗h = tol lleva a

tol

Eh

=

(h∗

h

)p+1

,

de donde se puede despejar

h∗ =

(tol

Eh

)1/(p+1)

h.

Uno de los métodos de paso variable con control del error más populareses el método RKF45 (Runge-Kutta-Felberg 45). Se trata de un método deRunge-Kutta de 4o orden en el que se utiliza un método de orden 5 para laaproximación el error Eh. El coste total del método se reduce gracias a queambos métodos tienen las mismas constantes aij y ci y, por lo tanto, ambosmétodos requieren la evaluación de la función f en los mismos valores. Esdecir, una vez calculados los valores de las constantes ki para el método de4o orden, estos mismos valores permiten utilizar el método de 5o orden sinincrementar el número de evaluaciones de la función. Este tipo de métodos,en caso de métodos explícitos, se suele representar con una tabla de la forma

44

LaCàN

c2 a21

c3 a31 a32...

...... . . .

cs as1 as2 . . . as,s−1

b1 b2 . . . bs−1 bs

b1 b2 . . . bs−1 bs

e1 e2 . . . es−1 es

donde, una vez calculadas las constantes ki, la solución con el método deorden p se obtendría con las constantes bj como

Yi+1 = Yi + h [b1k1 + b2k2 + · · ·+ bsks] ,

mientras que la solución con el método de orden p + 1 se obtendría con lasconstantes bj como

Yi+1 = Yi + h[b1k1 + b2k2 + · · ·+ bsks

].

Restando ambas aproximaciones se obtiene la aproximación del error

Eh ' h [e1k1 + e2k2 + · · ·+ esks] ,

donde ej = bj − bj. El método RKF45 corresponde a la tabla siguiente,

45

LaCàN

1

4

1

4

3

8

3

32

9

32

12

13

1932

2197−7200

2197

7296

2197

1439

216-8

3680

513− 845

4104

1

2− 8

272 −3544

2565

1859

4104−11

40

25

2160

1408

2565

2197

4104−1

50

16

1350

6656

12825

28561

56430− 9

50

2

55

1

3600 − 128

4275− 2197

75240

1

50

2

55

En cada paso la aproximación se calcula con un método de 4o orden como

Yi+1 = Yi + h

[25

216k1 +

1408

2565k3 +

2197

4101k4 − 1

5k5

],

y el error cometido se calcula como

Eh ' h

[1

360k1 − 128

4275k3 − 2197

75240k4 +

1

50k5 +

2

55k6

],

donde las constantes ki se calculan con 6 evaluaciones de la función

k1 = f( xi , Yi )

k2 = f(

xi + 14h , Yi + h

(14k1

) )

k3 = f(

xi + 38h , Yi + h

(332

k1 + 932

k2

) )

k4 = f(

xi + 1213

h , Yi + h(

19322197

k1 − 72002197

k2 + 72962197

k3

) )

k5 = f(

xi + h , Yi + h(

439216

k1 − 8k2 + 3680513

k3 − 8454104

k4

) )

k6 = f(

xi + 12h , Yi + h

(− 827

k1 + 2k2 − 35442565

k3 + 18594104

k4 − 1140

k5

) ).

46

LaCàN

7.1. Viga plástica biapoyada

Se considera una viga biapoyada de longitud L = 10 m con una leymomento-curvatura no lineal, sometida a una carga uniforme q, ver figura7.1. La ecuación de equilibrio de la viga es

q mo

me

nto

curvatura

De

Dp

1

1Me

Figura 13: Viga biapoyada y ley momento-curvatura no lineal

d2M

dx2+ q = 0 x ∈ [0, L],

donde el momento M = M(χ) depende de forma no lineal de la curvatura

χ =d2y

dx2, con flecha y(x). Derivando y utilizando la regla de la cadena se

llega a la ecuación

d2M

dχ2

[d3y

dx3

]2

+dM

d4y

dx4+ q = 0 x ∈ [0, L]

o, equivalentemente,

F

(d2y

dx2

)[d3y

dx3

]2

+ G

(d2y

dx2

)d4y

dx4+ q = 0 x ∈ [0, L],

conF (χ) =

d2M

dχ2, G(χ) =

dM

dχ.

Las condiciones de contorno son y = 0 yd2y

dx2= 0 en ambos extremos. Sin

embargo, teniendo en cuenta la simetría del problema se puede plantear laresolución sólo en media viga. El problema de contorno correspondiente es

47

LaCàN

0 2 4 6 8 10−0.04

−0.02

0y(x)

0 2 4 6 8 10−0.02

0

0.02y(1)(x)

0 2 4 6 8 10−2

0

2

4x 10

−3 y(2)(x)

0 2 4 6 8 10−2

0

2x 10

−3 y(3)(x)

0 2 4 6 8 10−100

−50

0

50Momento

0 2 4 6 8 10−40

−20

0

20

40Cortante

Figura 14: Euler con 160 pasos, q = 0,75qe, 3 iteraciones con β0 = (0, 0)

F

(d2y

dx2

)[d3y

dx3

]2

+ G

(d2y

dx2

)d4y

dx4+ q = 0 x ∈ [L/2, L],

dy

dx(L/2) = 0,

d3y

dx3(L/2) = 0,

y(L) = 0,d2y

dx2(L) = 0.

Para resolver el problema de contorno mediante el método del disparo seconsidera el problema de valor inicial

d2y

dx= f(x, y) x ∈ [L/2, L]

y(L/2) = (β1, 0, β2, 0)T

48

LaCàN

0 2 4 6 8 10−0.04

−0.02

0

0.02y(x)

0 2 4 6 8 10−0.02

0

0.02y(1)(x)

0 2 4 6 8 100

2

4x 10

−3 y(2)(x)

0 2 4 6 8 10−2

0

2x 10

−3 y(3)(x)

0 2 4 6 8 10−100

−80

−60

−40

−20

0Momento

0 2 4 6 8 10−40

−20

0

20

40Cortante

Figura 15: RK4 con 40 pasos, q = 0,75qe, 3 iteraciones

con

y =

y(1)

y(2)

y(3)

y(4)

:=

y

dy

dx

d2y

dx2

d3y

dx3

f(x, y) =

y(2)

y(3)

y(4)

−q + F

(y(3)

)y2

(4)

G(y(3)

)

y donde el vector β = (β0, β1) se determina al imponer las condiciones enx = L:

y(L) = 0,d2y

dx2(L) = 0.

El momento elástico máximo es

Me = 120,38 N/m2,

y se consigue al aplicar la carga uniforme

qe = 9,63 N.

49

LaCàN

En todos lo ejemplos se itera hasta que el error en la diana es menor que0,5 10−4.

0 2 4 6 8 10−0.06

−0.04

−0.02

0y(x)

0 2 4 6 8 10−0.02

0

0.02y(1)(x)

0 2 4 6 8 10−5

0

5

10x 10

−3 y(2)(x)

0 2 4 6 8 10−0.01

0

0.01y(3)(x)

0 2 4 6 8 10−150

−100

−50

0

50Momento

0 2 4 6 8 10−50

0

50Cortante

Figura 16: Euler con 160 pasos, q = qe, 7 iteraciones con β0 = (0, 0)

7.1.1. Resultados con q = 0,75qe: comportamiento elástico

En las figuras 14 y 15 se muestran los resultados obtenidos para q = 0,75qe

con 160 y 40 pasos respectivamente (160 evaluaciones de la función). Enambos casos se converge en 3 iteraciones con la aproximación inicial β0 =(0, 0).

7.1.2. Resultados con q = qe: 1 rótula plástica

En las figuras 16 y 17 se muestran los resultados obtenidos para q = qe con160 y 40 pasos respectivamente (160 evaluaciones de la función). En amboscasos se converge en 7 iteraciones con la aproximación inicial β0 = (0, 0).La figura 18 muestra el resultado obtenido con el método de paso variableRKF45 asegurando un error menor que 0,5 10−8. La solución final se obtienecon 80 pasos.

50

LaCàN

0 2 4 6 8 10−0.05

0

0.05y(x)

0 2 4 6 8 10−0.02

0

0.02y(1)(x)

0 2 4 6 8 100

2

4

6x 10

−3 y(2)(x)

0 2 4 6 8 10−5

0

5x 10

−3 y(3)(x)

0 2 4 6 8 10−150

−100

−50

0Momento

0 2 4 6 8 10−50

0

50Cortante

Figura 17: RK4 con 40 pasos, q = qe, 7 iteraciones

7.1.3. Resultados con q = 1,25qe

La figura 19 muestra el resultado obtenido con el método de paso variableRKF45 asegurando un error menor que 0,5 10−8. La solución se obtiene en13 iteraciones con

β = (−6,464, 1,037)

y 221 pasos.Con el método de Euler y la aproximación inicial β0 = (0, 0) no se llega a

convergencia, incluso cuando los cálculos se realizan con 1000 pasos. Tampocose consigue convergencia utilizando una aproximación inicial mejor β0 =(−6, 1).

Con el método de 4o orden rk4 no se llega a convergencia con la aproxima-ción inicial β0 = (0, 0) no se llega a convergencia, incluso cuando los cálculosse realizan con 1000 pasos. Si se considera una aproximación inicial mejor,β0 = (−6, 1), se llega a convergencia. Sin embargo, la solución con 40, 100,250 y 1000 pasos de tiempo no es aceptable en ningún caso. Como ejemplo,la figura 20 muestra el resultado con 250 pasos. Observando el momento enla solución, es evidente que la solución no es correcta. El método no es capazde capturar la solución con suficiente precisión.

51

LaCàN

0 2 4 6 8 10−0.06

−0.04

−0.02

0y(x)

0 2 4 6 8 10−0.02

0

0.02y(1)(x)

0 2 4 6 8 100

0.005

0.01y(2)(x)

0 2 4 6 8 10−5

0

5x 10

−3 y(3)(x)

0 2 4 6 8 10−150

−100

−50

0Momento

0 2 4 6 8 10−50

0

50Cortante

Figura 18: RK45 con tolerancia 0,5 10−8, q = qe, 12 iteraciones con β0 =(0, 0), solución final con 80 pasos.

52

LaCàN

0 2 4 6 8 10−10

−5

0y(x)

0 2 4 6 8 10−2

0

2y(1)(x)

0 2 4 6 8 10−1

0

1

2y(2)(x)

0 2 4 6 8 10−1

0

1y(3)(x)

0 2 4 6 8 10−200

−150

−100

−50

0

50Momento

0 2 4 6 8 10−100

−50

0

50

100Cortante

Figura 19: RK45 con tolerancia 0,5 10−8, q = 1,25qe, 13 iteraciones conβ0 = (0, 0), solución final con 221 pasos.

0 2 4 6 8 10−10

−5

0

5y(x)

0 2 4 6 8 10−5

0

5y(1)(x)

0 2 4 6 8 100

0.5

1

1.5y(2)(x)

0 2 4 6 8 10−5

0

5y(3)(x)

0 2 4 6 8 10−200

−150

−100

−50

0Momento

0 2 4 6 8 10−2

−1

0

1

2x 10

4 Cortante

Figura 20: Solución con RK4 con 250 pasos, q = 1,25qe. No es aceptable.53

LaCàN