Articulo de referencia

Método de un solo paso

Los métodos de un paso aproximan la solución (azul) de un problema de valor inicial partiendo del punto de partida dado. A 0 {\displaystyle A_{0}} desde el punto de partida dado...

Los métodos de un paso aproximan la solución (azul) de un problema de valor inicial partiendo del punto de partida dado.A0{\displaystyle A_{0}}desde el punto de partida dadoA1{\displaystyle A_{1}},A2{\displaystyle A_{2}}etc. se puede determinar

En matemáticas numéricas , los métodos de un paso y los métodos de varios pasos constituyen un amplio grupo de métodos de cálculo para resolver problemas de valor inicial . Este problema, en el que se proporciona una ecuación diferencial ordinaria junto con una condición inicial, desempeña un papel fundamental en todas las ciencias naturales y de la ingeniería , y también está adquiriendo cada vez más importancia en las ciencias económicas y sociales , por ejemplo. Los problemas de valor inicial se utilizan para analizar, simular o predecir procesos dinámicos.

La idea básica de los métodos de un paso es que calculan puntos de aproximación paso a paso a lo largo de la solución deseada, partiendo de un punto de partida dado. Solo utilizan la aproximación más reciente para el siguiente paso, a diferencia de los métodos de varios pasos, que también incluyen puntos anteriores en el cálculo. Los métodos de un paso se pueden dividir a grandes rasgos en dos grupos: los métodos explícitos, que calculan la nueva aproximación directamente a partir de la anterior, y los métodos implícitos, que requieren la resolución de una ecuación. Estos últimos también son adecuados para los llamados problemas de valor inicial rígido.

El método de un paso más sencillo y antiguo, el método explícito de Euler , fue publicado por Leonhard Euler en 1768. Tras la presentación de varios métodos de pasos múltiples en 1883, Carl Runge , Karl Heun y Wilhelm Kutta desarrollaron mejoras significativas al método de Euler alrededor de 1900. Estas mejoras dieron origen al amplio grupo de métodos de Runge-Kutta, que constituyen la clase más importante de métodos de un paso. Los avances posteriores del siglo XX incluyen la idea de la extrapolación y, sobre todo, consideraciones sobre el control del ancho de paso, es decir, la selección de longitudes adecuadas para cada paso del método. Estos conceptos constituyen la base para resolver problemas de valor inicial complejos, como los que se presentan en las aplicaciones modernas, de manera eficiente y con la precisión requerida mediante programas informáticos.

Introducción

Ecuaciones diferenciales ordinarias

El desarrollo del cálculo diferencial e integral por el físico y matemático inglés Isaac Newton y, de forma independiente, por el polímata alemán Gottfried Wilhelm Leibniz en el último tercio del siglo XVII, constituyó un importante impulso para la matematización de la ciencia en la Edad Moderna. Estos métodos formaron el punto de partida del subcampo matemático del análisis y son de vital importancia en todas las ciencias naturales y de la ingeniería. Mientras que Leibniz llegó al cálculo diferencial a partir del problema geométrico de determinar las tangentes a curvas dadas, Newton partió de la cuestión de cómo determinar los cambios en una magnitud física en un momento específico. [ 1 ]

