7.3: Метод Ейлера
- Page ID
- 61152
- Що таке метод Ейлера і як ми можемо використовувати його для наближення розв'язку до початкової задачі?
- Наскільки точний метод Ейлера?
У розділі 7.2 ми побачили, як поле нахилу можна використовувати для ескізу розв'язків диференціального рівняння. Зокрема, поле нахилу - це ділянка великої колекції дотичних ліній до великої кількості розв'язків диференціального рівняння, і ми накидаємо єдине рішення, просто слідуючи цим дотичним лініям. Трохи більше роздумів, ми можемо використовувати цю саму ідею для наближення чисельно розв'язків диференціального рівняння.
Розглянемо початкову задачу значення
\[ \frac{dy}{dt} = \frac12 (y + 1), \ y(0) = 0\text{.} \nonumber \]
a Використовуйте диференціальне рівняння, щоб знайти нахил дотичної прямої до розв'язку\(y(t)\) на\(t=0\text{.}\) Тоді використовуйте задане початкове значення, щоб знайти рівняння дотичної прямої при\(t=0\text{.}\)
б. намалюйте дотичну лінію по осях, передбачених на малюнку 7.3.1, на інтервалі\(0\leq t\leq 2\) і використовуйте її для\(y(2)\text{,}\) наближення величини розчину при\(t=2\text{.}\)
c Припускаючи, що ваше наближення для\(y(2)\) є фактичним значенням\(y(2)\text{,}\) використання диференціального рівняння, щоб знайти нахил дотичної прямої до\(y(t)\) at\(t=2\text{.}\) Тоді, запишіть рівняння дотичної прямої на\(t=2\text{.}\)
d Додайте ескіз цієї дотичної лінії на інтервалі\(2\leq t\leq 4\) до вашого графіка Рисунок 7.3.1; використовуйте цю нову дотичну лінію для\(y(4)\text{,}\) наближення значення розв'язку при\(t=4\text{.}\)
е Повторіть той же крок, щоб знайти наближення для\(y(6)\text{.}\)
7.3.1 Метод Ейлера
Preview Activity 7.3.1 демонструє алгоритм, відомий як метод Ейлера 1, який генерує числове наближення до розв'язання задачі початкового значення. У цьому алгоритмі ми наблизимо рішення, взявши горизонтальні кроки фіксованого розміру, які позначимо\(\Delta t\text{.}\)
Перш ніж детально пояснити алгоритм, згадаємо, як ми обчислюємо нахил лінії: нахил - це відношення зміни вертикалі до зміни горизонталі, як показано на малюнку 7.3.2.
Іншими словами,\(m = \frac{\Delta y}{\Delta t}\text{.}\) Рішення для\(\Delta y\text{,}\) ми бачимо, що вертикальна зміна є добутком нахилу та зміни горизонталі, або
Тепер припустимо, що ми хотіли б вирішити початкову задачу
Існує алгоритм, за допомогою якого ми можемо знайти алгебраїчну формулу для вирішення цієї початкової задачі значення, і ми можемо перевірити, що це рішення\(y(t) = t -1 + 2e^{-t}\text{.}\) Але ми замість цього зацікавлені в генеруванні приблизного рішення шляхом створення послідовності точок\((t_i, y_i)\text{,}\) де\(y_i\approx y(t_i)\text{.}\) Для цього спочатку приклад, вибираємо\(\Delta t = 0.2\text{.}\)
Оскільки ми знаємо, що\(y(0) = 1\text{,}\) ми будемо приймати початкову точку бути\((t_0,y_0) = (0,1)\) і рухатися по горизонталі\(\Delta t = 0.2\) до точки\((t_1,y_1)\text{.}\) Таким чином,\(t_1=t_0+\Delta t = 0.2\text{.}\) Тепер диференціальне рівняння говорить нам, що нахил дотичної лінії в цій точці
тому, щоб рухатися вздовж дотичної лінії, взявши горизонтальний крок розміру,\(\Delta t=0.2\text{,}\) ми також повинні рухатися вертикально
Потім ми маємо наближення\(y(0.2) \approx y_1= y_0 + \Delta y = 1 - 0.2 = 0.8\text{.}\) У цьому пункті ми виконали один крок методу Ейлера, як показано графічно на малюнку 7.3.3.
Тепер повторюємо цей процес: при\((t_1,y_1) = (0.2,0.8)\text{,}\) диференціальному рівнянні говорить нам, що нахил
Якщо ми рухаємося вперед по горизонталі\(\Delta t\), то\(t_2=t_1+\Delta = 0.4\text{,}\) ми повинні рухатися вертикально
Отже, ми\(y_2=y_1+\Delta y = 0.8-0.12 = 0.68\text{,}\) приходимо до якого дає\(y(0.2)\approx 0.68\text{.}\) Тепер ми завершили другий крок методу Ейлера, як показано на малюнку 7.3.4.
Якщо ми продовжимо таким чином, ми можемо генерувати точки,\((t_i, y_i)\) показані на малюнку 7.3.5. Оскільки ми можемо знайти формулу фактичного\(y(t)\) розв'язку цього диференціального рівняння, ми можемо зробити графік\(y(t)\) і порівняти його з точками, породженими методом Ейлера, як показано на малюнку 7.3.6.
Оскільки нам потрібно генерувати велику кількість точок,\((t_i,y_i)\text{,}\) зручно організувати реалізацію методу Ейлера в таблиці, як показано на малюнку. Починаємо з заданих вихідних даних.
\(t_i\) | \(y_i\) | \(dy/dt\) | \(\Delta y\) |
\(0.0000\) | \(1.0000\) |
Звідси обчислюємо нахил дотичної прямої,\(m=dy/dt\) використовуючи формулу для\(dy/dt\) з диференціального рівняння, а потім знаходимо\(\Delta y\text{,}\) зміну у\(y\text{,}\) використанні правила\(\Delta y = m\Delta t\text{.}\)
\(t_i\) | \(y_i\) | \(dy/dt\) | \(\Delta y\) |
\(0.0000\) | \(1.0000\) | \(-1.0000\) | \(-0.2000\) |
Далі ми збільшуємо\(t_i\) на\(\Delta t\) і\(y_i\) на,\(\Delta y\) щоб отримати
\(t_i\) | \(y_i\) | \(dy/dt\) | \(\Delta y\) |
\(0.0000\) | \(1.0000\) | \(-1.0000\) | \(-0.2000\) |
\(0.2000\) | \(0.8000\) |
Ми продовжуємо процес протягом багатьох кроків, які ми вирішуємо, врешті-решт генеруючи таблицю, як Таблиця 7.3.7.
\(t_i\) | \(y_i\) | \(dy/dt\) | \(\Delta y\) |
\(0.0000\) | \(1.0000\) | \(-1.0000\) | \(-0.2000\) |
\(0.2000\) | \(0.8000\) | \(-0.6000\) | \(-0.1200\) |
\(0.4000\) | \(0.6800\) | \(-0.2800\) | \(-0.0560\) |
\(0.6000\) | \(0.6240\) | \(-0.0240\) | \(-0.0048\) |
\(0.8000\) | \(0.6192\) | \(0.1808\) | \(0.0362\) |
\(1.0000\) | \(0.6554\) | \(0.3446\) | \(0.0689\) |
\(1.2000\) | \(0.7243\) | \(0.4757\) | \(0.0951\) |
Розглянемо початкову задачу значення
- Використовуйте метод Ейлера з,\(\Delta t = 0.2\) щоб наблизити рішення на\(t_i = 0.2, 0.4, 0.6, 0.8\text{,}\) і\(1.0\text{.}\) Запишіть свою роботу в наступній таблиці та намалюйте точки\((t_i, y_i)\) на наведених осях.
Таблиця 7.3.8. Таблиця для запису результатів методу Ейлера. \(t_i\) \(y_i\) \(dy/dt\) \(\Delta y\) \(0.0000\) \(0.0000\) \(0.2000\) \(0.4000\) \(0.6000\) \(0.8000\) \(1.0000\) - Знайдіть точний розв'язок початкової задачі про початкове значення та скористайтеся цією функцією, щоб знайти помилку у вашому наближенні в кожній з точок\(t_i\text{.}\)
- Поясніть, чому значення,\(y_5\) створене методом Ейлера для цієї початкової задачі, дає таке ж значення, що і ліва сума Рімана для визначеного інтеграла\(\int_0^1 (2t-1)~dt\text{.}\)
- Як би відрізнялися ваші обчислення, якби початкове значення було\(y(0) = 1\text{?}\) Що це означає про різні розв'язки цього диференціального рівняння?
Розглянемо диференціальне рівняння\(\frac{dy}{dt} = 6y-y^2\text{.}\)
- Намалюйте поле нахилу для цього диференціального рівняння на осях, передбачених на малюнку 7.3.10.
- Визначте будь-які рівноважні рішення та визначте, стабільні вони чи нестабільні.
- Яке довгострокова поведінка рішення, яке задовольняє початковому значенню\(y(0) = 1\text{?}\)
- Використовуючи початкове значення,\(y(0) = 1\text{,}\) використовуйте метод Ейлера з\(\Delta t = 0.2\) для наближення рішення в\(t_i = 0.2, 0.4, 0.6, 0.8\text{,}\) і\(1.0\text{.}\) Запишіть свої результати в таблиці 7.3.11 і намалюйте відповідні точки\((t_i, y_i)\) на осях, наведених на малюнку 7.3.12. Зверніть увагу на різну горизонтальну шкалу на осях на малюнку 7.3.12 порівняно з малюнком 7.3.10.
Таблиця 7.3.11. Таблиця для запису результатів методу Ейлера з\(\Delta t = 0.2\text{.}\) \(t_i\) \(y_i\) \(dy/dt\) \(\Delta y\) \(0.0\) \(1.0000\) \(0.2\) \(0.4\) \(0.6\) \(0.8\) \(1.0\) - Що станеться, якщо ми застосуємо метод Ейлера для наближення рішення\(y(0) = 6\text{?}\)
7.3.2 Помилка в методі Ейлера
Оскільки ми наближаємо розв'язки до задачі початкового значення за допомогою дотичних ліній, слід очікувати, що похибка в наближенні буде меншою, коли розмір кроку менший. Розглянемо початкову задачу значення
рішення якого ми можемо легко знайти.
Питання, поставлене цією початковою задачею значення, полягає в тому, «яку функцію ми знаємо, що така ж, як і її власна похідна і має значення 1, коли\(t=0\text{?}\)» Не важко побачити, що рішення є\(y(t) = e^t\text{.}\) Ми тепер застосовуємо метод Ейлера для наближення,\(y(1) = e\) використовуючи кілька значень\(\Delta t\text{.}\) цих наближення будуть\(E_{\Delta t}\text{,}\) позначені, і ми будемо використовувати їх, щоб побачити, наскільки точним є метод Ейлера.
Для початку ми застосовуємо метод Ейлера з розміром кроку\(\Delta t = 0.2\text{.}\) У цьому випадку ми виявимо, що\(y(1) \approx E_{0.2} = 2.4883\text{.}\) Помилка, отже,
Повторне халвінг\(\Delta t\) дає наступні результати, виражені як в табличному, так і в графічному вигляді.
\(\Delta t\) | \(E_{\Delta t}\) | Помилка |
\(0.200\) | \(2.4883\) | \(0.2300\) |
\(0.100\) | \(2.5937\) | \(0.1245\) |
\(0.050\) | \(2.6533\) | \(0.0650\) |
\(0.025\) | \(2.6851\) | \(0.0332\) |
Зверніть увагу, як чисельно, так і графічно, що помилка зменшується приблизно вдвічі, коли\(\Delta t\) зменшується вдвічі. Цей приклад ілюструє наступний загальний принцип.
Якщо метод Ейлера використовується для наближення розв'язку до задачі початкового значення в точці,\(\overline{t}\text{,}\) то похибка пропорційна\(\Delta t\text{.}\) Тобто
для деякої константи пропорційності\(K\text{.}\)
7.3.3 Резюме
- Метод Ейлера - це алгоритм наближення розв'язку до задачі початкового значення, слідуючи за дотичними лініями, поки ми робимо горизонтальні кроки поперек\(t\) -осі.
- Якщо ми хочемо наблизити\(y(\overline{t})\) для деяких\(\overline{t}\) фіксованих, взявши горизонтальні кроки розміру,\(\Delta t\text{,}\) то похибка в нашому наближенні пропорційна\(\Delta t\text{.}\)