Skip to main content
LibreTexts - Ukrayinska

3.1: Метод Ейлера

  • Page ID
    62151
  • \( \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}}\)

    Якщо проблема з початковим значенням

    \[\label{eq:3.1.1} y'=f(x,y),\quad y(x_0)=y_0 \]

    неможливо розв'язати аналітично, необхідно вдатися до числових методів для отримання корисних наближень до розв'язку Equation\ ref {eq:3.1.1}.

    Нас цікавить обчислення наближених значень розв'язку Equation\ ref {eq:3.1.1} в рівновіддалених точках\(x_0\)\(x_1\),,...,\(x_n=b\) в інтервалі\([x_0,b]\). Таким чином,

    \[x_i=x_0+ih,\quad i=0,1, \dots,n, \nonumber \]

    де

    \[h={b-x_0\over n}.\nonumber\]

    ми позначимо приблизні значення рішення в цих точках по\(y_0\),\(y_1\),...,\(y_n\); таким чином,\(y_i\) є наближенням до\(y(x_i)\). назвемо

    \[e_i=y(x_i)-y_i \nonumber\]

    похибка на\(i\) -му кроці. Через початкового стану\(y(x_0)=y_0\) у нас завжди буде\(e_0=0\). Втім, в цілому\(e_i\ne0\) якщо\(i>0\).

    Ми стикаємося з двома джерелами помилки при застосуванні числового методу для вирішення початкової задачі:

    • Формули, що визначають метод, засновані на якомусь наближенні. Помилки через неточність наближення називаються помилками усічення.
    • Комп'ютери роблять арифметику з фіксованою кількістю цифр, а тому роблять помилки при оцінці формул, що визначають числові методи. Помилки через нездатність комп'ютера робити точну арифметику називаються помилками округлення.

    Оскільки ретельний аналіз помилки округлення виходить за рамки цієї книги, ми розглянемо лише помилки усічення.

    Метод Ейлера

    Найпростішим числовим методом розв'язання Equation\ ref {eq:3.1.1} є метод Ейлера. Цей метод настільки грубий, що рідко використовується на практиці; однак його простота робить його корисним для ілюстративних цілей. Метод Ейлера заснований на припущенні, що дотична лінія до інтегральної кривої Equation\ ref {eq:3.1.1} при\((x_i,y(x_i))\) наближенні інтегральної кривої через інтервал\([x_i,x_{i+1}]\). Оскільки нахил інтегральної кривої Рівняння\ ref {eq:3.1.1} at\((x_i,y(x_i))\) дорівнює\(y'(x_i)=f(x_i,y(x_i))\), рівняння дотичної лінії до інтегральної кривої при\((x_i,y(x_i))\) дорівнює

    \[\label{eq:3.1.2} y=y(x_i)+f(x_i,y(x_i))(x-x_i).\]

    Встановлення\(x=x_{i+1}=x_i+h\) в рівнянні\ ref {eq:3.1.2} дає

    \[\label{eq:3.1.3} y_{i+1}=y(x_i)+hf(x_i,y(x_i))\]

    як наближення до\(y(x_{i+1})\). Оскільки\(y(x_0)=y_0\) відомо, ми можемо використовувати Equation\ ref {eq:3.1.3} with\(i=0\) для обчислення

    \[y_1=y_0+hf(x_0,y_0).\nonumber\]

    Однак встановлення\(i=1\) в рівнянні\ ref {eq:3.1.3} дає

    \[y_2=y(x_1)+hf(x_1,y(x_1)),\nonumber\]

    що не корисно, оскільки ми не знаємо\(y(x_1)\). Тому\(y(x_1)\) замінюємо його приблизним значенням\(y_1\) і перевизначаємо

    \[y_2=y_1+hf(x_1,y_1).\nonumber\]

    Обчисливши\(y_2\), ми можемо обчислити

    \[y_3=y_2+hf(x_2,y_2).\nonumber\]

    Загалом, метод Ейлера починається з відомого значення\(y(x_0)=y_0\) і обчислює\(y_1\),\(y_2\),...,\(y_n\) послідовно за формулою

    \[\label{eq:3.1.4} y_{i+1}=y_i+hf(x_i,y_i),\quad 0\le i\le n-1.\]

    Наступний приклад ілюструє обчислювальну процедуру, зазначену в методі Ейлера.

    Приклад Template:index

    Використовувати метод Ейлера with,\(h=0.1\) щоб знайти приблизні значення для розв'язку початкової задачі

    \[\label{eq:3.1.5} y'+2y=x^3e^{-2x},\quad y(0)=1\]

    в\(x=0.1,0.2,0.3\).

    Рішення

    Ми переписуємо рівняння\ ref {eq:3.1.5} як

    \[y'=-2y+x^3e^{-2x},\quad y(0)=1, \nonumber\]

    який має вигляд Рівняння\ ref {eq:3.1.1}, з

    \[f(x,y)=-2y+x^3e^{-2x}, \, x_0=0, \, \text{and} \, y_0=1. \nonumber\]

    Метод Ейлера дає

    \[\begin{align*} y_1 &= y_0+hf(x_0,y_0) \\ &= 1+(0.1)f(0,1)=1+(0.1)(-2)=0.8,\\[4pt] y_2 & = y_1+hf(x_1,y_1)\\ & = 0.8+(0.1)f(0.1,0.8)=0.8+(0.1)\left(-2(0.8)+(0.1)^3e^{-0.2}\right)= 0.640081873,\\[4pt] y_3 & = y_2+hf(x_2,y_2)\\ & = 0.640081873+(0.1)\left(-2(0.640081873)+(0.2)^3e^{-0.4}\right)= 0.512601754. \end{align*}\]

    Ми написали деталі цих обчислень, щоб переконатися, що ви розумієте процедуру. Однак в решті прикладів, а також у вправах у цьому розділі ми будемо вважати, що ви можете використовувати програмований калькулятор або комп'ютер для проведення необхідних обчислень.

    Приклади ілюстрації помилки в методі Ейлера

    Приклад Template:index

    Використовувати метод Ейлера з розмірами кроків\(h=0.1\)\(h=0.05\), і\(h=0.025\) знайти приблизні значення розв'язку початкової задачі

    \[y'+2y=x^3e^{-2x},\quad y(0)=1\nonumber \]

    в\(x=0\),\(0.1\),\(0.2\),\(0.3\),...,\(1.0\). Порівняйте ці приблизні значення зі значеннями точного рішення

    \[\label{eq:3.1.6} y={e^{-2x}\over4}(x^4+4),\]

    які можна отримати методом Розділу 2.1. (Перевірити.)

    Таблиця Template:index показує значення точного рішення Equation\ ref {eq:3.1.6} у заданих точках, і наближені значення розв'язку в цих точках, отримані методом Ейлера з розмірами кроків\(h=0.1\)\(h=0.05\), і\(h=0.025\). Вивчаючи цю таблицю, майте на увазі, що\(h=0.05\) приблизні значення в стовпці, що відповідають насправді результати 20 кроків за методом Ейлера. Ми не перерахували оцінки рішення, отриманого для\(x=0.05\),\(0.15\),..., оскільки немає з чим порівнювати їх у стовпці, що відповідає\(h=0.1\). Аналогічно, приблизні значення в стовпці, що\(h=0.025\) відповідають насправді результати 40 кроків за методом Ейлера.

    \(x\) \(h=0.1\) \(h=0.05\) \(h=0.025\) Точний
    \ (x\)» style="вертикальне вирівнювання: середина; "> 0.0 \ (h = 0.1\)» style="вертикальне вирівнювання: середина; "> 1.000000000 \ (h = 0,05\)» style="вертикальне вирівнювання: середина; "> 1.000000000 \ (h=0,025\)» style="вертикальне вирівнювання: середина; "> 1.000000000 1.000000000
    \ (x\)» style="вертикальне вирівнювання: середина; "> 0.1 \ (h = 0.1\)» style="вертикальне вирівнювання: середина; "> 0.800000000 \ (h = 0,05\)» style="вертикальне вирівнювання: посередині; "> 0.810005655 \ (h=0.025\)» style="вертикальне вирівнювання: посередині; "> 0.814518349 0,818751221
    \ (x\)» style="вертикальне вирівнювання: середина; "> 0.2 \ (h = 0.1\)» style="вертикальне вирівнювання: середина; "> 0.640081873 \ (h=0,05\)» style="вертикальне вирівнювання: по середині; "> 0.656266437 \ (h=0.025\)» style="Вертикальне вирівнювання: посередині; "> 0.663635953 0.670588174
    \ (x\)» style="вертикальне вирівнювання: середина; "> 0.3 \ (h = 0.1\)» style="вертикальне вирівнювання: середина; "> 0.512601754 \ (h = 0,05\)» style="вертикальне вирівнювання: по середині; "> 0.532290981 \ (h=0,025\)» style="Вертикальне вирівнювання: по середині; "> 0.541339495 0.549922980
    \ (x\)» style="вертикальне вирівнювання: середина; "> 0.4 \ (h = 0.1\)» style="вертикальне вирівнювання: по середині; "> 0.411563195 \ (h=0,05\)» style="вертикальне вирівнювання: посередині; "> 0.432887056 \ (h=0,025\)» style="Вертикальне вирівнювання: посередині; "> 0.442774766 0,452204669
    \ (x\)» style="вертикальне вирівнювання: середина; "> 0.5 \ (h = 0.1\)» style="вертикальне вирівнювання: середина; "> 0.332126261 \ (h=0,05\)» style="вертикальне вирівнювання: посередині; "> 0.353785015 \ (h=0,025\)» style="вертикальне вирівнювання: посередині; "> 0.363915597 0,373627557
    \ (x\)» style="вертикальне вирівнювання: середина; "> 0.6 \ (h = 0.1\)» style="вертикальне вирівнювання: середина; "> 0.270299502 \ (h=0,05\)» style="вертикальне вирівнювання: посередині; "> 0.291404256 \ (h=0,025\)» style="вертикальне вирівнювання: посередині; "> 0.301359885 0,310952904
    \ (x\)» style="Вирівнювання по вертикалі: середина; "> 0.7 \ (h = 0.1\)» style="вертикальне вирівнювання: посередині; "> 0.222745397 \ (h=0,05\)» style="вертикальне вирівнювання: посередині; "> 0.242707257 \ (h=0,025\)» style="вертикальне вирівнювання: посередині; "> 0.252202935 0.261398947
    \ (x\)» style="вертикальне вирівнювання: середина; "> 0,8 \ (h = 0.1\)» style="вертикальне вирівнювання: середина; "> 0.186654593 \ (h=0,05\)» style="вертикальне вирівнювання: посередині; "> 0.205105754 \ (h=0,025\)» style="Вертикальне вирівнювання: посередині; "> 0.213956311 0.222570721
    \ (x\)» style="вертикальне вирівнювання: середина; "> 0.9 \ (h = 0.1\)» style="вертикальне вирівнювання: по середині; "> 0.159660776 \ (h=0,05\)» style="вертикальне вирівнювання: посередині; "> 0.176396883 \ (h=0.025\)» style="Вертикальне вирівнювання: посередині; "> 0.184492463 0,1924 12038
    \ (x\)» style="вертикальне вирівнювання: середина; "> 1.0 \ (h = 0.1\)» style="вертикальне вирівнювання: по середині; "> 0.139778910 \ (h = 0,05\)» style="вертикальне вирівнювання: середина; "> 0.154715925 \ (h=0,025\)» style="Вертикальне вирівнювання: посередині; "> 0.162003293 0.169169104
    Таблиця Template:index: Числове розв'язування методом Ейлера.\(y'+2y=x^3e^{-2x},\ y(0)=1\)

    З таблиці Template:index видно, що зменшення розміру кроку підвищує точність методу Ейлера. Наприклад,

    \[y_{exact}(1)-y_{approx}(1)\approx \left\{\begin{array}{l} 0.0293 \text{with} h=0.1,\\ 0.0144\mbox{ with }h=0.05,\\ 0.0071\mbox{ with }h=0.025. \end{array}\right.\nonumber \]

    Виходячи з цих мізерних доказів, ви можете здогадатися, що помилка в наближенні точного рішення за фіксованим значенням\(x\) за методом Ейлера зменшується приблизно вдвічі, коли розмір кроку зменшується вдвічі. Ви можете знайти більше доказів, що підтверджують цю гіпотезу, вивчивши таблицю Template:index, в якій наведено приблизні значення\(y_{exact}-y_{approx}\) at\(x=0.1\)\(0.2\),,...,\(1.0\).

    \(x\) \(h=0.1\) \(h=0.05\) \(h=0.0.25\)
    \ (x\) ">0,1 \ (h=0.1\) ">0,0187 \ (h=0,05\) ">0,0087 \ (h=0,0,25\) ">0,0042
    \ (x\) ">0.2 \ (h=0,1\) ">0,0305 \ (h=0,05\) ">0,0143 \ (h=0,0,25\) ">0,0069
    \ (x\) ">0.3 \ (h=0,1\) ">0,0373 \ (h=0,05\) ">0,0176 \ (h=0,0,25\) ">0,0085
    \ (x\) ">0.4 \ (h=0.1\) ">0,0406 \ (h=0,05\) ">0,0193 \ (h=0,0,25\) ">0,0094
    \ (x\) ">0.5 \ (h=0,1\) ">0,0415 \ (h=0,05\) ">0,0198 \ (h=0,0,25\) ">0,0097
    \ (x\) ">0.6 \ (h=0.1\) ">0,0406 \ (h=0,05\) ">0,0195 \ (h=0,0,25\) ">0,0095
    \ (x\) ">0.7 \ (h=0,1\) ">0,0386 \ (h=0,05\) ">0,0186 \ (h=0,0,25\) ">0,0091
    \ (x\) ">0,8 \ (h=0,1\) ">0,0359 \ (h=0,05\) ">0,0174 \ (h=0,0,25\) ">0,0086
    \ (x\) ">0.9 \ (h=0,1\) ">0,0327 \ (h=0,05\) ">0,0160 \ (h=0,0,25\) ">0,0079
    \ (x\) ">1.0 \ (h=0,1\) ">0,0293 \ (h=0,05\) ">0.0144 \ (h=0,0,25\) ">0,0071
    Таблиця Template:index: Помилки в наближеному розв'язку\(y'+2y=x^3e^{-2x},\ y(0)=1\), отриманих методом Ейлера.
    Приклад Template:index

    Таблиці Template:index та Template:index показують аналогічні результати для нелінійної задачі на початкове значення

    \[\label{eq:3.1.7} y'=-2y^2+xy+x^2,\ y(0)=1,\]

    за винятком того, що в цьому випадку ми не можемо точно вирішити рівняння\ ref {eq:3.1.7}. Результати в стовпці «Точний» були отримані за допомогою більш точного числового методу, відомого як метод Рунге - Кутта з невеликим розміром кроку. Вони точні до восьми знаків після коми.

    \(x\) \(h=0.1\) \(h=0.05\) \(h=0.025\) Точний
    \ (x\)» style="вертикальне вирівнювання: середина; "> 0.0 \ (h = 0.1\)» style="вертикальне вирівнювання: середина; "> 1.000000000 \ (h = 0,05\)» style="вертикальне вирівнювання: середина; "> 1.000000000 \ (h=0,025\)» style="вертикальне вирівнювання: середина; "> 1.000000000 1.000000000
    \ (x\)» style="вертикальне вирівнювання: середина; "> 0.1 \ (h = 0.1\)» style="вертикальне вирівнювання: середина; "> 0.800000000 \ (h = 0,05\)» style="вертикальне вирівнювання: середина; "> 0.821375000 \ (h=0,025\)» style="вертикальне вирівнювання: по середині; "> 0.829977007 0.837584494
    \ (x\)» style="вертикальне вирівнювання: середина; "> 0.2 \ (h = 0.1\)» style="вертикальне вирівнювання: середина; "> 0.681000000 \ (h=0,05\)» style="вертикальне вирівнювання: по середині; "> 0.707795377 \ (h=0.025\)» style="Вертикальне вирівнювання: посередині; "> 0.719226253 0,729641890
    \ (x\)» style="вертикальне вирівнювання: середина; "> 0.3 \ (h = 0.1\)» style="вертикальне вирівнювання: по середині; "> 0.605867800 \ (h=0,05\)» style="вертикальне вирівнювання: по середині; "> 0.633776590 \ (h=0.025\)» style="Вертикальне вирівнювання: по середині; "> 0.646115227 0.657 580377
    \ (x\)» style="вертикальне вирівнювання: середина; "> 0.4 \ (h = 0.1\)» style="вертикальне вирівнювання: по середині; "> 0.559628676 \ (h=0,05\)» style="вертикальне вирівнювання: посередині; "> 0.587454526 \ (h=0,025\)» style="вертикальне вирівнювання: посередині; "> 0.600045701 0.611901791
    \ (x\)» style="вертикальне вирівнювання: середина; "> 0.5 \ (h = 0.1\)» style="вертикальне вирівнювання: посередині; "> 0.535376972 \ (h=0,05\)» style="вертикальне вирівнювання: по середині; "> 0.562906169 \ (h=0,025\)» style="Вертикальне вирівнювання: посередині; "> 0.575556391 0.587575491
    \ (x\)» style="вертикальне вирівнювання: середина; "> 0.6 \ (h = 0.1\)» style="вертикальне вирівнювання: середина; "> 0.529820120 \ (h=0,05\)» style="вертикальне вирівнювання: посередині; "> 0.557143535 \ (h=0,025\)» style="вертикальне вирівнювання: посередині; "> 0.569824171 0.581942225
    \ (x\)» style="Вирівнювання по вертикалі: середина; "> 0.7 \ (h = 0.1\)» style="вертикальне вирівнювання: по середині; "> 0.541467455 \ (h = 0,05\)» style="вертикальне вирівнювання: посередині; "> 0.568716935 \ (h=0,025\)» style="вертикальне вирівнювання: посередині; "> 0.581435423 0.593629526
    \ (x\)» style="вертикальне вирівнювання: середина; "> 0,8 \ (h = 0.1\)» style="вертикальне вирівнювання: посередині; "> 0.569732776 \ (h=0,05\)» style="вертикальне вирівнювання: посередині; "> 0.596951988 \ (h=0.025\)» style="Вертикальне вирівнювання: по середині; "> 0.609684903 0.62 1907458
    \ (x\)» style="вертикальне вирівнювання: середина; "> 0.9 \ (h = 0.1\)» style="вертикальне вирівнювання: середина; "> 0.614392311 \ (h=0,05\)» style="вертикальне вирівнювання: посередині; "> 0.641457729 \ (h=0,025\)» style="Вертикальне вирівнювання: по середині; "> 0.654110862 0.666250842
    \ (x\)» style="вертикальне вирівнювання: середина; "> 1.0 \ (h=0.1\)» style="вертикальне вирівнювання: середина; "> 0.675192037 \ (h = 0,05\)» style="вертикальне вирівнювання: по середині; "> 0.701764495 \ (h=0,025\)» style="вертикальне вирівнювання: посередині; "> 0.714151626 0,726015790
    Таблиця Template:index: Чисельне розв'язання\(y'=-2y^2+xy+x^2,\ y(0)=1\), методом Ейлера.

    Оскільки ми вважаємо, що це важливо при оцінці точності числових методів, які ми будемо вивчати в цьому розділі, ми часто включаємо стовпець з переліком значень точного рішення початкової задачі значення, навіть якщо напрямки в прикладі чи вправі спеціально не вимагають цього. Якщо в заголовку включені лапки, значення були отримані шляхом застосування методу Рунге-Кутти таким чином, який пояснюється в розділі 3.3. Якщо лапки не включаються, то значення були отримані з відомої формули для розв'язку. У будь-якому випадку значення точні до восьми знаків праворуч від десяткової крапки.

    \(x\) \(h=0.1\) \(h=0.05\) \(h=0.025\)
    \ (x\)» style="вертикальне вирівнювання: середина; "> 0.1 \ (h=0.1\)» style="вертикальне вирівнювання: середина; "> 0,0376 \ (h=0,05\)» style="вертикальне вирівнювання: середина; "> 0,0162 \ (h=0,025\)» style="вертикальне вирівнювання: середина; "> 0,0076
    \ (x\)» style="вертикальне вирівнювання: середина; "> 0.2 \ (h=0.1\)» style="вертикальне вирівнювання: середина; "> 0,0486 \ (h=0,05\)» style="вертикальне вирівнювання: середина; "> 0,0218 \ (h=0,025\)» style="вертикальне вирівнювання: середина; "> 0.0104
    \ (x\)» style="вертикальне вирівнювання: середина; "> 0.3 \ (h = 0.1\)» style="вертикальне вирівнювання: середина; "> 0,0517 \ (h=0,05\)» style="вертикальне вирівнювання: середина; "> 0,0238 \ (h=0,025\)» style="вертикальне вирівнювання: середина; "> 0,0115
    \ (x\)» style="вертикальне вирівнювання: середина; "> 0.4 \ (h = 0.1\)» style="вертикальне вирівнювання: середина; "> 0,0523 \ (h=0,05\)» style="вертикальне вирівнювання: середина; "> 0.0244 \ (h=0,025\)» style="вертикальне вирівнювання: середина; "> 0,0119
    \ (x\)» style="вертикальне вирівнювання: середина; "> 0.5 \ (h = 0.1\)» style="вертикальне вирівнювання: середина; "> 0.0522 \ (h=0,05\)» style="вертикальне вирівнювання: середина; "> 0,0247 \ (h=0,025\)» style="вертикальне вирівнювання: середина; "> 0,0121
    \ (x\)» style="вертикальне вирівнювання: середина; "> 0.6 \ (h = 0.1\)» style="вертикальне вирівнювання: середина; "> 0,0521 \ (h=0,05\)» style="вертикальне вирівнювання: середина; "> 0,0248 \ (h=0,025\)» style="вертикальне вирівнювання: середина; "> 0,0121
    \ (x\)» style="Вирівнювання по вертикалі: середина; "> 0.7 \ (h = 0.1\)» style="вертикальне вирівнювання: середина; "> 0.0522 \ (h=0,05\)» style="вертикальне вирівнювання: середина; "> 0,0249 \ (h=0,025\)» style="вертикальне вирівнювання: середина; "> 0,0122
    \ (x\)» style="вертикальне вирівнювання: середина; "> 0,8 \ (h = 0.1\)» style="вертикальне вирівнювання: середина; "> 0.0522 \ (h=0,05\)» style="вертикальне вирівнювання: середина; "> 0,0250 \ (h=0,025\)» style="вертикальне вирівнювання: середина; "> 0,0122
    \ (x\)» style="вертикальне вирівнювання: середина; "> 0.9 \ (h = 0.1\)» style="вертикальне вирівнювання: середина; "> 0,0519 \ (h=0,05\)» style="вертикальне вирівнювання: середина; "> 0,0248 \ (h=0,025\)» style="вертикальне вирівнювання: середина; "> 0,0121
    \ (x\)» style="вертикальне вирівнювання: середина; "> 1.0 \ (h = 0.1\)» style="вертикальне вирівнювання: середина; "> 0,0508 \ (h=0,05\)» style="вертикальне вирівнювання: середина; "> 0,0243 \ (h=0,025\)» style="вертикальне вирівнювання: середина; "> 0,0119
    Таблиця Template:index: Помилки в наближеному розв'язку\(y'=-2y^2+xy+x^2,\ y(0)=1\), отриманих методом Ейлера.

    Помилка усічення в методі Ейлера

    Відповідно до результатів, зазначених у таблицях Template:index - Template:index, ми тепер покажемо, що при розумних припущеннях\(f\) існує\(K\) така константа, що помилка в наближенні рішення початкової задачі значення

    \[y'=f(x,y),\quad y(x_0)=y_0,\nonumber \]

    у заданій точці\(b>x_0\) методом Ейлера з розміром кроку\(h=(b-x_0)/n\) задовольняє нерівність

    \[|y(b)-y_n|\le Kh,\nonumber \]

    де\(K\) постійна незалежна від\(n\).

    Існує два джерела помилки (не рахуючи округлення) в методі Ейлера:

    1. Похибка, допущена при апроксимуванні інтегральної кривої дотичною лінією Equation\ ref {eq:3.1.2} протягом інтервалу\([x_i,x_{i+1}]\).
    2. Помилка, допущена при\(y(x_i)\)\(y_i\) заміні на Equation\ ref {eq:3.1.2} та використання Equation\ ref {eq:3.1.4}, а не Equation\ ref {eq:3.1.2} для обчислення\(y_{i+1}\).

    Метод Ейлера передбачає, що\(y_{i+1}\) визначене в Equation\ ref {eq:3.1.2} є наближенням до\(y(x_{i+1})\). Помилку в цьому наближенні називаємо локальною похибкою усічення на\(i\) -му кроці, і позначаємо її\(T_i\); таким чином,

    \[\label{eq:3.1.8} T_i=y(x_{i+1})-y(x_i)-hf(x_i,y(x_i)).\]

    тепер ми будемо використовувати теорему Тейлора для оцінки\(T_i\), припускаючи для простоти\(f\)\(f_x\), що, і\(f_y\) є безперервними і обмеженими для всіх\((x,y)\). Тоді\(y''\) існує і обмежується\([x_0,b]\). Щоб побачити це, ми диференціюємо

    \[y'(x)=f(x,y(x))\nonumber \]

    для отримання

    \[\begin{aligned} y''(x) & = & f_x(x,y(x))+f_y(x,y(x))y'(x)\\ & = & f_x(x,y(x))+f_y(x,y(x))f(x,y(x)).\end{aligned}\nonumber \]

    Оскільки ми припустили\(f\), що,\(f_x\) і\(f_y\) обмежені, є постійна\(M\) така, що

    \[|f_{x}(x,y(x))+f_{y}(x,y(x))y'(x)|\leq M\quad x_{0}<x<b\nonumber \]

    що означає, що

    \[\label{eq:3.1.9} |y''(x)|\leq M,\quad x_{0}<x<b\]

    Оскільки\(x_{i+1}=x_i+h\) теорема Тейлора передбачає, що

    \[y(x_{i+1})=y(x_i)+hy'(x_i)+{h^2\over2}y''(\tilde x_i),\nonumber \]

    де\(\tilde x_i\) деяке число між\(x_i\) і\(x_{i+1}\). Так як\(y'(x_i)=f(x_i,y(x_i))\) це можна записати як

    \[y(x_{i+1})=y(x_i)+hf(x_i,y(x_i))+{h^2\over2}y''(\tilde x_i), \nonumber \]

    або, рівнозначно,

    \[y(x_{i+1})-y(x_i)-hf(x_i,y(x_i))={h^2\over2}y''(\tilde x_i). \nonumber \]

    Порівняння цього з рівнянням\ ref {eq:3.1.8} показує, що

    \[T_i={h^2\over2}y''(\tilde x_i). \nonumber \]

    Згадуючи рівняння\ ref {eq:3.1.9}, ми можемо встановити межу

    \[\label{eq:3.1.10} |T_i|\le{Mh^2\over2},\quad 1\le i\le n.\]

    Хоча визначити константу може бути важко, важливо те\(M\), що існує таке, що Equation\ ref {eq:3.1.10} тримає.\(M\) Ми говоримо, що локальна помилка усічення методу Ейлера має порядок\(h^2\), який ми пишемо як\(O(h^2)\).

    Зауважимо, що величина локальної похибки усічення в методі Ейлера визначається другою\(y''\) похідною розв'язку задачі початкового значення. Тому локальна помилка усічення буде більшою там, де\(|y''|\) велика, або менша, де\(|y''|\) мала.

    Оскільки локальна помилка усічення для методу Ейлера є\(O(h^2)\), розумно очікувати, що скорочення вдвічі\(h\) зменшує локальну помилку усічення в 4 рази. Це правда, але зменшення розміру кроку вдвічі більше кроків також вимагає наближення рішення в заданій точці. Для аналізу загального ефекту помилки усічення в методі Ейлера корисно вивести рівняння, що стосується помилок

    \[e_{i+1}=y(x_{i+1})-y_{i+1}\quad \text{and} \quad e_i=y(x_i)-y_i. \nonumber \]

    З цією метою нагадаємо, що

    \[\label{eq:3.1.11} y(x_{i+1})=y(x_i)+hf(x_i,y(x_i))+T_i\]

    і

    \[\label{eq:3.1.12} y_{i+1}=y_i+hf(x_i,y_i).\]

    Віднімання рівняння\ ref {eq:3.1.12} з рівняння\ ref {eq:3.1.11} дає

    \[\label{eq:3.1.13} e_{i+1}=e_i+h\left[f(x_i,y(x_i))-f(x_i,y_i)\right]+T_i.\]

    Останній термін праворуч - локальна помилка усічення на\(i\) -му кроці. Інші терміни відображають спосіб впливу помилок, допущених на попередніх кроках\(e_{i+1}\). Оскільки\(|T_i|\le Mh^2/2\) ми бачимо з Рівняння\ ref {eq:3.1.13}, що

    \[\label{eq:3.1.14} |e_{i+1}|\le |e_i|+h|f(x_i,y(x_i))-f(x_i,y_i)|+{Mh^2\over2}.\]

    Оскільки ми припустили, що\(f_y\) це безперервне і обмежене, теорема про середнє значення передбачає, що

    \[f(x_i,y(x_i))-f(x_i,y_i)=f_y(x_i,y_i^*)(y(x_i)-y_i)=f_y(x_i,y_i^*)e_i, \nonumber \]

    де\(y_i^*\) знаходиться між\(y_i\) і\(y(x_i)\). Тому

    \[|f(x_i,y(x_i))-f(x_i,y_i)|\le R|e_i| \nonumber \]

    для деяких постійних\(R\). З цього і Рівняння\ ref {eq:3.1.14},

    \[\label{eq:3.1.15} |e_{i+1}|\le (1+Rh)|e_i|+{Mh^2\over2},\quad 0\le i\le n-1.\]

    Для зручності нехай\(C=1+Rh\). Оскільки\(e_0=y(x_0)-y_0=0\), застосування рівняння\ ref {eq:3.1.15} багаторазово дає

    \[\begin{align} |e_1| & \le {Mh^2\over2}\nonumber\\ |e_2| & \le C|e_1|+{Mh^2\over2}\le(1+C){Mh^2\over2}\nonumber\\ |e_3| & \le C|e_2|+{Mh^2\over2}\le(1+C+C^2){Mh^2\over2}\nonumber\\ & \vdots \nonumber \\|e_n| & \le C|e_{n-1}|+{Mh^2\over2}\le(1+C+\cdots+C^{n-1}){Mh^2\over2}.\label{eq:3.1.16} \end{align}\]

    Згадуючи формулу для суми геометричного ряду, бачимо, що

    \[1+C+\cdots+C^{n-1}={1-C^n\over 1-C}={(1+Rh)^n-1\over Rh} \nonumber \]

    (так як\(C=1+Rh\)). З цього і Рівняння\ ref {eq:3.1.16},

    \[\label{eq:3.1.17} |y(b)-y_n|=|e_n|\le{(1+Rh)^n-1\over R}{Mh\over2}.\]

    Оскільки теорема Тейлора передбачає, що

    \[1+Rh<e^{rh}\nonumber \]

    (перевірити),

    \[(1+Rh)^{n}<e^{nRh}=e^{R(b-x_{0})}\quad (\text{since }nh=b-x_{0}).\nonumber \]

    Це і рівняння\ ref {eq:3.1.17} означають, що

    \[\label{eq:3.1.18} |y(b)-y_n|\le Kh,\]

    із

    \[K=M{e^{R(b-x_0)}-1\over2R}.\nonumber \]

    Через Equation\ ref {eq:3.1.18} ми говоримо, що глобальна похибка усічення методу Ейлера має порядок\(h\), який ми пишемо як\(O(h)\).

    Напівлінійні рівняння та варіація параметрів

    Рівняння, яке можна записати у вигляді

    \[\label{eq:3.1.19} y'+p(x)y=h(x,y)\]

    з\(p\not\equiv0\), як кажуть, напівлінійний. (Звичайно, рівняння\ ref {eq:3.1.19} є лінійним, якщо\(h\) не залежить від\(y\).) Один із способів застосувати метод Ейлера до початкової задачі

    \[\label{eq:3.1.20} y'+p(x)y=h(x,y),\quad y(x_0)=y_0\]

    для рівняння\ ref {eq:3.1.19} полягає в тому, щоб думати про це як

    \[y'=f(x,y),\quad y(x_0)=y_0, \nonumber\]

    де

    \[f(x,y)=-p(x)y+h(x,y). \nonumber\]

    Однак ми також можемо почати з застосування варіації параметрів до Equation\ ref {eq:3.1.20}, як у розділах 2.1 та 2.4; таким чином, ми запишемо розв'язок Equation\ ref {eq:3.1.20} як\(y=uy_1\), де\(y_1\) є нетривіальним розв'язком комплементарного рівняння\(y'+p(x)y=0\). Тоді\(y=uy_1\) є розв'язком Рівняння\ ref {eq:3.1.20} тоді і тільки тоді,\(u\) коли є розв'язком початкової задачі

    \[\label{eq:3.1.21} u'=h(x,uy_1(x))/y_1(x),\quad u(x_0)=y(x_0)/y_1(x_0).\]

    Ми можемо застосувати метод Ейлера, щоб отримати приблизні значення\(u_0\),\(u_1\),,,\(u_n\) цієї початкової задачі значення, а потім взяти

    \[y_i=u_iy_1(x_i) \nonumber\]

    як наближені значення розв'язку Рівняння\ ref {eq:3.1.20}. Ми будемо називати цю процедуру напівлінійним методом Ейлера.

    Наступні два приклади показують, що напівлінійні методи Ейлера та Ейлера можуть дати різко різні результати.

    Приклад Template:index

    У прикладі Template:index нам довелося залишити рішення початкової задачі

    \[\label{eq:3.1.22} y'-2xy=1,\quad y(0)=3\]

    у формі

    \[\label{eq:3.1.23} y=e^{x^2}\left(3 +\int^x_0 e^{-t^2}dt\right)\]

    тому що неможливо було оцінити цей інтеграл точно з точки зору елементарних функцій. Використовуйте розміри кроків\(h=0.2\)\(h=0.1\), і\(h=0.05\) знайти наближені значення розв'язку Рівняння\ ref {eq:3.1.22} at\(x=0\)\(0.2\)\(0.4\)\(0.6\),,,,...,\(2.0\) методом (a) методом Ейлера; (b) напівлінійним методом Ейлера.

    Рішення a

    Переписування рівняння\ ref {eq:3.1.22} як

    \[\label{eq:3.1.24} y'=1+2xy,\quad y(0)=3\]

    і застосування методу Ейлера з\(f(x,y)=1+2xy\) отриманням результатів, показаних у таблиці Template:index. Через великі відмінності між оцінками, отриманими для трьох значень\(h\), було б зрозуміло, що ці результати марні, навіть якщо «точні» значення не були включені в таблицю.

    \(x\) \(h=0.2\) \(h=0.1\) \(h=0.05\) Точний
    \ (x\)» style="вертикальне вирівнювання: середина; "> 0.0 \ (h = 0.2\)» style="вертикальне вирівнювання: середина; "> 3.000000000 \ (h = 0.1\)» style="вертикальне вирівнювання: середина; "> 3.000000000 \ (h = 0,05\)» style="вертикальне вирівнювання: середина; "> 3.000000000 3.000000000
    \ (x\)» style="вертикальне вирівнювання: середина; "> 0.2 \ (h = 0.2\)» style="вертикальне вирівнювання: середина; "> 3.200000000 \ (h = 0.1\)» стиль = «вертикальне вирівнювання: по середині;" > 3.262000000 \ (h=0,05\)» style="вертикальне вирівнювання: посередині; "> 3.294348537 3 2785 1973
    \ (x\)» style="вертикальне вирівнювання: середина; "> 0.4 \ (h = 0.2\)» style="вертикальне вирівнювання: по середині; "> 3.656000000 \ (h = 0.1\)» style="вертикальне вирівнювання: середина; "> 3.802028800 \ (h=0,05\)» style="вертикальне вирівнювання: посередині; "> 3.881421103 3 966059348
    \ (x\)» style="вертикальне вирівнювання: середина; "> 0.6 \ (h = 0.2\)» style="вертикальне вирівнювання: по середині; "> 4.440960000 \ (h = 0.1\)» style="вертикальне вирівнювання: по середині; "> 4.726810214 \ (h=0,05\)» style="вертикальне вирівнювання: посередині; "> 4.888870783 5.0670 39535
    \ (x\)» style="вертикальне вирівнювання: середина; "> 0,8 \ (h = 0.2\)» style="вертикальне вирівнювання: середина; "> 5.706790400 \ (h=0.1\)» style="вертикальне вирівнювання: середина; "> 6.249191282 \ (h = 0,05\)» style="вертикальне вирівнювання: по середині; "> 6.570796235 6.936700945
    \ (x\)» style="вертикальне вирівнювання: середина; "> 1.0 \ (h = 0.2\)» style="вертикальне вирівнювання: середина; "> 7.732963328 \ (h=0.1\)» style="вертикальне вирівнювання: посередині; "> 8.771893026 \ (h=0,05\)» style="вертикальне вирівнювання: посередині; "> 9.419105620 10.1849 23955
    \ (x\)» style="вертикальне вирівнювання: середина; "> 1.2 \ (h=0.2\)» style="вертикальне вирівнювання: по середині; "> 11.026148659 \ (h = 0.1\)» style="вертикальне вирівнювання: по середині; "> 13.064051391 \ (h=0.05\)» style="вертикальне вирівнювання: по середині; "> 14.405772067 16.0671 1677
    \ (x\)» style="вертикальне вирівнювання: середина; "> 1.4 \ (h = 0.2\)» style="вертикальне вирівнювання: по середині; "> 16.518700016 \ (h = 0.1\)» style="вертикальне вирівнювання: посередині; "> 20.637273893 \ (h = 0,05\)» style="вертикальне вирівнювання: по середині; "> 23.522935872 27.289392347
    \ (x\)» style="вертикальне вирівнювання: середина; "> 1.6 \ (h=0.2\)» style="вертикальне вирівнювання: по середині; "> 25.969172024 \ (h = 0.1\)» style="вертикальне вирівнювання: по середині; "> 34.570423758 \ (h = 0,05\)» style="вертикальне вирівнювання: по середині; "> 41.033441257 50.000377775
    \ (x\)» style="вертикальне вирівнювання: середина; "> 1.8 \ (h = 0.2\)» style="вертикальне вирівнювання: по середині; "> 42.789442120 \ (h = 0.1\)» style="вертикальне вирівнювання: середина; "> 61.382165543 \ (h=0,05\)» style="вертикальне вирівнювання: по середині; "> 76.491018246 98.98 2969504
    \ (x\)» style="вертикальне вирівнювання: середина; "> 2.0 \ (h=0.2\)» style="вертикальне вирівнювання: посередині; "> 73.797840446 \ (h = 0.1\)» style="вертикальне вирівнювання: по середині; "> 115.440048291 \ (h=0,05\)» style="вертикальне вирівнювання: по середині; "> 152.363866569 211.954462214
    Таблиця Template:index: Числове розв'язування методом Ейлера.\(y'-2xy=1,\ y(0)=3\)

    Нескладно зрозуміти, чому метод Ейлера дає такі погані результати. Нагадаємо, що константа\(M\) в Equation\ ref {eq:3.1.10}, яка відіграє важливу роль у визначенні локальної похибки усічення в методі Ейлера, повинна бути верхньою межею для значень другої\(y''\) похідної розв'язку початкової задачі Рівняння\ ref {eq:3.1.22} на \((0,2)\). Проблема в тому, що\(y''\) передбачає дуже великі значення на цьому інтервалі. Щоб побачити це, ми диференціюємо рівняння\ ref {eq:3.1.24} для отримання

    \[y''(x)=2y(x)+2xy'(x)=2y(x)+2x(1+2xy(x))=2(1+2x^2)y(x)+2x, \nonumber\]

    де друга рівність знову випливає з Equation\ ref {eq:3.1.24}. Оскільки рівняння\ ref {eq:3.1.23} означає, що\(y(x)>3e^{x^2}\) якщо\(x>0\),

    \[y''(x)>6(1+2x^2)e^{x^2}+2x,\quad x>0. \nonumber\]

    Наприклад, дозволяючи\(x=2\) показує, що\(y''(2)>2952\).

    Рішення б

    Оскільки\(y_1=e^{x^2}\) це рішення комплементарного рівняння\(y'-2xy=0\), ми можемо застосувати напівлінійний метод Ейлера до Equation\ ref {eq:3.1.22}, з

    \[y=ue^{x^2}\quad \text{and} \quad u'=e^{-x^2},\quad u(0)=3. \nonumber\]

    Результати, наведені в таблиці Template:index, явно кращі, ніж результати, отримані методом Ейлера.

    \(x\) \(h=0.2\) \(h=0.1\) \(h=0.05\) Точний
    \ (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.330594477 \ (h=0,1\) ">3.329558853 \ (h=0,05\) ">3.32878889 3 2785 1973
    \ (x\) ">0.4 \ (h=0,2\) ">3,980734157 \ (h=0.1\) ">3.97406628 \ (h = 0,05\) ">3.970230415 3 966059348
    \ (x\) ">0.6 \ (h=0,2\) ">5.106360231 \ (h=0.1\) ">5.087705244 \ (h = 0,05\) ">5.077622723 5.0670 39535
    \ (x\) ">0,8 \ (h=0,2\) ">7.021003417 \ (h=0.1\) ">6.980190891 \ (h=0,05\) ">6.958779586 6.936700945
    \ (x\) ">1.0 \ (h=0.2\) ">10.350076600 \ (h=0.1\) ">10.269170824 \ (h = 0,05\) ">10.227464299 10.1849 23955
    \ (x\) ">1.2 \ (h=0,2\) ">16.381180092 \ (h = 0,1\) ">16,226146390 \ (h=0,05\) ">16.147129067 16.0671 1677
    \ (x\) ">1.4 \ (h = 0.2\) ">27.890003380 \ (h=0.1\) ">27.592026085 \ (h = 0,05\) ">27.441292235 27.289392347
    \ (x\) ">1.6 \ (h=0,2\) ">51.183323262 \ (h=0.1\) ">50.594503863 \ (h=0,05\) ">50.298106659 50.000377775
    \ (x\) ">1.8 \ (h=0,2\) ">101,424397595 \ (h=0.1\) ">100.206659076 \ (h = 0,05\) ">99.595562766 98.98 2969504
    \ (x\) ">2.0 \ (h=0,2\) ">217.301032800 \ (h=0.1\) ">214.631041938 \ (h = 0,05\) ">213.293582978 211.954462214
    Таблиця Template:index: Числове розв'язання\(y'-2xy=1,\ y(0)=3\), за допомогою напівлінійного методу Ейлера.

    Ми не можемо дати загальну процедуру визначення заздалегідь, чи дасть метод Ейлера або напівлінійний метод Ейлера кращі результати для заданої напівлінійної задачі початкового значення Equation\ ref {eq:3.1.19}. Як правило, напівлінійний метод Ейлера дасть кращі результати, ніж метод Ейлера, якщо\(|u''|\) він невеликий\([x_0,b]\), тоді як метод Ейлера дає кращі результати, якщо\(|u''|\) він великий\([x_0,b]\). У багатьох випадках результати, отримані двома методами, суттєво не відрізняються. Однак ми пропонуємо інтуїтивно зрозумілий спосіб вирішити, який метод є кращим: спробуйте обидва методи з декількома розмірами кроків, як ми це робили в прикладі [example:3.1.4}, і прийняти результати, отримані методом, для якого наближення змінюються менше, коли розмір кроку зменшується.

    Приклад Template:index

    Застосування методу Ейлера з розмірами\(h=0.1\)\(h=0.05\) кроків та\(h=0.025\) до початкової задачі

    \[\label{eq:3.1.25} y'-2y={x\over1+y^2},\quad y(1)=7\]на\([1,2]\) виводить результати в таблиці Template:index.

    \(x\) \(h=0.1\) \(h=0.05\) \(h=0.025\) Точний
    \ (x\) ">1.0 \ (h=0.1\) ">7.000000000 \ (h = 0,05\) ">7.000000000 \ (h=0,025\) ">7.000000000 7.000000000
    \ (x\) ">1.1 \ (h = 0.1\) ">8.402000000 \ (h=0,05\) ">8.471970569 \ (h=0,025\) ">8.510493955 8,55 1744786
    \ (x\) ">1.2 \ (h=0.1\) ">10.083936450 \ (h = 0,05\) ">10.252570169 \ (h=0,025\) ">10.346014101 10,446 546230
    \ (x\) ">1.3 \ (h=0.1\) ">12.101892354 \ (h = 0,05\) ">12.406719381 \ (h=0,025\) ">12,576720827 12.760 480158
    \ (x\) ">1.4 \ (h=0,1\) ">14.523152445 \ (h=0,05\) ">15.012952416 \ (h=0,025\) ">15.287872104 15.586440425
    \ (x\) ">1.5 \ (h=0,1\) ">17.428443554 \ (h = 0,05\) ">18.166277405 \ (h=0,025\) ">18.583079406 19.037865752
    \ (x\) ">1.6 \ (h=0.1\) ">20.914624471 \ (h=0,05\) ">21.981638487 \ (h=0,025\) ">22.588266217 23.253 292359
    \ (x\) ">1.7 \ (h=0,1\) ">25.097914310 \ (h = 0,05\) ">26.598105180 \ (h=0,025\) ">27.456479695 28.40 1914 416
    \ (x\) ">1.8 \ (h=0.1\) ">30.117766627 \ (h = 0,05\) ">32.183941340 \ (h=0,025\) ">33.373738944 34.690375086
    \ (x\) ">1.9 \ (h=0.1\) ">36.141518172 \ (h = 0,05\) ">38.942738252 \ (h=0,025\) ">40.566143158 42.371060528
    \ (x\) ">2.0 \ (h=0.1\) ">43.369967155 \ (h = 0,05\) ">47.120835251 \ (h=0,025\) ">49.308511126 51.7522 29656
    Таблиця Template:index: Чисельне розв'язання\(y'-2y=x/(1+y^2),\ y(1)=7\), методом Ейлера.

    Застосування напівлінійного методу Ейлера з

    \[y=ue^{2x}\quad \text{and} \quad u'={xe^{-2x}\over1+u^2e^{4x}},\quad u(1)=7e^{-2}\nonumber \]

    виводить результати в таблиці Template:index. Оскільки останні явно менш залежні від розміру кроку, ніж перші, ми робимо висновок, що напівлінійний метод Ейлера краще, ніж метод Ейлера для Equation\ ref {eq:3.1.25}. Цей висновок підкріплюється порівнянням наближених результатів, отриманих двома методами, з «точними» значеннями рішення.

    \(x\) \(h=0.1\) \(h=0.05\) \(h=0.025\) Точний
    \ (x\)» style="вертикальне вирівнювання: середина; "> 1.0 \ (h = 0.1\)» style="вертикальне вирівнювання: середина; "> 7.000000000 \ (h = 0,05\)» style="вертикальне вирівнювання: середина; "> 7.000000000 \ (h=0,025\)» style="вертикальне вирівнювання: середина; "> 7.000000000 7.000000000
    \ (x\)» style="вертикальне вирівнювання: середина; "> 1.1 \ (h = 0.1\)» style="вертикальне вирівнювання: середина; "> 8.552262113 \ (h = 0,05\)» style="вертикальне вирівнювання: посередині; "> 8.551993978 \ (h=0,025\)» style="вертикальне вирівнювання: посередині; "> 8.551867007 8,55 1744786
    \ (x\)» style="вертикальне вирівнювання: середина; "> 1.2 \ (h = 0.1\)» style="вертикальне вирівнювання: по середині; "> 10.447568674 \ (h=0,05\)» style="вертикальне вирівнювання: по середині; "> 10.447038547 \ (h=0.025\)» style="вертикальне вирівнювання: посередині; "> 10.446787646 10,446 546230
    \ (x\)» style="вертикальне вирівнювання: середина; "> 1.3 \ (h = 0.1\)» style="вертикальне вирівнювання: середина; "> 12.762019799 \ (h=0,05\)» style="вертикальне вирівнювання: посередині; "> 12.761221313 \ (h=0.025\)» style="вертикальне вирівнювання: по середині; "> 12.760843543 12.760 480158
    \ (x\)» style="вертикальне вирівнювання: середина; "> 1.4 \ (h = 0.1\)» style="вертикальне вирівнювання: по середині; "> 15.588535141 \ (h=0,05\)» style="вертикальне вирівнювання: посередині; "> 15.587448600 \ (h=0.025\)» style="Вертикальне вирівнювання: по середині; "> 15.586934680 15.586440425
    \ (x\)» style="вертикальне вирівнювання: середина; "> 1.5 \ (h=0.1\)» style="вертикальне вирівнювання: по середині; "> 19.040580614 \ (h=0,05\)» style="вертикальне вирівнювання: по середині; "> 19.039172241 \ (h=0.025\)» style="вертикальне вирівнювання: по середині; "> 19.038506211 19.037865752
    \ (x\)» style="вертикальне вирівнювання: середина; "> 1.6 \ (h = 0.1\)» style="вертикальне вирівнювання: по середині; "> 23.256721636 \ (h=0,05\)» style="вертикальне вирівнювання: посередині; "> 23.254942517 \ (h=0,025\)» style="вертикальне вирівнювання: по середині; "> 23.254101253 23.253 292359
    \ (x\)» style="вертикальне вирівнювання: середина; "> 1.7 \ (h = 0.1\)» style="вертикальне вирівнювання: по середині; "> 28.406184597 \ (h = 0,05\)» style="вертикальне вирівнювання: по середині; "> 28.403969107 \ (h=0,025\)» style="вертикальне вирівнювання: по середині; "> 28.402921581 28.40 1914 416
    \ (x\)» style="вертикальне вирівнювання: середина; "> 1.8 \ (h = 0.1\)» style="вертикальне вирівнювання: по середині; "> 34.695649222 \ (h=0,05\)» style="вертикальне вирівнювання: по середині; "> 34.692912768 \ (h=0.025\)» style="вертикальне вирівнювання: по середині; "> 34.691618979 34.690375086
    \ (x\)» style="вертикальне вирівнювання: середина; "> 1.9 \ (h = 0.1\)» style="вертикальне вирівнювання: по середині; "> 42.377544138 \ (h=0,05\)» style="вертикальне вирівнювання: по середині; "> 42.374180090 \ (h=0.025\)» style="вертикальне вирівнювання: по середині; "> 42.372589624 42.371060528
    \ (x\)» style="вертикальне вирівнювання: середина; "> 2.0 \ (h = 0.1\)» style="вертикальне вирівнювання: по середині; "> 51.760178446 \ (h=0,05\)» style="вертикальне вирівнювання: по середині; "> 51.756054133 \ (h=0,025\)» style="Вертикальне вирівнювання: по середині; "> 51.754104262 51.7522 29656
    Таблиця Template:index: Числове розв'язання\(y'-2y=x/(1+y^2),\ y(1)=7\), за допомогою напівлінійного методу Ейлера.
    Приклад Template:index

    Застосування методу Ейлера з розмірами\(h=0.1\)\(h=0.05\) кроків та\(h=0.025\) до початкової задачі

    \[\label{eq:3.1.26} y'+3x^2y=1+y^2,\quad y(2)=2\]

    на\([2,3]\) виводить результати в таблиці Template:index. Застосування напівлінійного методу Ейлера з

    \[y=ue^{-x^3}\quad \text{and} \quad u'=e^{x^3}(1+u^2e^{-2x^3}),\quad u(2)=2e^8 \nonumber\]

    виводить результати в таблиці Template:index. Відзначаючи тісну згоду між трьома стовпцями таблиці Template:index (принаймні для більших значень\(x\)) та відсутність такої згоди між стовпцями таблиці Template:index, ми робимо висновок, що метод Ейлера кращий за напівлінійний метод Ейлера для Equation\ ref {eq: 3.1.26}. Порівняння результатів з точними значеннями підтверджує цей висновок.

    \(x\) \(h=0.1\) \(h=0.05\) \(h=0.025\) Точний
    \ (x\) ">2.0 \ (h=0.1\) ">2.000000000 \ (h = 0,05\) ">2.000000000 \ (h=0,025\) ">2.000000000 2.000000000
    \ (x\) ">2.1 \ (h = 0.1\) ">0.100000000 \ (h=0,05\) ">0,493231250 \ (h=0,025\) ">0.609611171 0.701162906
    \ (x\) ">2.2 \ (h=0.1\) ">0,068700000 \ (h=0,05\) ">0,122879586 \ (h=0,025\) ">0.180113445 0.236986800
    \ (x\) ">2.3 \ (h=0.1\) ">0,069419569 \ (h=0,05\) ">0,070670890 \ (h=0,025\) ">0.083934459 0,103815729
    \ (x\) ">2.4 \ (h=0.1\) ">0,059732621 \ (h=0,05\) ">0.061338956 \ (h=0,025\) ">0,063337561 0.068390786
    \ (x\) ">2.5 \ (h=0.1\) ">0,056871451 \ (h=0,05\) ">0.056002363 \ (h=0,025\) ">0,056249670 0.057281091
    \ (x\) ">2.6 \ (h=0.1\) ">0.050560917 \ (h = 0,05\) ">0,051465256 \ (h=0,025\) ">0,051517501 0.051711676
    \ (x\) ">2.7 \ (h=0.1\) ">0.048279018 \ (h=0,05\) ">0,047484716 \ (h=0,025\) ">0.047514202 0.047564141
    \ (x\) ">2.8 \ (h=0.1\) ">0,042925892 \ (h=0,05\) ">0.043967002 \ (h=0,025\) ">0.043989239 0.044014438
    \ (x\) ">2.9 \ (h=0.1\) ">0.042148458 \ (h=0,05\) ">0.040839683 \ (h=0,025\) ">0.040857109 0.040875333
    \ (x\) ">3.0 \ (h=0.1\) ">0.035985548 \ (h=0,05\) ">0.038044692 \ (h=0,025\) ">0,038058536 0,038072838:
    Таблиця Template:index Чисельне розв'язання\(y'+3x^2y=1+y^2,\quad y(2)=2\), методом Ейлера.
    \(x\) \(h=0.1\) \(h=0.05\) \(h=0.025\) \(h=.0125\)
    \ (x\)» style="вертикальне вирівнювання: середина; "> 2.0 \ (h = 0.1\)» style="вертикальне вирівнювання: середина; "> 2.000000000 \ (h = 0,05\)» style="вертикальне вирівнювання: середина; "> 2.000000000 \ (h=0,025\)» style="вертикальне вирівнювання: середина; "> 2.000000000 \ (h=.0125\)» style="вертикальне вирівнювання: середина; "> 2.000000000
    \ (x\)» style="вертикальне вирівнювання: середина; "> 2.1 \ (h = 0.1\)» style="вертикальне вирівнювання: по середині; "> 0.708426286 \ (h=0,05\)» style="вертикальне вирівнювання: посередині; "> 0.702568171 \ (h=0.025\)» style="вертикальне вирівнювання: по середині; "> 0.701214274 \ (h=.0125\)» style="вертикальне вирівнювання: по середині; "> 0.701162906
    \ (x\)» style="вертикальне вирівнювання: середина; "> 2.2 \ (h = 0.1\)» style="вертикальне вирівнювання: середина; "> 0.214501852 \ (h=0,05\)» style="вертикальне вирівнювання: посередині; "> 0.222599468 \ (h=0,025\)» style="Вертикальне вирівнювання: по середині; "> 0.228942240 \ (h=.0125\)» style="вертикальне вирівнювання: по середині; "> 0.236986800
    \ (x\)» style="вертикальне вирівнювання: середина; "> 2.3 \ (h = 0.1\)» style="вертикальне вирівнювання: по середині; "> 0.069861436 \ (h=0,05\)» style="вертикальне вирівнювання: посередині; "> 0.083620494 \ (h=0,025\)» style="вертикальне вирівнювання: по середині; "> 0.092852806 \ (h=.0125\)» style="вертикальне вирівнювання: посередині; "> 0.103815729
    \ (x\)» style="вертикальне вирівнювання: середина; "> 2.4 \ (h = 0.1\)» style="вертикальне вирівнювання: середина; "> 0.032487396 \ (h=0,05\)» style="вертикальне вирівнювання: по середині; "> 0.047079261 \ (h=0,025\)» style="вертикальне вирівнювання: по середині; "> 0.056825805 \ (h=.0125\)» style="вертикальне вирівнювання: по середині; "> 0.068390786
    \ (x\)» style="вертикальне вирівнювання: середина; "> 2.5 \ (h=0.1\)» style="вертикальне вирівнювання: по середині; "> 0.021895559 \ (h=0,05\)» style="вертикальне вирівнювання: посередині; "> 0.036030018 \ (h=0.025\)» style="Вертикальне вирівнювання: посередині; "> 0.045683801 \ (h=.0125\)» style="вертикальне вирівнювання: по середині; "> 0.057281091
    \ (x\)» style="вертикальне вирівнювання: середина; "> 2.6 \ (h=0.1\)» style="Вертикальне вирівнювання: по середині; "> 0.017332058 \ (h=0.05\)» style="Вертикальне вирівнювання: по середині; "> 0.030750181 \ (h=0.025\)» style="Вертикальне вирівнювання: по середині; "> 0.040189920 \ (h=.0125\)» style="вертикальне вирівнювання: по середині; "> 0.051711676
    \ (x\)» style="вертикальне вирівнювання: середина; "> 2.7 \ (h=0.1\)» style="вертикальне вирівнювання: посередині; "> 0.014271492 \ (h=0.05\)» style="Вертикальне вирівнювання: посередині; "> 0.026931911 \ (h=0.025\)» style="Вертикальне вирівнювання: по середині; "> 0.036134674 \ (h=.0125\)» style="Вертикальне вирівнювання: по середині; "> 0.047564141
    \ (x\)» style="вертикальне вирівнювання: середина; "> 2.8 \ (h=0.1\)» style="вертикальне вирівнювання: середина; "> 0.011819555 \ (h=0.05\)» style="вертикальне вирівнювання: посередині; "> 0.023720670 \ (h=0,025\)» style="Вертикальне вирівнювання: по середині; "> 0.032679767 \ (h=.0125\)» style="вертикальне вирівнювання: по середині; "> 0.044014438
    \ (x\)» style="вертикальне вирівнювання: середина; "> 2.9 \ (h = 0.1\)» style="вертикальне вирівнювання: по середині; "> 0.009776792 \ (h=0,05\)» style="вертикальне вирівнювання: посередині; "> 0.020925522 \ (h=0.025\)» style="Вертикальне вирівнювання: по середині; "> 0.029636506 \ (h=.0125\)» style="вертикальне вирівнювання: по середині; "> 0.040875333
    \ (x\)» style="вертикальне вирівнювання: середина; "> 3.0 \ (h = 0.1\)» style="вертикальне вирівнювання: середина; "> 0.008065020 \ (h=0.05\)» style="вертикальне вирівнювання: посередині; "> 0.018472302 \ (h=0,025\)» style="Вертикальне вирівнювання: по середині; "> 0.026931099 \ (h=.0125\)» style="вертикальне вирівнювання: по середині; "> 0.038072838
    Таблиця Template:index: Числове розв'язання\(y'+3x^2y=1+y^2,\quad y(2)=2\), за допомогою напівлінійного методу Ейлера.

    У наступних двох розділах ми вивчимо інші числові методи розв'язання початкових задач, які називаються вдосконаленим методом Ейлера, методом середньої точки, методом Хена і методом Рунге - Кутта. Якщо початкова задача є напівлінійною, як у Equation\ ref {eq:3.1.19}, ми також маємо можливість використовувати варіацію параметрів, а потім застосувати заданий числовий метод до початкової задачі Equation\ ref {eq:3.1.21} для\(u\). За аналогією з термінологією, що використовується тут, ми назвемо отриману процедуру вдосконаленим напівлінійним методом Ейлера, середньоточковим напівлінійним методом, напівлінійним методом Хена або напівлінійним методом Рунге - Кутта, в залежності від випадку.