Метод Ейлера

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
Ілюстрація методу Ейлера. Шукана крива синя, а її полігональне наближення червоне.

В чисельних методах методом Ейлера називають спосіб розв'язувати звичайні диференціальні рівняння з заданим початковим значенням. Це найбільш базовий вид чисельних методів інтегрування звичайних диференціальних рівнянь.

Неформальний геометричний опис[ред.ред. код]

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

Ідея методу полягає в тому, що хоча крива спочатку невідома, її початкова точка, яку ми позначимо A_0, відома (як на ілюстрації вгорі справа). Тоді, в цій точці можна обчислити нахил дотичної.

Тепер робимо маленький крок вздовж дотичної, до точки A_1. Якщо ми припустимо що A_1 все ще на кривій (приблизно), тоді до неї можна застосувати ті ж міркування. Таким чином ми отримаємо послідовність точок, що утворюють ламану яка приблизно повторює криву.

Відхилення між отриманою ламаною, можна зробити не надто великим, якщо робити короткі кроки вздовж дотичних, і будувати криву на скінченному, короткому інтервалі. Хоча для деяких рівнянь можуть виникати додаткові ускладнення.

Застосування[ред.ред. код]

Ілюстрація чисельного інтегрування рівняння y'=y, y(0)=1. Синій - метод Ейлера, зелений - метод середньої точки, червоний - точний розв'язок, y=e^t. Розмір кроку - h=1.0.
Та ж ілюстрація для кроку h=0.25. Видно що метод середньої точки збігається швидше ніж метод Ейлера.

Ми хочемо наблизити розв'язок наступної задачі початкових значень:

y'(t) = f(t,y(t)), \qquad \qquad y(t_0)=y_0,

використовуючи перші два доданки ряду Тейлора для y, які представляють лінійне наближення біля точки (t_0,y(t_0)). Один крок методу Ейлера з t_n до t_{n+1} = t_n + h проводиться так:

 y_{n+1} = y_n + hf(t_n,y_n).  \qquad \qquad

Метод Ейлера є явним, тобто розв'язок y_{n+1} є явною функцією y_i для i \leq n.

Хоча метод Ейлера працює для ЗДР першого порядку, будь-яке ЗДР порядку N може бути представленим як ЗДР першого порядку додаванням N-1 додаткових змінних, y',\, y'',\, \ldots,\, y^{(N)}, і створенням N рівнянь першого порядку з цими змінними. Метод Ейлера можна застосовувати до вектора \mathbf{y}(t)=(y(t),y'(t),y''(t),...,y^{(N)}(t)) для інтегрування системи рівнянь вищих порядків.

Похибка[ред.ред. код]

Якщо припустити, що f(t) і відповідно y(t) відомі точно в момент t_0, тоді метод Ейлера дає приблизний розв'язок в момент t_0+h як:

y(t_0 + h) = y(t_0) + h f(t_0,y(t_0)) = y(t_0) + h y'(t_0) \, \qquad \qquad

(друга рівність зберігається тому що y задовольняє дифрівняння y'=f(t, y)). Розклад Тейлора для h біля t_0 дає:

y(t_0 + h) = y(t_0) + h y'(t_0) + \frac{1}{2}h^2 y''(t_0) + O(h^3).

Похибка методу Ейлера задається різницею між цими двома рівняннями:

\frac{1}{2}h^2 y''(t_0) + O(h^3).

Для маленких h, домінуючий доданок похибки пропорційний h^2. Щоб розв'язати задачу на заданому проміжку t, необхідна кількість кроків, яка пропорційна до 1/h тому можна очікувати, що загальна похибка на кінці інтервалу буде пропорційна h (похибка за один крок, помножена на кількість кроків). З цієї причини, метод Ейлера називають методом першого порядку, і він є менш точним (для малих h) ніж методи вищих порядків, таких як метод Рунге-Кутти, чи метод Адамса.

Стійкість[ред.ред. код]

Метод Ейлера може бути чисельно нестійким, особливо для жорстких рівнянь. Це обмеження, поряд з тим фактом, що він повільно збігається при зменшенні h означає, що метод використовується нечасто, і хіба що як простий приклад чисельного інтегрування. Нестікості можна уникнути, використовуючи алгоритм Ейлера-Кромера.

Дивіться також[ред.ред. код]

Посилання[ред.ред. код]