Skip to main content
LibreTexts - Ukrayinska

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

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

    Мотивуючі питання
    • Що таке метод Ейлера і як ми можемо використовувати його для наближення розв'язку до початкової задачі?
    • Наскільки точний метод Ейлера?

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

    Попередній перегляд Активність 7.3.1

    Розглянемо початкову задачу значення

    \[ \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{.}\)

    Малюнок 7.3.1. Сітка для побудови дотичної лінії.

    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{.}\)

    «Ейлер» вимовляється «Ой-лер». Крім усього іншого, Ейлер - математик, який приписують знамените число,\(e\text{;}\) якщо ви неправильно вимовляєте його ім'я «Ви-лер», ви не зможете оцінити його геніальність і спадщину.

    Перш ніж детально пояснити алгоритм, згадаємо, як ми обчислюємо нахил лінії: нахил - це відношення зміни вертикалі до зміни горизонталі, як показано на малюнку 7.3.2.

    Іншими словами,\(m = \frac{\Delta y}{\Delta t}\text{.}\) Рішення для\(\Delta y\text{,}\) ми бачимо, що вертикальна зміна є добутком нахилу та зміни горизонталі, або

    \[ \Delta y = m\Delta t\text{.} \nonumber \]
    Малюнок 7.3.2. Роль схилу в методі Ейлера.

    Тепер припустимо, що ми хотіли б вирішити початкову задачу

    \[ \frac{dy}{dt} = t - y, \ y(0) = 1\text{.} \nonumber \]

    Існує алгоритм, за допомогою якого ми можемо знайти алгебраїчну формулу для вирішення цієї початкової задачі значення, і ми можемо перевірити, що це рішення\(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{.}\) Тепер диференціальне рівняння говорить нам, що нахил дотичної лінії в цій точці

    \[ m=\frac{dy}{dt}\bigg\vert_{(0,1)} = 0-1 = -1\text{,} \nonumber \]

    тому, щоб рухатися вздовж дотичної лінії, взявши горизонтальний крок розміру,\(\Delta t=0.2\text{,}\) ми також повинні рухатися вертикально

    \[ \Delta y = m\Delta t = -1\cdot 0.2 = -0.2\text{.} \nonumber \]

    Потім ми маємо наближення\(y(0.2) \approx y_1= y_0 + \Delta y = 1 - 0.2 = 0.8\text{.}\) У цьому пункті ми виконали один крок методу Ейлера, як показано графічно на малюнку 7.3.3.

    Малюнок 7.3.3. Один крок методу Ейлера.

    Тепер повторюємо цей процес: при\((t_1,y_1) = (0.2,0.8)\text{,}\) диференціальному рівнянні говорить нам, що нахил

    \[ m=\frac{dy}{dt}\bigg\vert_{(0.2,0.8)} = 0.2-0.8 = -0.6\text{.} \nonumber \]

    Якщо ми рухаємося вперед по горизонталі\(\Delta t\), то\(t_2=t_1+\Delta = 0.4\text{,}\) ми повинні рухатися вертикально

    \[ \Delta y = -0.6\cdot0.2 = -0.12\text{.} \nonumber \]

    Отже, ми\(y_2=y_1+\Delta y = 0.8-0.12 = 0.68\text{,}\) приходимо до якого дає\(y(0.2)\approx 0.68\text{.}\) Тепер ми завершили другий крок методу Ейлера, як показано на малюнку 7.3.4.

    Малюнок 7.3.4. Два етапи методу Ейлера.

    Якщо ми продовжимо таким чином, ми можемо генерувати точки,\((t_i, y_i)\) показані на малюнку 7.3.5. Оскільки ми можемо знайти формулу фактичного\(y(t)\) розв'язку цього диференціального рівняння, ми можемо зробити графік\(y(t)\) і порівняти його з точками, породженими методом Ейлера, як показано на малюнку 7.3.6.

    Малюнок 7.3.5. Точки та кусково-лінійні наближені розв'язки, породжені методом Ейлера.
    Малюнок 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.

    Таблиця 7.3.7. Метод Ейлера за 6 кроків з\(\Delta t = 0.2\text{.}\)
    \(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\)
    Активність 7.3.2

    Розглянемо початкову задачу значення

    \[ \frac{dy}{dt} = 2t-1, \ y(0) = 0 \nonumber \]
    1. Використовуйте метод Ейлера з,\(\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\)      
      Малюнок 7.3.9. Сітка для побудови точок, створених методом Ейлера.
    2. Знайдіть точний розв'язок початкової задачі про початкове значення та скористайтеся цією функцією, щоб знайти помилку у вашому наближенні в кожній з точок\(t_i\text{.}\)
    3. Поясніть, чому значення,\(y_5\) створене методом Ейлера для цієї початкової задачі, дає таке ж значення, що і ліва сума Рімана для визначеного інтеграла\(\int_0^1 (2t-1)~dt\text{.}\)
    4. Як би відрізнялися ваші обчислення, якби початкове значення було\(y(0) = 1\text{?}\) Що це означає про різні розв'язки цього диференціального рівняння?
    Активність 7.3.3

    Розглянемо диференціальне рівняння\(\frac{dy}{dt} = 6y-y^2\text{.}\)

    1. Намалюйте поле нахилу для цього диференціального рівняння на осях, передбачених на малюнку 7.3.10.

      Малюнок 7.3.10. Сітка для побудови поля нахилу заданого диференціального рівняння.

    2. Визначте будь-які рівноважні рішення та визначте, стабільні вони чи нестабільні.
    3. Яке довгострокова поведінка рішення, яке задовольняє початковому значенню\(y(0) = 1\text{?}\)
    4. Використовуючи початкове значення,\(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\)      
      Малюнок 7.3.12. Осі для побудови результатів методу Ейлера.
    5. Що станеться, якщо ми застосуємо метод Ейлера для наближення рішення\(y(0) = 6\text{?}\)

    7.3.2 Помилка в методі Ейлера

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

    \[ \frac{dy}{dt} = y, \ y(0) = 1\text{,} \nonumber \]

    рішення якого ми можемо легко знайти.

    Питання, поставлене цією початковою задачею значення, полягає в тому, «яку функцію ми знаємо, що така ж, як і її власна похідна і має значення 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{.}\) Помилка, отже,

    \[ y(1) - E_{0.2} = e - 2.4883 \approx 0.2300\text{.} \nonumber \]

    Повторне халвінг\(\Delta t\) дає наступні результати, виражені як в табличному, так і в графічному вигляді.

    Таблиця 7.3.13. Помилки, які відповідають різним\(\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\)
    Малюнок 7.3.14. Сюжет помилки як функція\(\Delta t\text{.}\)

    Зверніть увагу, як чисельно, так і графічно, що помилка зменшується приблизно вдвічі, коли\(\Delta t\) зменшується вдвічі. Цей приклад ілюструє наступний загальний принцип.

    Якщо метод Ейлера використовується для наближення розв'язку до задачі початкового значення в точці,\(\overline{t}\text{,}\) то похибка пропорційна\(\Delta t\text{.}\) Тобто

    \[ y(\overline{t}) - E_{\Delta t} \approx K\Delta t \nonumber \]

    для деякої константи пропорційності\(K\text{.}\)

    7.3.3 Резюме

    • Метод Ейлера - це алгоритм наближення розв'язку до задачі початкового значення, слідуючи за дотичними лініями, поки ми робимо горизонтальні кроки поперек\(t\) -осі.
    • Якщо ми хочемо наблизити\(y(\overline{t})\) для деяких\(\overline{t}\) фіксованих, взявши горизонтальні кроки розміру,\(\Delta t\text{,}\) то похибка в нашому наближенні пропорційна\(\Delta t\text{.}\)