Por ejemplo, cuando un cuerpo se mueve, su velocidad media es simplemente la distancia recorrida dividida por el tiempo necesario para recorrerla. Sin embargo, para formular matemáticamente la velocidad instantáneav(t){\textstyle v(t)}del cuerpo en un momento determinadot{\displaystyle t}, es necesaria una transición límite: Consideremos intervalos de tiempo cortos de longitudΔt{\displaystyle \Delta t}las distancias recorridasΔincógnita{\displaystyle \Delta x}y las velocidades medias correspondientesΔincógnitaΔt{\displaystyle {\tfrac {\Delta x}{\Delta t}}}Si ahora se permite que el período de tiempo Δ 𝑡 converja hacia cero y si las velocidades promedio también se aproximan a un valor fijo, entonces este valor se denomina velocidad (instantánea).v(t){\textstyle v(t)}en el momento indicadot{\displaystyle t}. SiΔt{\displaystyle \Delta t}denota la posición del cuerpo en el instante 𝑡, luego escribev(t)=incógnita(t){\displaystyle v(t)=x'(t)}y llamarv{\displaystyle v}el derivado deincógnita{\displaystyle x}.

El paso decisivo en la dirección de los modelos de ecuaciones diferenciales es ahora la pregunta inversa: En el ejemplo del cuerpo en movimiento, sea la velocidadv(t){\textstyle v(t)}ser conocido en cada momento 𝑡 y su posiciónincógnita(t){\displaystyle x(t)}se puede determinar a partir de esto. Está claro que la posición inicial del cuerpo en un instante de tiempo 𝑡 0 también debe conocerse para poder resolver este problema sin ambigüedad. Por lo tanto, estamos buscando una funciónincógnita(t){\displaystyle x(t)}conincógnita(t)=v(t){\displaystyle x'(t)=v(t)}que cumple la condición inicialincógnita(t)=v(t){\displaystyle x'(t)=v(t)}con valores dadost0{\displaystyle t_{0}}yincógnita0{\displaystyle x_{0}}.

En el ejemplo de determinar la posición 𝑥 de un cuerpo a partir de su velocidad, la derivada de la función que se busca se da explícitamente. Sin embargo, en la mayoría de los casos, existe el importante caso general de ecuaciones diferenciales ordinarias para una variable buscada.y{\displaystyle y}: Debido a las leyes de la naturaleza o a las suposiciones del modelo, se conoce una relación funcional que especifica cómo la derivaday(t){\displaystyle y'(t)}de la función que se va a determinar se puede calcular a partir det{\displaystyle t}y del valor (desconocido)y(t){\displaystyle y(t)}Además, se debe proporcionar una condición inicial, que se puede obtener, por ejemplo, a partir de una medición de la variable requerida en un punto fijo en el tiempo. En resumen, existe el siguiente tipo general de tarea: Encontrar la funcióny{\displaystyle y}que satisface las ecuaciones

y(t)=F(t,y(t)),y(t0)=y0{\displaystyle y'(t)=f(t,y(t)),\quad y(t_{0})=y_{0}}

se cumple, dondeF{\displaystyle f}es una función dada.

La solución mostrada de la ecuación diferencial del atractor de Lorenz es una curva muy complicada en el espacio tridimensional.

Un ejemplo sencillo es una variabley{\displaystyle y}que crece exponencialmente . Esto significa que el cambio instantáneo, es decir, la derivaday(t){\displaystyle y'(t)}es proporcional ay(t){\displaystyle y(t)}mismo. Por lo tanto,y(t)=λy(t){\displaystyle y'(t)=\lambda y(t)}con una tasa de crecimientoλ{\displaystyle \lambda }y, por ejemplo, una condición inicialy(0)=y0{\displaystyle y(0)=y_{0}}En este caso, la solución requerida 𝑦 ya se puede encontrar utilizando cálculo diferencial elemental y especificar mediante la función exponencial :y(t)=y0miλt{\displaystyle y(t)=y_{0}e^{\lambda t}}.

La función requeriday{\displaystyle y}en una ecuación diferencial puede ser vectorial, es decir, para cadat{\displaystyle t},y(t)=(y1(t),,yd(t)){\ Displaystyle y (t) = (y_ {1} (t), \ dotsc, y_ {d} (t))}puede ser un vector cond{\displaystyle d}componentes. Esto también se conoce como und{\displaystyle d}sistema de ecuaciones diferenciales de dimensión . En el caso de un cuerpo en movimiento,y(t){\displaystyle y(t)}es su posición end{\displaystyle d}espacio euclidiano de -dimensiones yy(t){\displaystyle y'(t)}es su velocidad en el tiempot{\displaystyle t}Por lo tanto, la ecuación diferencial especifica la velocidad de la trayectoria con su dirección y magnitud en cada punto del tiempo y el espacio. A partir de esto, se calcula la trayectoria en sí.

Idea básica del procedimiento de un solo paso

En la sencilla ecuación diferencial de crecimiento exponencial considerada anteriormente como ejemplo, la función solución podía especificarse directamente. Esto generalmente ya no es posible para problemas más complicados. Bajo ciertas condiciones adicionales, entonces es posible demostrar que existe una solución claramente determinada al problema de valor inicial para la función.F{\displaystyle f}Sin embargo, esto ya no puede calcularse explícitamente mediante métodos de análisis de solución (como la separación de variables , el método exponencial o la variación de las constantes). En este caso, se pueden utilizar métodos numéricos para obtener aproximaciones de la solución buscada.

Los métodos para la solución numérica de problemas de valor inicial de ecuaciones diferenciales ordinarias se pueden dividir a grandes rasgos en dos grandes grupos: los métodos de un paso y los métodos de múltiples pasos. Ambos grupos tienen en común que calculan aproximaciones.y0,y1,y2,{\displaystyle y_{0},y_{1},y_{2},\dotsc }para los valores de función deseadosy(t0),y(t1),y(t2),{\displaystyle y(t_{0}),y(t_{1}),y(t_{2}),\dotsc }en ciertos puntost0<t1<t2<{\displaystyle t_{0}<t_{1}<t_{2}<\ldots }paso a paso. La característica definitoria de los métodos de un paso es que solo la aproximación "actual"yj{\displaystyle y_{j}}se utiliza para determinar la siguiente aproximaciónyj+1{\displaystyle y_{j+1}}En cambio, los métodos de varios pasos también incluyen aproximaciones calculadas previamente; por lo tanto, un método de tres pasos utilizaríayj1{\displaystyle y_{j-1}}yyj2{\displaystyle y_{j-2}}para determinar la nueva aproximaciónyj+1{\displaystyle y_{j+1}}además deyj{\displaystyle y_{j}}.

Dos pasos del método explícito de Euler

El método de un paso más simple y básico es el método explícito de Euler, introducido por el matemático y físico suizo Leonhard Euler en 1768 en su libro de texto Institutiones Calculi Integralis. [ 2 ] La idea de este método es aproximar la solución buscada por una función lineal a trozos en la que el gradiente del tramo recto viene dado portj{\displaystyle t_{j}}en cada paso desde el puntotj+1{\displaystyle t_{j+1}}hasta el puntoF(tj,yj){\displaystyle f(t_{j},y_{j})}. En más detalle: La definición del problema ya proporciona un valor de la función que se busca, a saber:y(t0)=y0{\displaystyle y(t_{0})=y_{0}}. Sin embargo, la derivada en este punto también se conoce comoy(t0)=F(t0,y0){\displaystyle y'(t_{0})=f(t_{0},y_{0})}Se aplica. Esto permite determinar la tangente a la gráfica de la función solución y usarla como aproximación. En el puntot1>t0{\displaystyle t_{1}>t_{0}}los siguientes resultados con el tamaño del pasoh0:=t1t0{\displaystyle h_{0}:=t_{1}-t_{0}}

y(t1)y0+h0F(t0,y0)=:y1{\displaystyle y(t_{1})\approx y_{0}+h_{0}f(t_{0},y_{0})=:y_{1}}.

Este procedimiento puede continuarse ahora con los siguientes pasos. En general, esto da como resultado la siguiente regla de cálculo para el método explícito de Euler.

yj+1=yj+hjF(tj,yj),j=0,1,2,{\displaystyle y_{j+1}=y_{j}+h_{j}f(t_{j},y_{j}),\quad j=0,1,2,\dotsc }

con los incrementoshj=tj+1tj{\displaystyle h_{j}=t_{j+1}-t_{j}}. [ 3 ]

El método explícito de Euler es el punto de partida para numerosas generalizaciones en las que el gradienteF(tj,yj){\displaystyle f(t_{j},y_{j})}se reemplaza por gradientes que aproximan el comportamiento de la solución entre los puntostj{\displaystyle t_{j}}ytj+1{\displaystyle t_{j+1}}más precisamente. Una idea adicional para métodos de un paso la proporciona el método implícito de Euler, que utilizaF(tj+1,yj+1){\displaystyle f(t_{j+1},y_{j+1})}como el gradiente. A primera vista, esta elección no parece muy adecuada, ya queyj+1{\displaystyle y_{j+1}}es desconocido. Sin embargo, como paso procedimental, ahora obtenemos la ecuación.

yj+1=yj+hjF(tj+1,yj+1){\displaystyle y_{j+1}=y_{j}+h_{j}f(t_{j+1},y_{j+1})}

de cuályj+1{\displaystyle y_{j+1}}se puede calcular (utilizando un método numérico si es necesario). Si, por ejemplo, se selecciona como pendiente la media aritmética de las pendientes del método de Euler explícito e implícito, se obtiene el método trapezoidal implícito. A su vez, se puede obtener un método explícito a partir de este si, por ejemplo, la desconocidayj+1{\displaystyle y_{j+1}}El lado derecho de la ecuación se aproxima utilizando el método explícito de Euler, el llamado método de Heun. [ 4 ] Todos estos métodos y todas las demás generalizaciones tienen en común la idea básica de los métodos de un paso: el paso

yj+1=yj+hjΦ{\displaystyle y_{j+1}=y_{j}+h_{j}\Phi}

con un gradienteΦ{\displaystyle \Phi }que pueden depender detj{\displaystyle t_{j}},yj{\displaystyle y_{j}}yhj{\displaystyle h_{j}}así como (para métodos implícitos) enyj+1{\displaystyle y_{j+1}}.

Definición

Con las consideraciones de la sección introductoria de este artículo, el concepto del método de un paso se puede definir de la siguiente manera: Sea la solucióny{\displaystyle y}del problema de valor inicial que se busca

y(t)=F(t,y(t)){\displaystyle y'(t)=f(t,y(t))},y(t0)=y0{\displaystyle \quad y(t_{0})=y_{0}}.

Se supone que la solución

y:IRd{\displaystyle y\colon I\to \mathbb {R} ^{d}}

existe en un intervalo dadoI=[t0,T]{\displaystyle I=[t_{0},T]}y está determinado de forma única. Son

t0<t1<t2<<tnorte=T{\displaystyle t_{0}<t_{1}<t_{2}<\ldots <t_{n}=T}

Posiciones intermedias en el intervaloI{\displaystyle I}yhj=tj+1tj{\displaystyle h_{j}=t_{j+1}-t_{j}}los incrementos correspondientes, entonces esto viene dado por

yj+1=yj+hjΦ(tj,yj,yj+1,hj){\displaystyle y_{j+1}=y_{j}+h_{j}\Phi (t_{j},y_{j},y_{j+1},h_{j})},j=0,,norte1{\displaystyle \quad j=0,\dotsc ,n-1}

El método dado es un método de un solo paso con función de métodoΦ{\displaystyle \Phi }. SiΦ{\displaystyle \Phi }no depende deyj+1{\displaystyle y_{j+1}}, entonces se denomina método explícito de un paso. De lo contrario, una ecuación paraj{\displaystyle j}debe resolverse en cada pasoj{\displaystyle j}y el método se llama implícito. [ 5 ]

Consistencia y convergencia

Orden de convergencia

Para un procedimiento práctico de un solo paso, el calculadoyj{\displaystyle y_{j}}deberían ser buenas aproximaciones para los valoresy(tj){\displaystyle y(t_{j})}de la solución exactay{\displaystyle y}en ese puntotj{\displaystyle t_{j}}Como las variables son generalmented{\displaystyle d}Vectores de dimensión , la calidad de esta aproximación se mide utilizando una norma vectorial comoyjy(tj){\displaystyle \|y_{j}-y(t_{j})\|}, el error en el puntotj{\displaystyle t_{j}}Es deseable que estos errores converjan rápidamente a cero para todosj{\displaystyle j}si se permite que los tamaños de paso converjan a cero. Para capturar también el caso de tamaños de paso no constantes,h{\displaystyle h}se define más precisamente como el máximo de los tamaños de paso utilizados y el comportamiento del error máximo en todos los puntosj{\displaystyle j}se considera en comparación con potencias deh{\displaystyle h}Se dice que el método de un paso para resolver el problema de valor inicial dado tiene un orden de convergenciapag1{\displaystyle p\geq 1}si la estimación

máximoj=0,,norteyjy(tj)dohpag{\displaystyle \max _{j=0,\dotsc ,n}\|y_{j}-y(t_{j})\|\leq Ch^{p}}

Se aplica a todos los suficientemente pequeñosh{\displaystyle h}con una constantedo>0{\displaystyle C>0}que es independiente deh{\displaystyle h}. [ 6 ] El orden de convergencia es el parámetro más importante para comparar diferentes métodos de un paso. [ 7 ] Un método con un orden de convergencia más altopag{\displaystyle p}Generalmente, ofrece un error total menor para un tamaño de paso dado o, por el contrario, se requieren menos pasos para lograr una precisión dada. Para un método conpag=1{\displaystyle p=1}, es de esperar que el error solo se reduzca aproximadamente a la mitad si el tamaño del paso se reduce a la mitad. Con un método de orden de convergenciapag=4{\displaystyle p=4}Por otro lado, se puede suponer que el error se reduce en un factor de aproximadamente(12)4=116{\displaystyle {\bigl (}{\tfrac {1}{2}}{\bigr )}^{4}={\tfrac {1}{16}}}.

Error global y local

Los erroresyjy(tj){\displaystyle \|y_{j}-y(t_{j})\|}Los considerados en la definición del orden de convergencia se componen de dos componentes individuales de una manera que inicialmente parece complicada: Por un lado, por supuesto, dependen del error que comete el método en un solo paso al aproximar el gradiente desconocido de la función que busca la función del método. Por otro lado, sin embargo, también debe tenerse en cuenta que el punto de partida(tj,yj){\displaystyle (t_{j},y_{j})}El resultado de un paso generalmente no coincide con el punto de partida exacto.(tj,y(tj)){\displaystyle (t_{j},y(t_{j}))}Por lo tanto, el error posterior a este paso también depende de todos los errores que ya se hayan cometido en los pasos anteriores. Debido a la definición uniforme de los procedimientos de un solo paso, que difieren únicamente en la elección de la función del procedimiento.Φ{\displaystyle \Phi }Sin embargo, se puede demostrar que (bajo ciertas condiciones técnicas enΦ{\displaystyle \Phi }) se puede inferir directamente el orden de convergencia a partir del orden de error en un solo paso, el llamado orden de consistencia.

El concepto de consistencia es un concepto general y central de las matemáticas numéricas modernas. Si bien la convergencia de un método implica investigar qué tan bien coinciden las aproximaciones numéricas con la solución exacta, en términos simplificados, en el caso de la consistencia se plantea la pregunta "inversa": ¿Qué tan bien cumple la solución exacta con la especificación del método? En esta teoría general, un método es convergente si es consistente y estable. Para simplificar la notación, la siguiente consideración supone que un procedimiento explícito de un solo paso

yj+1=yj+hΦ(tj,yj,h){\displaystyle y_{j+1}=y_{j}+h\Phi (t_{j},y_{j},h)}

con un tamaño de paso constanteh{\displaystyle h}Existe. Con la solución verdaderaty(t){\displaystyle t\mapsto y(t)}, el error de truncamiento local (también llamado error de proceso local)η{\displaystyle \eta }se define como [ 8 ]

η(t,h)=y(t)+hΦ(t,y(t),h)y(t+h){\displaystyle \eta (t,h)=y(t)+h\Phi (t,y(t),h)-y(t+h)}.

Por lo tanto, se asume que se conoce la solución exacta y se inicia un paso del método en el punto(t,y(t)){\displaystyle (t,y(t))}y forma la diferencia con la solución exacta en el puntot+h{\displaystyle t+h}Esto define: Un método de un paso tiene el orden de consistenciapag1{\displaystyle p\geq 1}si la estimación

η(t,h)dohpag+1{\displaystyle \|\eta (t,h)\|\leq Ch^{p+1}}

Se aplica a todos los suficientemente pequeñosh{\displaystyle h}con una constantedo>0{\displaystyle C>0}que es independiente deh{\displaystyle h}.

La diferencia más notable entre las definiciones del orden de consistencia y el orden de convergencia es la potenciahpag+1{\displaystyle h^{p+1}}en lugar dehpag{\displaystyle h^{p}}Esto puede interpretarse claramente como que se "pierde" una potencia del tamaño del paso durante la transición del error local al global. Se aplica el siguiente teorema, que es fundamental para la teoría de los métodos de un paso: [ 9 ]

Si la función del procesoΦ{\displaystyle \Phi }es Lipschitz-continuo y el proceso de un paso asociado tiene el orden de consistenciapag{\displaystyle p}, entonces también tiene el orden de convergenciapag{\displaystyle p}.

La continuidad de Lipschitz de la función del proceso como requisito adicional para la estabilidad generalmente siempre se cumple si la funciónF{\displaystyle f}La ecuación diferencial en sí misma es Lipschitz continua. Este requisito debe asumirse para la mayoría de las aplicaciones de todos modos para garantizar la resolubilidad inequívoca del problema de valor inicial. Según el teorema, por lo tanto, es suficiente determinar el orden de consistencia de un método de un paso. En principio, esto se puede lograr mediante el desarrollo de Taylor deη(t,h){\displaystyle \eta (t,h)}a potencias deh{\displaystyle h}En la práctica, las fórmulas resultantes para órdenes superiores se vuelven muy complicadas y confusas, por lo que se requieren conceptos y notaciones adicionales. [ 10 ]

Rigidez y estabilidad A

El orden de convergencia de un método es una declaración asintótica que describe el comportamiento de las aproximaciones cuando el tamaño del paso converge a cero. Sin embargo, no dice nada sobre si el método realmente calcula una aproximación útil para un tamaño de paso fijo dado. Charles Francis Curtiss y Joseph O. Hirschfelder describieron por primera vez en 1952 que esto puede ser un problema importante para ciertos tipos de problemas de valor inicial. Habían observado que las soluciones de algunos sistemas de ecuaciones diferenciales en la cinética de reacciones químicas no podían calcularse utilizando métodos numéricos explícitos y denominaron a dichos problemas de valor inicial "rígidos". [ 11 ] Existen numerosos criterios matemáticos para determinar cuán rígido es un problema dado. Los problemas de valor inicial rígidos suelen ser sistemas de ecuaciones diferenciales en los que algunos componentes se vuelven constantes muy rápidamente mientras que otros componentes cambian solo lentamente. Este comportamiento ocurre típicamente en el modelado de reacciones químicas. Sin embargo, la definición más útil de rigidez para aplicaciones prácticas es: Un problema de valor inicial es rígido si, al resolverlo con métodos explícitos de un paso, el tamaño del paso tendría que elegirse "demasiado pequeño" para obtener una solución útil. Por lo tanto, tales problemas solo pueden resolverse utilizando métodos implícitos. [ 12 ]

Zur Berechnung einer exponentiell fallden Lösung (blau) ist das explizite Euler-Verfahren (rot) bei zu großer Schrittweite völlig unbrauchbar; das implizite Euler-Verfahren (grün) bestimmt die Lösung für beliebige Schrittweiten qualitativ richtig.

Este efecto se puede ilustrar con mayor precisión examinando cómo los métodos individuales manejan el decaimiento exponencial . Según el matemático sueco Germund Dahlquist , la ecuación de prueba

y(t)=λy(t),y(0)=1{\displaystyle y'(t)=\lambda y(t),\quad y(0)=1}

con la solución decreciente exponencialmenteλ<0{\displaystyle \lambda <0}paray(t)=miλt{\displaystyle y(t)=e^{\lambda t}}El diagrama adjunto muestra, a modo de ejemplo para el método de Euler explícito e implícito, el comportamiento típico de estos dos grupos de métodos para este problema de valor inicial aparentemente sencillo: si se utiliza un tamaño de paso demasiado grande en un método explícito, esto da como resultado valores que oscilan fuertemente y que se acumulan a lo largo del cálculo, alejándose cada vez más de la solución exacta. Los métodos implícitos, por otro lado, suelen calcular la solución para tamaños de paso arbitrarios de forma cualitativamente correcta, es decir, como una secuencia exponencialmente decreciente de valores aproximados. [ 13 ]

De manera más general, la ecuación de prueba anterior también se considera para valores complejos deλ{\displaystyle \lambda }En este caso, las soluciones son oscilaciones cuya amplitud permanece limitada precisamente cuandoRe(λ)0{\displaystyle \operatorname {Re} (\lambda )\leq 0}, es decir, la parte real deλ{\displaystyle \lambda }es menor o igual que 0. Esto permite formular una propiedad deseable de los métodos de un paso que se utilizarán para problemas de valor inicial rígidos: la llamada estabilidad A. Un método se denomina A-estable si calcula una secuencia de aproximacionesh>0{\displaystyle h>0}para cualquier tamaño de pasoy0,y1,y2,{\displaystyle y_{0},y_{1},y_{2},\dotsc }aplicado a la ecuación de prueba para todosλ{\displaystyle \lambda }conRe(λ)0{\displaystyle \operatorname {Re} (\lambda )\leq 0}, que permanece acotada (como la solución verdadera). El método implícito de Euler y el método trapezoidal implícito son los ejemplos más simples de métodos de un paso A-estables. Por otro lado, se puede demostrar que un método explícito nunca puede ser A-estable. [ 14 ]

Procedimientos especiales y clases de procedimientos

Procedimientos sencillos de orden 1 y 2

Einige Einschrittverfahren im Vergleich

Como demostró el matemático francés Augustin-Louis Cauchy alrededor de 1820, el método de Euler tiene un orden de convergencia de 1. Si promedias las pendientesF(tj,yj){\displaystyle f(t_{j},y_{j})}del método explícito de Euler yF(tj+1,yj+1){\displaystyle f(t_{j+1},y_{j+1})}del método implícito de Euler, como existen en los dos puntos extremos de un paso, [ 15 ] se puede esperar obtener una mejor aproximación en todo el intervalo. De hecho, se puede demostrar que el método trapezoidal implícito obtenido de esta manera

yj+1=yj+h2(F(tj,yj)+F(tj+1,yj+1)){\displaystyle y_{j+1}=y_{j}+{\frac {h}{2}}{\Big (}f(t_{j},y_{j})+f(t_{j+1},y_{j+1}){\Big )}}

tiene un orden de convergencia de 2. Este método tiene muy buenas propiedades de estabilidad, pero es implícito, lo que significa que se debe resolver una ecuación para 𝑦 𝑗 + 1 en cada paso. Si esta variable se aproxima en el lado derecho de la ecuación usando el método explícito de Euler, el resultado es el método explícito de Heun [ 16 ].

yj+1=yj+h2(F(tj,yj)+F(tj+1,yj+hF(tj,yj))){\displaystyle y_{j+1}=y_{j}+{\frac {h}{2}}{\Big (}f(t_{j},y_{j})+f{\big (}t_{j+1},y_{j}+hf(t_{j},y_{j}){\big )}{\Big )}},

que también tiene un orden de convergencia de 2. Otro método explícito simple de orden 2, el método de Euler mejorado, se obtiene mediante la siguiente consideración: Una pendiente "media" en el paso del método sería la pendiente de la solución 𝑦 en el punto medio del paso, es decir, en el puntoyj+1{\displaystyle y_{j+1}}Sin embargo, como la solución es desconocida, se aproxima mediante un paso de Euler explícito con la mitad del tamaño del paso. Esto da como resultado el siguiente procedimiento.

yj+1=yj+hF(tj+h2,yj+h2F(tj,yj)){\displaystyle y_{j+1}=y_{j}+hf{\big (}t_{j}+{\tfrac {h}{2}},y_{j}+{\tfrac {h}{2}}f(t_{j},y_{j}){\big )}}.

Estos métodos de un paso de orden 2 fueron publicados en 1895 como mejoras del método de Euler por el matemático alemán Carl Runge. [ 17 ]

Método Runge-Kutta

Das klassische Runge-Kutta-Verfahren vierter Ordnung mittelt in jedem Schritt vier Hilfssteigungen (rot)

Las ideas antes mencionadas para métodos simples de un solo paso conducen a la importante clase de métodos de Runge-Kutta cuando se generalizan aún más. Por ejemplo, el método de Heun se puede presentar más claramente de la siguiente manera: Primero, una pendiente auxiliark1=F(tj,yj){\displaystyle k_{1}=f(t_{j},y_{j})}se calcula, concretamente la pendiente del método explícito de Euler. Esto se utiliza para determinar una pendiente auxiliar adicional, aquí.k2=F(tj+h,yj+hk1){\displaystyle k_{2}=f(t_{j}+h,y_{j}+hk_{1})}El gradiente del proceso realΦ{\displaystyle \Phi }El valor utilizado se calcula entonces como un promedio ponderado de los gradientes auxiliares, es decir12k1+12k2{\displaystyle {\tfrac {1}{2}}k_{1}+{\tfrac {1}{2}}k_{2}}en el método de Heun. Este procedimiento se puede generalizar a más de dos pendientes auxiliares. Uns{\displaystyle s}- -etapa El método Runge-Kutta calcula primero las pendientes auxiliaresk1,,ks{\displaystyle k_{1},\dotsc ,k_{s}}evaluando 𝑓 en puntos adecuados y luegoΦ{\displaystyle \Phi }como promedio ponderado. En un método explícito de Runge-Kutta, las pendientes auxiliaresk1,k2,k3,{\displaystyle k_{1},k_{2},k_{3},\dotsc }se calculan directamente una tras otra; en un método implícito, se obtienen como soluciones a un sistema de ecuaciones. Un ejemplo típico es el método clásico explícito de Runge-Kutta de orden 4, que a veces se denomina simplemente método de Runge-Kutta: Primero, las cuatro pendientes auxiliares [ 18 ]

k1=F(tj,yj)k2=F(tj+h2,yj+h2k1)k3=F(tj+h2,yj+h2k2)k4=F(tj+h,yj+hk3){\displaystyle {\begin{aligned}k_{1}&=f(t_{j},y_{j})\\k_{2}&=f(t_{j}+{\tfrac {h}{2}},y_{j}+{\tfrac {h}{2}}k_{1})\\k_{3}&=f(t_{j}+{\tfrac {h}{2}},y_{j}+{\tfrac {h}{2}}k_{2})\\k_{4}&=f(t_{j}+h,y_{j}+hk_{3})\end{aligned}}}

y luego se calcula el promedio ponderado como la pendiente del proceso

16k1+13k2+13k3+16k4{\displaystyle {\tfrac {1}{6}}k_{1}+{\tfrac {1}{3}}k_{2}+{\tfrac {1}{3}}k_{3}+{\tfrac {1}{6}}k_{4}}

Se utiliza. Este método bien conocido fue publicado por el matemático alemán Wilhelm Kutta en 1901, después de que Karl Heun hubiera encontrado un método de tres pasos y un paso de orden 3 un año antes. [ 19 ]

La construcción de métodos explícitos de orden aún superior con el menor número posible de pasos es un problema matemáticamente bastante exigente. Como John C. Butcher pudo demostrar en 1965, por ejemplo, solo hay un mínimo de seis pasos para el orden 5; un método explícito de Runge-Kutta de orden 8 requiere al menos 11 pasos. En 1978, el matemático austriaco Ernst Hairer encontró un método de orden 10 con 17 niveles. Los coeficientes para dicho método deben satisfacer 1205 ecuaciones determinantes. Con los métodos implícitos de Runge-Kutta, [ 20 ] la situación es más simple y clara: para cada número de pasoss{\displaystyle s}Hay un método de ordenpag=2s{\displaystyle p=2s} ; este es también el orden máximo alcanzable. [ 21 ]

Método de extrapolación

Extrapolación aufh=0{\displaystyle h=0}bei einem Verfahren der Ordnungpag=2{\textstyle p=2}

La idea de extrapolación no se limita a la solución de problemas de valor inicial con métodos de un paso, sino que puede aplicarse de forma análoga a todos los métodos numéricos que discretizan el problema a resolver con un tamaño de paso.h{\displaystyle h}Un ejemplo bien conocido de método de extrapolación es la integración de Romberg para el cálculo numérico de integrales. En general, seav{\displaystyle v}sea ​​un valor que se va a determinar numéricamente, en el caso de este artículo, por ejemplo, el valor de la función solución de un problema de valor inicial en un punto dado. Un método numérico, por ejemplo un método de un paso, calcula un valor aproximado.v~(h){\displaystyle {\tilde {v}}(h)}para esto, que depende de la elección del tamaño del pasoh>0{\displaystyle h>0}. Se supone que el método es convergente, es decir quev~(h){\displaystyle {\tilde {v}}(h)}converge av{\displaystyle v}cuandoh{\displaystyle h}converge a cero. Sin embargo, esta convergencia es solo una afirmación puramente teórica, ya que los valores aproximadosv~(h1),v~(h2),,v~(hmetro){\displaystyle {\tilde {v}}(h_{1}),{\tilde {v}}(h_{2}),\dotsc ,{\tilde {v}}(h_{m})}se puede calcular para un número finito de tamaños de paso diferentesh1>h2>>hmetro{\displaystyle h_{1}>h_{2}>\ldots >h_{m}}, pero por supuesto no se puede permitir que el tamaño del paso "converja a cero". Sin embargo, las aproximaciones calculadas para diferentes tamaños de paso pueden interpretarse como información sobre la función (desconocida).v~{\displaystyle {\tilde {v}}}: En los métodos de extrapolación,v~{\displaystyle {\tilde {v}}}se aproxima mediante un polinomio de interpolación, es decir, mediante un polinomioPAG{\displaystyle P}con [ 22 ]

PAG(hk)=v~(hk){\displaystyle P(h_{k})={\tilde {v}}(h_{k})}

parak=1,2,,metro{\displaystyle k=1,2,\dotsc ,m}. El valorPAG(0){\displaystyle P(0)}del polinomio en el puntoh=0{\displaystyle h=0}luego se utiliza como una aproximación computable para el valor límite no computable dev~(h){\displaystyle {\tilde {v}}(h)}parah{\displaystyle h}hacia cero. Un algoritmo de extrapolación exitoso para problemas de valor inicial fue publicado por Roland Bulirsch y Josef Stoer en 1966. [ 23 ]

Un ejemplo concreto en el caso de un método de ordenación de un solo pasopag{\displaystyle p}puede ilustrar el procedimiento general de extrapolación. Con dicho método, la aproximación calculada para tamaños de paso pequeños ℎ se puede describir fácilmente mediante un polinomio de la forma

PAG(h)=a+bhpag{\displaystyle P(h)=a+bh^{p}}

con parámetros inicialmente desconocidosa{\displaystyle a}yb{\displaystyle b}. Si ahora calculas dos aproximacionesyh1{\displaystyle y_{h_{1}}}yyh2{\displaystyle y_{h_{2}}}utilizando el método para un tamaño de pasoh1{\displaystyle h_{1}}y para la mitad del tamaño del pasoh2=12h1{\displaystyle h_{2}={\tfrac {1}{2}}h_{1}}, dos ecuaciones lineales para las incógnitasa{\displaystyle a}yb{\displaystyle b}se obtienen a partir de las condiciones de interpolaciónPAG(h1)=yh1{\displaystyle P(h_{1})=y_{h_{1}}}yPAG(h2)=yh2{\displaystyle P(h_{2})=y_{h_{2}}}.

El valor extrapolado a
PAG(0)=a=yh2+yh2yh12pag1{\displaystyle P(0)=a=y_{h_{2}}+{\frac {y_{h_{2}}-y_{h_{1}}}{2^{p}-1}}}

es entonces generalmente una aproximación significativamente mejor que los dos valores calculados inicialmente. Se puede demostrar que el orden del método de un paso obtenido de esta manera es al menospag+1{\displaystyle p+1}, es decir, al menos 1 mayor que el método original. [ 24 ]

Método con control de ancho de paso

Una ventaja del método de un solo paso es que cualquier tamaño de pasoj{\displaystyle j}puede utilizarse en cada paso 𝑗 independientemente de los demás pasos. En la práctica, esto plantea la cuestión de cómo seleccionar ℎ 𝑗. En aplicaciones reales, siempre habrá una tolerancia de error con la que se calculará la solución de un problema de valor inicial; por ejemplo, sería inútil determinar una aproximación numérica significativamente más "precisa" que los datos para los valores iniciales y los parámetros del problema dado, que están sujetos a errores de medición . El objetivo será, por lo tanto, seleccionar los tamaños de paso de tal manera que, por un lado, se respeten las tolerancias de error especificadas y, por otro lado, se utilicen la menor cantidad de pasos posible para mantener el esfuerzo computacional al mínimo. Este problema, en el que se da una ecuación diferencial ordinaria junto con una condición inicial, desempeña un papel central en todas las ciencias naturales y de la ingeniería y también está adquiriendo cada vez más importancia en las ciencias económicas y sociales, por ejemplo. Los problemas de valor inicial se utilizan para analizar, simular o predecir procesos dinámicos. [ 25 ]

Para problemas de valor inicial bien condicionados , se puede demostrar que el error global del proceso es aproximadamente igual a la suma de los errores de truncamiento locales.ηj:=η(tj,hj){\displaystyle \eta _{j}:=\|\eta (t_{j},h_{j})\|}en los pasos individuales. Por lo tanto, el mayor posiblehj{\displaystyle h_{j}}debe seleccionarse como el tamaño del paso, para el cualηj{\displaystyle \eta _{j}}está por debajo de un umbral de tolerancia seleccionado. El problema aquí es queηj{\displaystyle \eta _{j}}no se puede calcular directamente, ya que depende de la solución exacta desconocida.y(tj){\displaystyle y(t_{j})}del problema de valor inicial en el puntotj{\displaystyle t_{j}}Por lo tanto, la idea básica del control del tamaño del paso es aproximary(tj){\displaystyle y(t_{j})}con un método que es más preciso que el método básico subyacente. [ 26 ]

Dos ideas básicas para el control del ancho de paso son la reducción a la mitad del ancho de paso y los procesos integrados. Con la reducción a la mitad del tamaño de paso, el resultado de dos pasos con la mitad del tamaño de paso se calcula como un valor de comparación además del paso de proceso real. Una aproximación más precisa paray(tj){\displaystyle y(t_{j})}Luego se determina a partir de ambos valores por extrapolación y se estima el error local 𝜂 𝑗. Si este es demasiado grande, este paso se descarta y se repite con un tamaño de paso menor. Si es significativamente menor que la tolerancia especificada, el tamaño del paso se puede aumentar en el siguiente paso. [ 27 ] El esfuerzo computacional adicional para este procedimiento de reducción a la mitad del ancho de paso es relativamente alto; por eso las implementaciones modernas suelen utilizar los llamados procedimientos integrados para el control del ancho de paso. La idea básica es calcular dos aproximaciones paray(tj){\displaystyle y(t_{j})}En cada paso se utilizan dos métodos de un paso con diferentes órdenes de convergencia, lo que permite estimar el error local. Para optimizar el esfuerzo computacional, los dos métodos deben tener en común la mayor cantidad posible de pasos computacionales: deben estar "integrados". Los métodos de Runge-Kutta integrados, por ejemplo, utilizan las mismas pendientes auxiliares y solo difieren en la forma de promediarlas. Entre los métodos integrados más conocidos se encuentran el método de Runge-Kutta-Fehlberg ( Erwin Fehlberg , 1969) y el método de Dormand-Prince (JR Dormand y PJ Prince, 1980). [ 28 ]

Ejemplo práctico: Resolución de problemas de valor inicial con software numérico

Se han desarrollado numerosas implementaciones de software para los conceptos matemáticos descritos en este artículo, que permiten al usuario resolver problemas prácticos numéricamente de forma sencilla. Como ejemplo concreto, se calculará ahora una solución a las ecuaciones de Lotka-Volterra utilizando el popular software numérico Matlab . Las ecuaciones de Lotka-Volterra son un modelo simple de la biología que describe las interacciones entre poblaciones de depredadores y presas . Dado el sistema de ecuaciones diferenciales

y1(t)=ay1(t)by1(t)y2(t)y2(t)=doy1(t)y2(t)dy2(t){\displaystyle {\begin{aligned}y_{1}'(t)&=ay_{1}(t)-by_{1}(t)y_{2}(t)\\y_{2}'(t)&=cy_{1}(t)y_{2}(t)-dy_{2}(t)\end{aligned}}}

con los parámetrosa=1,b=2,do=1,d=1{\displaystyle a=1,b=2,c=1,d=1}y la condición inicialy1(0)=3{\displaystyle y_{1}(0)=3},y2(0)=1{\displaystyle y_{2}(0)=1}. Aquí,y1{\displaystyle y_{1}}yy2{\displaystyle y_{2}}corresponden al desarrollo temporal de la población de presas y depredadores respectivamente. La solución debe calcularse en el intervalo de tiempo[0,20]{\displaystyle [0,20]}.

Para el cálculo usando Matlab, la funciónF{\displaystyle f}se define primero para los valores de los parámetros dados en el lado derecho de la ecuación diferencial.y=F(t,y){\displaystyle y'=f(t,y)}:

a = 1 ; b = 2 ; c = 1 ; d = 1 ; f = @( t , y ) [ a * y ( 1 ) - b * y ( 1 ) * y ( 2 ); c * y ( 1 ) * y ( 2 ) - d * y ( 2 )];

También se requieren el intervalo de tiempo y los valores iniciales:

t_int = [ 0 , 20 ]; y0 = [ 3 ; 1 ];

La solución se puede calcular entonces:

[ t , y ] = ode45 ( f , t_int , y0 );

La función de Matlab ode45implementa un método de un paso que utiliza dos métodos Runge-Kutta explícitos integrados con órdenes de convergencia 4 y 5 para el control del tamaño del paso. [ 29 ]

Ahora se puede graficar la solución.y1{\displaystyle y_{1}}como una curva azul yy2{\displaystyle y_{2}}como una curva roja; los puntos calculados están marcados con pequeños círculos:

figura ( 1 ) gráfico ( t , y (:, 1 ), 'bo' , t , y (:, 2 ), 'ro' )

El resultado se muestra a continuación en la imagen de la izquierda. La imagen de la derecha muestra los tamaños de paso utilizados por el método y se generó con

figura ( 2 ) gráfico ( t ( 1 : fin - 1 ), diff ( t ))

Este ejemplo también puede ejecutarse sin modificaciones utilizando el software numérico gratuito GNU Octave. Sin embargo, el método implementado allí da como resultado una secuencia de tamaños de paso ligeramente diferente.

Literatura

  • John C. Butcher (2008), Métodos numéricos para ecuaciones diferenciales ordinarias , Chichester: John Wiley & Sons, ISBN 978-0-470-72335-7
  • Wolfgang Dahmen, Arnold Reusken (2008), "Kap. 11: Gewöhnliche Differentialgleichungen ", Numerik für Ingenieure und Naturwissenschaftler (2.  ed.), Berlín/Heidelberg: Springer, ISBN 978-3-540-76492-2
  • Peter Deuflhard, Folkmar Bornemann (2008), Numerische Mathematik 2 – Gewöhnliche Differentialgleichungen (3.  ed.), Berlín: Walter de Gruyter, ISBN 978-3-11-020356-1
  • David F. Griffiths, Desmond J. Higham (2010), Métodos numéricos para ecuaciones diferenciales ordinarias: problemas de valor inicial , Londres: Springer, ISBN 978-0-85729-147-9
  • Robert Plato (2010), "Kap. 7: Einschrittverfahren für Anfangswertprobleme ", Numerische Mathematik kompakt (4.  ed.), Wiesbaden: Vieweg+Teubner, ISBN 978-3-8348-1018-2
  • Hans-Jürgen Reinhardt (2012), Numerik gewöhnlicher Differentialgleichungen (2.  ed.), Berlín/Boston: Walter de Gruyter, ISBN 978-3-11-028045-6
  • Hans Rudolf Schwarz, Norbert Köckler (2011), "Kap. 8: Anfangswertprobleme ", Numerische Mathematik (8.  ed.), Wiesbaden: Vieweg+Teubner, ISBN 978-3-8348-1551-4
  • Karl Strehmel, Rüdiger Weiner, Helmut Podhaisky (2012), Numerik gewöhnlicher Differentialgleichungen (2.  ed.), Wiesbaden: Springer Spektrum, ISBN 978-3-8348-1847-8{{citation}}: CS1 maint: varios nombres: lista de autores ( enlace )
  • Lars Grüne (2008). "Métodos numéricos para ecuaciones diferenciales ordinarias (Matemáticas numéricas II)" (PDF) . Consultado el 20 de agosto de 2018 .
  • Peter Spellucci (2007). "Numerik gewöhnlicher Differentialgleichungen" (PDF) . Consultado el 20 de agosto de 2018 .
  • Hans U. Fuchs (2007). "Métodos numéricos para ecuaciones diferenciales" (PDF) . Consultado el 20 de agosto de 2018 .
  • "Tutorial de matemáticas: Rechner für allgemeine Differentialgleichungen 1. Ordnung" . Tutorial de matemáticas . Consultado el 20 de agosto de 2018 .

Referencias

  1. Thomas Sonar (2011), Análisis de 3000 años , Berlín/Heidelberg: Springer, págs. 378–388 y 401–426, ISBN  978-3-642-17203-8
  2. Jean-Luc Chabert u. a. (1999), Una historia de los algoritmos , Berlín/Heidelberg: Springer, págs. 374–378 , ISBN   978-3-540-63369-3
  3. Wolfgang Dahmen, Arnold Reusken (2008), Numerik für Ingenieure und Naturwissenschaftler (2. ed.), Berlín/Heidelberg: Springer, págs. 386 y siguientes, ISBN   978-3-540-76492-2
  4. Wolfgang Dahmen, Arnold Reusken (2008), Numerik für Ingenieure und Naturwissenschaftler (2. ed.), Berlín/Heidelberg: Springer, págs. 386–392 , ISBN   978-3-540-76492-2
  5. Hans Rudolf Schwarz, Norbert Köckler (2011), Numerische Mathematik (8. ed.), Wiesbaden: Vieweg+Teubner, págs. 350 y siguientes, ISBN   978-3-8348-1551-4
  6. Robert Plato (2010), Numerische Mathematik kompakt (4. ed.), Wiesbaden: Vieweg+Teubner, p. 157, Bibcode : 2010nmk..libro.....P , ISBN   978-3-8348-1018-2
  7. Robert Plato (2010), Numerische Mathematik kompakt (4. ed.), Wiesbaden: Vieweg+Teubner, p. 156, Bibcode : 2010nmk..libro.....P , ISBN   978-3-8348-1018-2
  8. Robert Plato (2010), Numerische Mathematik kompakt (4. ed.), Wiesbaden: Vieweg+Teubner, p. 157, Bibcode : 2010nmk..libro.....P , ISBN   978-3-8348-1018-2
  9. Hans-Jürgen Reinhardt (2012), Numerik gewöhnlicher Differentialgleichungen (2. ed.), Berlín/Boston: Walter de Gruyter, págs. 42 y siguientes, ISBN   978-3-11-028045-6
  10. John C. Butcher (2008), Métodos numéricos para ecuaciones diferenciales ordinarias , Chichester: John Wiley & Sons, págs. 95–100 , ISBN  978-0-470-72335-7
  11. JC Butcher (15 de diciembre de 2000), "Métodos numéricos para ecuaciones diferenciales ordinarias en el siglo XX", Journal of Computational and Applied Mathematics, vol. 125, n.º 1–2, págs. 21 y siguientes.
  12. Peter Deuflhard, Folkmar Bornemann (2008), Numerische Mathematik 2 – Gewöhnliche Differentialgleichungen (3. ed.), Berlín: Walter de Gruyter, págs. 228 y siguientes, ISBN   978-3-11-020356-1
  13. ^ Peter Deuflhard, Folkmar Bornemann (2008), Numerische Mathematik 2 - Gewöhnliche Differentialgleichungen (3. ed.), Berlín: Walter de Gruyter, págs. 229-231 , ISBN   978-3-11-020356-1
  14. Wolfgang Dahmen, Arnold Reusken (2008), Numerik für Ingenieure und Naturwissenschaftler (2. ed.), Berlín/Heidelberg: Springer, págs. 443 y siguientes, ISBN   978-3-540-76492-2
  15. Karl Strehmel, Rüdiger Weiner, Helmut Podhaisky (2012), Numerik gewöhnlicher Differentialgleichungen (2. ed.), Wiesbaden: Springer Spektrum, págs. 258 y siguientes, ISBN   978-3-8348-1847-8{{citation}}: CS1 maint: varios nombres: lista de autores ( enlace )
  16. Jean-Luc Chabert u. a. (1999), Una historia de los algoritmos , Berlín/Heidelberg: Springer, págs. 378 y siguientes, ISBN   978-3-540-63369-3
  17. Jean-Luc Chabert u. a. (1999), Una historia de los algoritmos , Berlín/Heidelberg: Springer, págs. 381–388 , ISBN   978-3-540-63369-3
  18. Wolfgang Dahmen, Arnold Reusken (2008), Numerik für Ingenieure und Naturwissenschaftler (2. ed.), Berlín/Heidelberg: Springer, págs. 406 y sigs., ISBN   978-3-540-76492-2
  19. JC Butcher (15 de diciembre de 2000), "Métodos numéricos para ecuaciones diferenciales ordinarias en el siglo XX", Journal of Computational and Applied Mathematics, vol. 125, n.º 1-2, págs. 4-6
  20. ^ Peter Deuflhard, Folkmar Bornemann (2008), Numerische Mathematik 2 - Gewöhnliche Differentialgleichungen (3. ed.), Berlín: Walter de Gruyter, págs. 160-162 , ISBN   978-3-11-020356-1
  21. Karl Strehmel, Rüdiger Weiner, Helmut Podhaisky (2012), Numerik gewöhnlicher Differentialgleichungen (2. ed.), Wiesbaden: Springer Spektrum, págs. 219-221 , ISBN   978-3-8348-1847-8{{citation}}: CS1 maint: varios nombres: lista de autores ( enlace )
  22. Karl Strehmel, Rüdiger Weiner, Helmut Podhaisky (2012), Numerik gewöhnlicher Differentialgleichungen (2. ed.), Wiesbaden: Springer Spektrum, págs. 79 y siguientes, ISBN   978-3-8348-1847-8{{citation}}: CS1 maint: varios nombres: lista de autores ( enlace )
  23. JC Butcher (15 de diciembre de 2000), "Métodos numéricos para ecuaciones diferenciales ordinarias en el siglo XX", Journal of Computational and Applied Mathematics, vol. 125, n.º 1-2, pág. 26
  24. Robert Plato (2010), Numerische Mathematik kompakt (4. ed.), Wiesbaden: Vieweg+Teubner, págs. 171-173 , Bibcode : 2010nmk..book.....P , ISBN   978-3-8348-1018-2
  25. Karl Strehmel, Rüdiger Weiner, Helmut Podhaisky (2012), Numerik gewöhnlicher Differentialgleichungen (2. ed.), Wiesbaden: Springer Spektrum, págs. 57-59 , ISBN   978-3-8348-1847-8{{citation}}: CS1 maint: varios nombres: lista de autores ( enlace )
  26. ^ Peter Deuflhard, Folkmar Bornemann (2008), Numerische Mathematik 2 - Gewöhnliche Differentialgleichungen (3. ed.), Berlín: Walter de Gruyter, págs. 199-204 , ISBN   978-3-11-020356-1
  27. ^ Robert Plato (2010), "Kap. 7: Einschrittverfahren für Anfangswertprobleme ", Numerische Mathematik kompakt (4. ed.), Wiesbaden: Vieweg+Teubner, págs. 173-177 , ISBN   978-3-8348-1018-2
  28. Karl Strehmel, Rüdiger Weiner, Helmut Podhaisky (2012), Numerik gewöhnlicher Differentialgleichungen (2. ed.), Wiesbaden: Springer Spektrum, págs. 64-70 , ISBN   978-3-8348-1847-8{{citation}}: CS1 maint: varios nombres: lista de autores ( enlace )
  29. "ode45: Resolver ecuaciones diferenciales no rígidas — método de orden medio" . MathWorks . Consultado el 23 de noviembre de 2017 .