3.2: El Método Euler Mejorado y Métodos Relacionados
- Page ID
- 114807
\( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)
\( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)
\( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)
( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)
\( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)
\( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)
\( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)
\( \newcommand{\Span}{\mathrm{span}}\)
\( \newcommand{\id}{\mathrm{id}}\)
\( \newcommand{\Span}{\mathrm{span}}\)
\( \newcommand{\kernel}{\mathrm{null}\,}\)
\( \newcommand{\range}{\mathrm{range}\,}\)
\( \newcommand{\RealPart}{\mathrm{Re}}\)
\( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)
\( \newcommand{\Argument}{\mathrm{Arg}}\)
\( \newcommand{\norm}[1]{\| #1 \|}\)
\( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)
\( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)
\( \newcommand{\vectorA}[1]{\vec{#1}} % arrow\)
\( \newcommand{\vectorAt}[1]{\vec{\text{#1}}} % arrow\)
\( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)
\( \newcommand{\vectorC}[1]{\textbf{#1}} \)
\( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)
\( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)
\( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)
\( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)
\( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)
\(\newcommand{\avec}{\mathbf a}\) \(\newcommand{\bvec}{\mathbf b}\) \(\newcommand{\cvec}{\mathbf c}\) \(\newcommand{\dvec}{\mathbf d}\) \(\newcommand{\dtil}{\widetilde{\mathbf d}}\) \(\newcommand{\evec}{\mathbf e}\) \(\newcommand{\fvec}{\mathbf f}\) \(\newcommand{\nvec}{\mathbf n}\) \(\newcommand{\pvec}{\mathbf p}\) \(\newcommand{\qvec}{\mathbf q}\) \(\newcommand{\svec}{\mathbf s}\) \(\newcommand{\tvec}{\mathbf t}\) \(\newcommand{\uvec}{\mathbf u}\) \(\newcommand{\vvec}{\mathbf v}\) \(\newcommand{\wvec}{\mathbf w}\) \(\newcommand{\xvec}{\mathbf x}\) \(\newcommand{\yvec}{\mathbf y}\) \(\newcommand{\zvec}{\mathbf z}\) \(\newcommand{\rvec}{\mathbf r}\) \(\newcommand{\mvec}{\mathbf m}\) \(\newcommand{\zerovec}{\mathbf 0}\) \(\newcommand{\onevec}{\mathbf 1}\) \(\newcommand{\real}{\mathbb R}\) \(\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}\) \(\newcommand{\laspan}[1]{\text{Span}\{#1\}}\) \(\newcommand{\bcal}{\cal B}\) \(\newcommand{\ccal}{\cal C}\) \(\newcommand{\scal}{\cal S}\) \(\newcommand{\wcal}{\cal W}\) \(\newcommand{\ecal}{\cal E}\) \(\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}\) \(\newcommand{\gray}[1]{\color{gray}{#1}}\) \(\newcommand{\lgray}[1]{\color{lightgray}{#1}}\) \(\newcommand{\rank}{\operatorname{rank}}\) \(\newcommand{\row}{\text{Row}}\) \(\newcommand{\col}{\text{Col}}\) \(\renewcommand{\row}{\text{Row}}\) \(\newcommand{\nul}{\text{Nul}}\) \(\newcommand{\var}{\text{Var}}\) \(\newcommand{\corr}{\text{corr}}\) \(\newcommand{\len}[1]{\left|#1\right|}\) \(\newcommand{\bbar}{\overline{\bvec}}\) \(\newcommand{\bhat}{\widehat{\bvec}}\) \(\newcommand{\bperp}{\bvec^\perp}\) \(\newcommand{\xhat}{\widehat{\xvec}}\) \(\newcommand{\vhat}{\widehat{\vvec}}\) \(\newcommand{\uhat}{\widehat{\uvec}}\) \(\newcommand{\what}{\widehat{\wvec}}\) \(\newcommand{\Sighat}{\widehat{\Sigma}}\) \(\newcommand{\lt}{<}\) \(\newcommand{\gt}{>}\) \(\newcommand{\amp}{&}\) \(\definecolor{fillinmathshade}{gray}{0.9}\)En la Sección 3.1, vimos que el error de truncamiento global del método de Euler es\(O(h)\), lo que parecería implicar que podemos lograr resultados arbitrariamente precisos con el método de Euler simplemente eligiendo el tamaño de paso suficientemente pequeño. No obstante, esto no es una buena idea, por dos razones. Primero, después de cierto punto disminuyendo el tamaño del paso aumentará los errores de redondeo hasta el punto en que la precisión se deteriorará en lugar de mejorar. La segunda y más importante razón es que en la mayoría de las aplicaciones de métodos numéricos a un problema de valor inicial
\[\label{eq:3.2.1} y'=f(x,y),\quad y(x_0)=y_0,\]
la parte cara del cómputo es la evaluación de\(f\). Por lo tanto, queremos métodos que den buenos resultados para un número determinado de tales evaluaciones. Esto es lo que nos motiva a buscar métodos numéricos mejor que los de Euler.
Para aclarar este punto, supongamos que queremos aproximar el valor de\(e\) aplicando el método de Euler al problema de valor inicial
\[y'=y,\quad y(0)=1 \nonumber\]
(con solución\(y=e^x\)) sobre\([0,1]\), con\(h=1/12\)\(1/24\), y\(1/48\), respectivamente. Dado que cada paso en el método de Euler requiere una evaluación de\(f\), el número de evaluaciones de\(f\) en cada uno de estos intentos es\(n=12\)\(24\), y\(48\), respectivamente. En cada caso aceptamos\(y_n\) como aproximación a\(e\). La segunda columna de la Tabla 3.2.1 muestra los resultados. La primera columna de la tabla indica el número de evaluaciones de\(f\) requeridas para obtener la aproximación, y la última columna contiene el valor de\(e\) redondeado a diez cifras significativas.
En esta sección estudiaremos el método mejorado de Euler, el cual requiere dos evaluaciones\(f\) de cada paso. Hemos utilizado este método con\(h=1/6\),\(1/12\), y\(1/24\). El número requerido de evaluaciones de\(f\) fueron 12, 24, y\(48\), como en las tres aplicaciones del método de Euler; sin embargo, se puede ver en la tercera columna de Table 3.2.1 que la aproximación a\(e\) obtenida por el método Euler mejorado con sólo 12 evaluaciones de \(f\)es mejor que la aproximación obtenida por el método de Euler con 48 evaluaciones.
En la Sección 3.3, estudiaremos el método Runge - Kutta, el cual requiere cuatro evaluaciones\(f\) de cada paso. Hemos utilizado este método con\(h=1/3\),\(1/6\), y\(1/12\). El número requerido de evaluaciones de\(f\) fueron nuevamente 12, 24, y\(48\), como en las tres aplicaciones del método de Euler y el método mejorado de Euler; sin embargo, se puede ver en la cuarta columna de Table 3.2.1 que la aproximación a\(e\) obtenida por el método Runge-Kutta con solo 12 evaluaciones de\(f\) es mejor que la aproximación obtenida por el método mejorado de Euler con 48 evaluaciones.
\(n\) | Euler | Euler mejorado | Runge-Kutta | Exacto |
---|---|---|---|---|
\ (n\)” style="text-align:center; ">12 | 2.613035290 | 2.707188994 | 2.718069764 | 2.718281828 |
\ (n\)” style="text-align:center; ">24 | 2.663731258 | 2.715327371 | 2.718266612 | 2.718281828 |
\ (n\)” style="text-align:center; ">48 | 2.690496599 | 2.717519565 | 2.718280809 | 2.718281828 |
El Método Euler Mejorado
El método mejorado de Euler para resolver el problema del valor inicial Ecuación\ ref {eq:3.2.1} se basa en aproximar la curva integral de la Ecuación\ ref {eq:3.2.1} a\((x_i,y(x_i))\) por la línea a través\((x_i,y(x_i))\) con pendiente
\[m_i={f(x_i,y(x_i))+f(x_{i+1},y(x_{i+1}))\over2};\nonumber \]
es decir,\(m_i\) es el promedio de las pendientes de las tangentes a la curva integral en los puntos finales de\([x_i,x_{i+1}]\). Por lo tanto, la ecuación de la línea de aproximación es
\[\label{eq:3.2.2} y=y(x_i)+{f(x_i,y(x_i))+f(x_{i+1},y(x_{i+1}))\over2}(x-x_i).\]
Ajuste\(x=x_{i+1}=x_i+h\) en Ecuación\ ref {eq:3.2.2} rendimientos
\[\label{eq:3.2.3} y_{i+1}=y(x_i)+{h\over2}\left(f(x_i,y(x_i))+f(x_{i+1},y(x_{i+1}))\right)\]
como una aproximación a\(y(x_{i+1})\). Al igual que en nuestra derivación del método de Euler, reemplazamos\(y(x_i)\) (unknown if\(i>0\)) por su valor aproximado\(y_i\); luego la Ecuación\ ref {eq:3.2.3} se convierte en
\[y_{i+1}=y_i+{h\over2}\left(f(x_i,y_i)+f(x_{i+1},y(x_{i+1})\right).\nonumber \]
No obstante, esto todavía no va a funcionar, porque desconocemos\(y(x_{i+1})\), que aparece a la derecha. Superamos esto reemplazando\(y(x_{i+1})\) por\(y_i+hf(x_i,y_i)\), el valor al que asignaría el método de Euler\(y_{i+1}\). Así, el método mejorado de Euler inicia con el valor conocido\(y(x_0)=y_0\) y calcula\(y_1\)\(y_2\),,...,\(y_n\) sucesivamente con la fórmula
\[\label{eq:3.2.4} y_{i+1}=y_i+{h\over2}\left(f(x_i,y_i)+f(x_{i+1},y_i+hf(x_i,y_i))\right).\]
El cálculo indicado aquí se puede organizar convenientemente de la siguiente manera: dado\(y_i\), computar
\[\begin{aligned} k_{1i}&=f(x_i,y_i),\\ k_{2i}&=f\left(x_i+h,y_i+hk_{1i}\right),\\ y_{i+1}&=y_i+{h\over2}(k_{1i}+k_{2i}).\end{aligned}\nonumber \]
El método mejorado de Euler requiere dos evaluaciones\(f(x,y)\) por paso, mientras que el método de Euler requiere solo una. No obstante, veremos al final de esta sección que si\(f\) satisface supuestos apropiados, el error de truncamiento local con el método de Euler mejorado es\(O(h^3)\), más que\(O(h^2)\) como con el método de Euler. Por lo tanto, el error de truncamiento global con el método mejorado de Euler es\(O(h^2)\); sin embargo, no lo probaremos.
Observamos que la magnitud del error de truncamiento local en el método mejorado de Euler y otros métodos discutidos en esta sección está determinada por la tercera derivada\(y'''\) de la solución del problema del valor inicial. Por lo tanto, el error de truncamiento local será mayor donde\(|y'''|\) sea grande, o menor donde\(|y'''|\) sea pequeño.
El siguiente ejemplo, que trata del problema de valor inicial considerado en Ejemplo 3.2.1 , ilustra el procedimiento computacional indicado en el método mejorado de Euler.
Utilice el método Euler mejorado con\(h=0.1\) para encontrar valores aproximados de la solución del problema de valor inicial
\[\label{eq:3.2.5} y'+2y=x^3e^{-2x},\quad y(0)=1\]
en\(x=0.1,0.2,0.3\).
Solución
Como en el Ejemplo 3.1.1, reescribimos la Ecuación\ ref {eq:3.2.5} como
\[y'=-2y+x^3e^{-2x},\quad y(0)=1,\nonumber \]
que es de la forma Ecuación\ ref {eq:3.2.1}, con
\[f(x,y)=-2y+x^3e^{-2x}, x_0=0,\text{and } y_0=1.\nonumber \]
Los rendimientos mejorados del método de Euler
\[\begin{aligned} k_{10} & = f(x_0,y_0) = f(0,1)=-2,\\ k_{20} & = f(x_1,y_0+hk_{10})=f(0.1,1+(0.1)(-2))\\ &= f(0.1,0.8)=-2(0.8)+(0.1)^3e^{-0.2}=-1.599181269,\\ y_1&=y_0+{h\over2}(k_{10}+k_{20}),\\ &=1+(0.05)(-2-1.599181269)=0.820040937,\\[4pt] k_{11} & = f(x_1,y_1) = f(0.1,0.820040937)= -2(0.820040937)+(0.1)^3e^{-0.2}=-1.639263142,\\ k_{21} & = f(x_2,y_1+hk_{11})=f(0.2,0.820040937+0.1(-1.639263142)),\\ &= f(0.2,0.656114622)=-2(0.656114622)+(.2)^3e^{-0.4}=-1.306866684,\\ y_2&=y_1+{h\over2}(k_{11}+k_{21}),\\ &=.820040937+(.05)(-1.639263142-1.306866684)=0.672734445,\\[4pt] k_{12} & = f(x_2,y_2) = f(.2,.672734445)= -2(.672734445)+(.2)^3e^{-.4}=-1.340106330,\\ k_{22} & = f(x_3,y_2+hk_{12})=f(.3,.672734445+.1(-1.340106330)),\\ &= f(.3,.538723812)=-2(.538723812)+(.3)^3e^{-.6}=-1.062629710,\\ y_3&=y_2+{h\over2}(k_{12}+k_{22})\\ &=.672734445+(.05)(-1.340106330-1.062629710)=0.552597643.\end{aligned}\]
La Tabla 3.2.2 muestra los resultados de usar el método Euler mejorado con tamaños de paso\(h=0.1\) y\(h=0.05\) encontrar valores aproximados de la solución del problema del valor inicial
\[y'+2y=x^3e^{-2x},\quad y(0)=1\nonumber \]
al\(x=0\),\(0.1\),\(0.2\),\(0.3\),...,\(1.0\). A modo de comparación, también muestra los valores aproximados correspondientes obtenidos con el método de Euler en [ejemplo:3.1.2}, y los valores de la solución exacta
\[y={e^{-2x}\over4}(x^4+4). \nonumber\]
Los resultados obtenidos por el método mejorado de Euler con\(h=0.1\) son mejores que los obtenidos por el método de Euler con\(h=0.05\).
Euler | Euler mejorado | Exacto | |||
---|---|---|---|---|---|
\(x\) | \(h=0.1\) | \(h=0.05\) | \(h=0.1\) | \(h=0.05\) | Exacto |
\ (x\)” style="vertical-align:middle; ">0.0 | \ (h=0.1\)” style="vertical-align:middle; ">1.000000000 | \ (h=0.05\)” style="vertical-align:middle; ">1.000000000 | \ (h=0.1\)” style="vertical-align:middle; ">1.000000000 | \ (h=0.05\)” style="vertical-align:middle; ">1.000000000 | 1.000000000 |
\ (x\)” style="vertical-align:middle; ">0.1 | \ (h=0.1\)” style="vertical-align:middle; ">0.800000000 | \ (h=0.05\)” style="vertical-align:middle; ">0.810005655 | \ (h=0.1\)” style="vertical-align:middle; ">0.820040937 | \ (h=0.05\)” style="vertical-align:middle; ">0.819050572 | 0.818751221 |
\ (x\)” style="vertical-align:middle; ">0.2 | \ (h=0.1\)” style="vertical-align:middle; ">0.640081873 | \ (h=0.05\)” style="vertical-align:middle; ">0.656266437 | \ (h=0.1\)” style="vertical-align:middle; ">0.672734445 | \ (h=0.05\)” style="vertical-align:middle; ">0.671086455 | 0.670588174 |
\ (x\)” style="vertical-align:middle; ">0.3 | \ (h=0.1\)” style="vertical-align:middle; ">0.512601754 | \ (h=0.05\)” style="vertical-align:middle; ">0.532290981 | \ (h=0.1\)” style="vertical-align:middle; ">0.552597643 | \ (h=0.05\)” style="vertical-align:middle; ">0.550543878 | 0.549922980 |
\ (x\)” style="vertical-align:middle; ">0.4 | \ (h=0.1\)” style="vertical-align:middle; ">0.411563195 | \ (h=0.05\)” style="vertical-align:middle; ">0.432887056 | \ (h=0.1\)” style="vertical-align:middle; ">0.455160637 | \ (h=0.05\)” style="vertical-align:middle; ">0.452890616 | 0.452204669 |
\ (x\)” style="vertical-align:middle; ">0.5 | \ (h=0.1\)” style="vertical-align:middle; ">0.332126261 | \ (h=0.05\)” style="vertical-align:middle; ">0.353785015 | \ (h=0.1\)” style="vertical-align:middle; ">0.376681251 | \ (h=0.05\)” style="vertical-align:middle; ">0.374335747 | 0.373627557 |
\ (x\)” style="vertical-align:middle; ">0.6 | \ (h=0.1\)” style="vertical-align:middle; ">0.270299502 | \ (h=0.05\)” style="vertical-align:middle; ">0.291404256 | \ (h=0.1\)” style="vertical-align:middle; ">0.313970920 | \ (h=0.05\)” style="vertical-align:middle; ">0.311652239 | 0.310952904 |
\ (x\)” style="vertical-align:middle; ">0.7 | \ (h=0.1\)” style="vertical-align:middle; ">0.222745397 | \ (h=0.05\)” style="vertical-align:middle; ">0.242707257 | \ (h=0.1\)” style="vertical-align:middle; ">0.264287611 | \ (h=0.05\)” style="vertical-align:middle; ">0.262067624 | 0.261398947 |
\ (x\)” style="vertical-align:middle; ">0.8 | \ (h=0.1\)” style="vertical-align:middle; ">0.186654593 | \ (h=0.05\)” style="vertical-align:middle; ">0.205105754 | \ (h=0.1\)” style="vertical-align:middle; ">0.225267702 | \ (h=0.05\)” style="vertical-align:middle; ">0.223194281 | 0.222570721 |
\ (x\)” style="vertical-align:middle; ">0.9 | \ (h=0.1\)” style="vertical-align:middle; ">0.159660776 | \ (h=0.05\)” style="vertical-align:middle; ">0.176396883 | \ (h=0.1\)” style="vertical-align:middle; ">0.194879501 | \ (h=0.05\)” style="vertical-align:middle; ">0.192981757 | 0.192412038 |
\ (x\)” style="vertical-align:middle; ">1.0 | \ (h=0.1\)” style="vertical-align:middle; ">0.139778910 | \ (h=0.05\)” style="vertical-align:middle; ">0.154715925 | \ (h=0.1\)” style="vertical-align:middle; ">0.171388070 | \ (h=0.05\)” style="vertical-align:middle; ">0.169680673 | 0.169169104 |
La Tabla 3.2.3 muestra resultados análogos para el problema del valor inicial no lineal
\[y'=-2y^2+xy+x^2,\ y(0)=1. \nonumber\]
Aplicamos el método de Euler a este problema en Ejemplo 3.2.3 .
Euler | Euler mejorado | Exacto | |||
---|---|---|---|---|---|
\(x\) | \(h=0.1\) | \(h=0.05\) | \(h=0.1\) | \(h=0.05\) | Exacto |
\ (x\) ">0.0 | \ (h=0.1\) ">1.000000000 | \ (h=0.05\) ">1.000000000 | \ (h=0.1\) ">1.000000000 | \ (h=0.05\) ">1.000000000 | 1.000000000 |
\ (x\) ">0.1 | \ (h=0.1\) ">0.800000000 | \ (h=0.05\) ">0.821375000 | \ (h=0.1\) ">0.840500000 | \ (h=0.05\) ">0.838288371 | 0.837584494 |
\ (x\) ">0.2 | \ (h=0.1\) ">0.681000000 | \ (h=0.05\) ">0.707795377 | \ (h=0.1\) ">0.733430846 | \ (h=0.05\) ">0.730556677 | 0.729641890 |
\ (x\) ">0.3 | \ (h=0.1\) ">0.605867800 | \ (h=0.05\) ">0.633776590 | \ (h=0.1\) ">0.661600806 | \ (h=0.05\) ">0.658552190 | 0.657580377 |
\ (x\) ">0.4 | \ (h=0.1\) ">0.559628676 | \ (h=0.05\) ">0.587454526 | \ (h=0.1\) ">0.615961841 | \ (h=0.05\) ">0.612884493 | 0.611901791 |
\ (x\) ">0.5 | \ (h=0.1\) ">0.535376972 | \ (h=0.05\) ">0.562906169 | \ (h=0.1\) ">0.591634742 | \ (h=0.05\) ">0.588558952 | 0.587575491 |
\ (x\) ">0.6 | \ (h=0.1\) ">0.529820120 | \ (h=0.05\) ">0.557143535 | \ (h=0.1\) ">0.586006935 | \ (h=0.05\) ">0.582927224 | 0.581942225 |
\ (x\) ">0.7 | \ (h=0.1\) ">0.541467455 | \ (h=0.05\) ">0.568716935 | \ (h=0.1\) ">0.597712120 | \ (h=0.05\) ">0.594618012 | 0.593629526 |
\ (x\) ">0.8 | \ (h=0.1\) ">0.569732776 | \ (h=0.05\) ">0.596951988 | \ (h=0.1\) ">0.626008824 | \ (h=0.05\) ">0.622898279 | 0.621907458 |
\ (x\) ">0.9 | \ (h=0.1\) ">0.614392311 | \ (h=0.05\) ">0.641457729 | \ (h=0.1\) ">0.670351225 | \ (h=0.05\) ">0.667237617 | 0.666250842 |
\ (x\) ">1.0 | \ (h=0.1\) ">0.675192037 | \ (h=0.05\) ">0.701764495 | \ (h=0.1\) ">0.730069610 | \ (h=0.05\) ">0.726985837 | 0.726015790 |
Utilice tamaños de paso\(h=0.2\),\(h=0.1\), y\(h=0.05\) para encontrar valores aproximados de la solución de
\[\label{eq:3.2.6} y'-2xy=1,\quad y(0)=3\]
al\(x=0\),\(0.2\),\(0.4\),\(0.6\),...,\(2.0\) por:
- el método mejorado de Euler;
- el método semilineal de Euler mejorado.
Se utilizó el método de Euler y el método semilineal de Euler sobre este problema en el Ejemplo 3.1.4.
Solución a
Reescritura de la ecuación\ ref {eq:3.2.6} como
\[y'=1+2xy,\quad y(0)=3 \nonumber\]
y aplicando el método Euler mejorado con\(f(x,y)=1+2xy\) rendimientos los resultados mostrados en la Tabla 3.2.4 .
Solución b
Dado que\(y_1=e^{x^2}\) es una solución de la ecuación complementaria\(y'-2xy=0\), podemos aplicar el método semilineal de Euler mejorado a la Ecuación\ ref {eq:3.2.6}, con
\[y=ue^{x^2}\quad \text{and} \quad u'=e^{-x^2},\quad u(0)=3. \nonumber\]
Los resultados enumerados en la Tabla 3.2.5 son claramente mejores que los obtenidos por el método mejorado de Euler.
\(x\) | \(h=0.2\) | \(h=0.1\) | \(h=0.05\) | Exacto |
---|---|---|---|---|
\ (x\)” style="vertical-align:middle; ">0.0 | \ (h=0.2\)” style="vertical-align:middle; ">3.000000000 | \ (h=0.1\)” style="vertical-align:middle; ">3.000000000 | \ (h=0.05\)” style="vertical-align:middle; ">3.000000000 | 3.000000000 |
\ (x\)” style="vertical-align:middle; ">0.2 | \ (h=0.2\)” style="vertical-align:middle; ">3.328000000 | \ (h=0.1\)” style="vertical-align:middle; ">3.328182400 | \ (h=0.05\)” style="vertical-align:middle; ">3.327973600 | 3.327851973 |
\ (x\)” style="vertical-align:middle; ">0.4 | \ (h=0.2\)” style="vertical-align:middle; ">3.964659200 | \ (h=0.1\)” style="vertical-align:middle; ">3.966340117 | \ (h=0.05\)” style="vertical-align:middle; ">3.966216690 | 3.966059348 |
\ (x\)” style="vertical-align:middle; ">0.6 | \ (h=0.2\)” style="vertical-align:middle; ">5.057712497 | \ (h=0.1\)” style="vertical-align:middle; ">5.065700515 | \ (h=0.05\)” style="vertical-align:middle; ">5.066848381 | 5.067039535 |
\ (x\)” style="vertical-align:middle; ">0.8 | \ (h=0.2\)” style="vertical-align:middle; ">6.900088156 | \ (h=0.1\)” style="vertical-align:middle; ">6.928648973 | \ (h=0.05\)” style="vertical-align:middle; ">6.934862367 | 6.936700945 |
\ (x\)” style="vertical-align:middle; ">1.0 | \ (h=0.2\)” style="vertical-align:middle; ">10.065725534 | \ (h=0.1\)” style="vertical-align:middle; ">10.154872547 | \ (h=0.05\)” style="vertical-align:middle; ">10.177430736 | 10.184923955 |
\ (x\)” style="vertical-align:middle; ">1.2 | \ (h=0.2\)” style="vertical-align:middle; ">15.708954420 | \ (h=0.1\)” style="vertical-align:middle; ">15.970033261 | \ (h=0.05\)” style="vertical-align:middle; ">16.041904862 | 16.067111677 |
\ (x\)” style="vertical-align:middle; ">1.4 | \ (h=0.2\)” style="vertical-align:middle; ">26.244894192 | \ (h=0.1\)” style="vertical-align:middle; ">26.991620960 | \ (h=0.05\)” style="vertical-align:middle; ">27.210001715 | 27.289392347 |
\ (x\)” style="vertical-align:middle; ">1.6 | \ (h=0.2\)” style="vertical-align:middle; ">46.958915746 | \ (h=0.1\)” style="vertical-align:middle; ">49.096125524 | \ (h=0.05\)” style="vertical-align:middle; ">49.754131060 | 50.000377775 |
\ (x\)” style="vertical-align:middle; ">1.8 | \ (h=0.2\)” style="vertical-align:middle; ">89.982312641 | \ (h=0.1\)” style="vertical-align:middle; ">96.200506218 | \ (h=0.05\)” style="vertical-align:middle; ">98.210577385 | 98.982969504 |
\ (x\)” style="vertical-align:middle; ">2.0 | \ (h=0.2\)” style="vertical-align:middle; ">184.563776288 | \ (h=0.1\)” style="vertical-align:middle; ">203.151922739 | \ (h=0.05\)” style="vertical-align:middle; ">209.464744495 | 211.954462214 |
\(x\) | \(h=0.2\) | \(h=0.1\) | \(h=0.05\) | Exacto |
---|---|---|---|---|
\ (x\) ">0.0 | \ (h=0.2\) ">3.000000000 | \ (h=0.1\) ">3.000000000 | \ (h=0.05\) ">3.000000000 | 3.000000000 |
\ (x\) ">0.2 | \ (h=0.2\) ">3.326513400 | \ (h=0.1\) ">3.327518315 | \ (h=0.05\) ">3.327768620 | 3.327851973 |
\ (x\) ">0.4 | \ (h=0.2\) ">3.963383070 | \ (h=0.1\) ">3.965392084 | \ (h=0.05\) ">3.965892644 | 3.966059348 |
\ (x\) ">0.6 | \ (h=0.2\) ">5.063027290 | \ (h=0.1\) ">5.066038774 | \ (h=0.05\) ">5.066789487 | 5.067039535 |
\ (x\) ">0.8 | \ (h=0.2\) ">6.931355329 | \ (h=0.1\) ">6.935366847 | \ (h=0.05\) ">6.936367564 | 6.936700945 |
\ (x\) ">1.0 | \ (h=0.2\) ">10.178248417 | \ (h=0.1\) ">10.183256733 | \ (h=0.05\) ">10.184507253 | 10.184923955 |
\ (x\) ">1.2 | \ (h=0.2\) ">16.059110511 | \ (h=0.1\) ">16.065111599 | \ (h=0.05\) ">16.066611672 | 16.067111677 |
\ (x\) ">1.4 | \ (h=0.2\) ">27.280070674 | \ (h=0.1\) ">27.287059732 | \ (h=0.05\) ">27.288809058 | 27.289392347 |
\ (x\) ">1.6 | \ (h=0.2\) ">49.989741531 | \ (h=0.1\) ">49.997712997 | \ (h=0.05\) ">49.999711226 | 50.000377775 |
\ (x\) ">1.8 | \ (h=0.2\) ">98.971025420 | \ (h=0.1\) ">98.979972988 | \ (h=0.05\) ">98.982219722 | 98.982969504 |
\ (x\) ">2.0 | \ (h=0.2\) ">211.941217796 | \ (h=0.1\) ">211.951134436 | \ (h=0.05\) ">211.953629228 | 211.954462214 |
Una familia de métodos con O (h³) Error de truncamiento local
Ahora derivaremos una clase de métodos con error de truncamiento\(O(h^3)\) local para resolver la ecuación\ ref {eq:3.2.1}. Por simplicidad, asumimos que\(f\),\(f_x\),\(f_y\),\(f_{xx}\)\(f_{yy}\), y\(f_{xy}\) son continuos y acotados para todos\((x,y)\). Esto implica que si\(y\) es la solución de la Ecuación\ ref {eq:3.2.1} entonces\(y''\) y\(y'''\) están acotados (Ejercicio 3.2.31).
Comenzamos aproximando la curva integral de la Ecuación\ ref {eq:3.2.1} en\((x_i,y(x_i))\) por la línea a través\((x_i,y(x_i))\) con pendiente
\[m_i=\sigma y'(x_i)+\rho y'(x_i+\theta h), \nonumber \]
donde\(\sigma\),\(\rho\), y\(\theta\) son constantes que pronto concretaremos; sin embargo, insistimos de entrada en que\(0<\theta\le 1\), para que
\[x_i<x_i+\theta h\le x_{i+1}. \nonumber \]
La ecuación de la línea de aproximación es
\[\label{eq:3.2.7} \begin{array}{rcl} y&=&y(x_i)+m_i(x-x_i)\\ &=&y(x_i)+\left[\sigma y'(x_i)+\rho y'(x_i+\theta h)\right](x-x_i). \end{array}\]
Ajuste\(x=x_{i+1}=x_i+h\) en Ecuación\ ref {eq:3.2.7} rendimientos
\[\hat y_{i+1}=y(x_i)+h\left[\sigma y'(x_i)+\rho y'(x_i+\theta h)\right] \nonumber \]
como una aproximación a\(y(x_{i+1})\).
Determinar\(\sigma\),\(\rho\), y\(\theta\) para que el error
\[\label{eq:3.2.8} \begin{array}{rcl} E_i&=&y(x_{i+1})-\hat y_{i+1}\\ &=&y(x_{i+1})-y(x_i)-h\left[\sigma y'(x_i)+\rho y'(x_i+\theta h)\right] \end{array}\]
en esta aproximación es\(O(h^3)\), comenzamos recordando del teorema de Taylor que
\[y(x_{i+1})=y(x_i)+hy'(x_i)+{h^2\over2}y''(x_i)+{h^3\over6}y'''(\hat x_i), \nonumber \]
donde\(\hat x_i\) esta en\((x_i,x_{i+1})\). Dado que\(y'''\) está acotado esto implica que
\[y(x_{i+1})-y(x_i)-hy'(x_i)-{h^2\over2}y''(x_i)=O(h^3). \nonumber \]
Comparando esto con la ecuación\ ref {eq:3.2.8} muestra que\(E_i=O(h^3)\) si
\[\label{eq:3.2.9} \sigma y'(x_i)+\rho y'(x_i+\theta h)=y'(x_i)+{h\over2}y''(x_i) +O(h^2).\]
Sin embargo, aplicar el teorema de Taylor para\(y'\) demostrar que
\[y'(x_i+\theta h)=y'(x_i)+\theta h y''(x_i)+{(\theta h)^2\over2}y'''(\overline x_i), \nonumber \]
donde\(\overline x_i\) esta en\((x_i,x_i+\theta h)\). Dado que\(y'''\) está acotado, esto implica que
\[y'(x_i+\theta h)=y'(x_i)+\theta h y''(x_i)+O(h^2). \nonumber \]
Sustituyendo esto en la Ecuación\ ref {eq:3.2.9} y señalando que la suma de dos\(O(h^2)\) términos es otra vez\(O(h^2)\) muestra que\(E_i=O(h^3)\) si
\[(\sigma+\rho)y'(x_i)+\rho\theta h y''(x_i)= y'(x_i)+{h\over2}y''(x_i), \nonumber \]
lo cual es cierto si
\[\label{eq:3.2.10} \sigma+\rho=1 \quad \text{and} \quad \rho\theta={1\over2}.\]
Ya que\(y'=f(x,y)\), ahora podemos concluir a partir de la Ecuación\ ref {eq:3.2.8} que
\[\label{eq:3.2.11} y(x_{i+1})=y(x_i)+h\left[\sigma f(x_i,y_i)+\rho f(x_i+\theta h,y(x_i+\theta h))\right]+O(h^3)\]
if\(\sigma\),\(\rho\), y\(\theta\) satisfacer la ecuación\ ref {eq:3.2.10}. Sin embargo, esta fórmula no sería útil aunque supiéramos\(y(x_i)\) exactamente (como lo haríamos para\(i=0\)), ya que todavía no sabríamos\(y(x_i+\theta h)\) exactamente. Para superar esta dificultad, nuevamente usamos el teorema de Taylor para escribir
\[y(x_i+\theta h)=y(x_i)+\theta h y'(x_i)+{h^2\over2}y''(\tilde x_i), \nonumber \]
donde\(\tilde x_i\) esta adentro\((x_i,x_i+\theta h)\). Dado que\(y'(x_i)=f(x_i,y(x_i))\) y\(y''\) es acotado, esto implica que
\[\label{eq:3.2.12} |y(x_i+\theta h)-y(x_i)-\theta h f(x_i,y(x_i))|\le Kh^2\]
para alguna constante\(K\). Dado que\(f_y\) está acotado, el teorema del valor medio implica que
\[|f(x_i+\theta h,u)-f(x_i+\theta h,v)|\le M|u-v| \nonumber \]
para alguna constante\(M\). Dejando
\[u=y(x_i+\theta h)\quad \text{and} \quad v=y(x_i)+\theta h f(x_i,y(x_i)) \nonumber \]
y recordando la ecuación\ ref {eq:3.2.12} muestra que
\[f(x_i+\theta h,y(x_i+\theta h))=f(x_i+\theta h,y(x_i)+\theta h f(x_i,y(x_i)))+O(h^2). \nonumber \]
Sustituyendo esto en la ecuación\ ref {eq:3.2.11} rendimientos
\[\begin{aligned} y(x_{i+1})&=y(x_i)+h\left[\sigma f(x_i,y(x_i))+\right.\\&\left.\rho f(x_i+\theta h,y(x_i)+\theta hf(x_i,y(x_i)))\right]+O(h^3).\end{aligned} \nonumber \]
Esto implica que la fórmula
\[y_{i+1}=y_i+h\left[\sigma f(x_i,y_i)+\rho f(x_i+\theta h,y_i+\theta hf(x_i,y_i))\right] \nonumber \]
tiene error de truncamiento\(O(h^3)\) local si\(\sigma\),\(\rho\), y\(\theta\) satisface la Ecuación\ ref {eq:3.2.10}. Sustitución\(\sigma=1-\rho\) y\(\theta=1/2\rho\) aquí rendimientos
\[\label{eq:3.2.13} y_{i+1}=y_i+h\left[(1-\rho)f(x_i,y_i)+\rho f\left(x_i+{h\over2\rho}, y_i+{h\over2\rho}f(x_i,y_i)\right)\right].\]
El cálculo indicado aquí se puede organizar convenientemente de la siguiente manera: dado\(y_i\), computar
\[\begin{aligned} k_{1i}&=f(x_i,y_i),\\ k_{2i}&=f\left(x_i+{h\over2\rho}, y_i+{h\over2\rho}k_{1i}\right),\\ y_{i+1}&=y_i+h[(1-\rho)k_{1i}+\rho k_{2i}].\end{aligned} \nonumber \]
Consistente con nuestro requisito de que\(0<\theta<1\), lo requerimos\(\rho\ge1/2\). Dejar\(\rho=1/2\) entrar la ecuación\ ref {eq:3.2.13} produce el método de Euler mejorado Ecuación\ ref {eq:3.2.4}. Dejar\(\rho=3/4\) rendimientos método de Heun,
\[y_{i+1}=y_i+h\left[{1\over4}f(x_i,y_i)+{3\over4}f\left(x_i+{2\over3}h,y_i+{2\over3}hf(x_i,y_i)\right)\right], \nonumber \]
que se puede organizar como
\[\begin{aligned} k_{1i}&=f(x_i,y_i),\\ k_{2i}&=f\left(x_i+{2h\over3}, y_i+{2h\over3}k_{1i}\right),\\ y_{i+1}&=y_i+{h\over4}(k_{1i}+3k_{2i}).\end{aligned} \nonumber \]
Dejar\(\rho=1\) produce el método del punto medio,
\[y_{i+1}=y_i+hf\left(x_i+{h\over2},y_i+{h\over2}f(x_i,y_i)\right), \nonumber \]
que se puede organizar como
\[\begin{aligned} k_{1i}&=f(x_i,y_i),\\ k_{2i}&=f\left(x_i+{h\over2}, y_i+{h\over2}k_{1i}\right),\\ y_{i+1}&=y_i+hk_{2i}.\end{aligned} \nonumber \]
Los ejemplos que involucran el método del punto medio y el método de Heun se dan en Ejercicios 3.2.23 - 3.3.30.