English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

гість
1 / ?
назад до уроків

Наближення дотичною лінією

Геометрична ідея

Звичайне диференціальне рівняння dy/dx = f(x,y) призначає нахил кожній точці в площині (x,y) — поле напрямків. Істинне рішення y(x) — це крива, яка скрізь дотримується цих призначених нахилів.

Метод Ейлера перетворює безперервне поле напрямків на дискретну прогулянку:

> (xₙ, yₙ) → (xₙ + h, yₙ + h·f(xₙ, yₙ))

З точки (xₙ, yₙ) рухайтеся на відстань h вздовж дотичної лінії. Прибудьте до наступної приблизної точки. Повторіть.

Геометрична помилка: дотична лінія в точці (xₙ, yₙ) має нахил f(xₙ, yₙ), але істинна крива має різний нахил у кожній точці на інтервалі [xₙ, xₙ + h]. Крок Ейлера використовує нахил на лівій кінцевій точці протягом усього часу — «нахил, який був». Помилка на крок зростає як h².

Метод Ейлера: кроки дотичної лінії

Накопичена помилка

За N кроків для досягнення фіксованої точки x = a з h = a/N:

- Локальна помилка зрізання на крок: O(h²)

- Кількість кроків: N = a/h

- Глобальна помилка: O(h²) × (a/h) = O(h) — точність першого порядку

Метод Ейлера має перший порядок: зменшення h вдвічі зменшує глобальну помилку вдвічі.

Запуск методу Ейлера

Розглянемо dy/dx = y з початковою умовою y(0) = 1. Істинне рішення: y(x) = eˣ, тому y(1) = e ≈ 2.71828.

Застосуйте метод Ейлера з h = 0.5, від x = 0 до x = 1 (2 кроки):

Крок 1: y₁ = y₀ + h·f(x₀, y₀) = 1 + 0.5·(1) = 1.5. Нова точка: (0.5, 1.5).

Крок 2: y₂ = y₁ + h·f(x₁, y₁) = 1.5 + 0.5·(1.5) = 2.25. Нова точка: (1.0, 2.25).

Метод Ейлера дає 2.25 проти істинного значення 2.71828. Помилка: 0.468. Відносна помилка: ~17%.

Застосуйте метод Ейлера до dy/dx = -2y з початковою умовою y(0) = 1, використовуючи розмір кроку h = 0.5. Обчисліть y(0.5) і y(1.0). Порівняйте з істинним рішенням y(x) = e^(-2x). Покажіть усі кроки.

Виведення області стабільності Ейлера

Для тестового рівняння dy/dx = λy (де λ — комплексне число) метод Ейлера дає:

> yₙ₊₁ = yₙ + h·λ·yₙ = yₙ·(1 + hλ)

Коефіцієнт посилення на крок: z = 1 + hλ.

Умова стабільності: обчислене рішення залишається обмеженим тоді й тільки тоді, коли |z| ≤ 1, тобто |1 + hλ| ≤ 1.

Це геометрична умова у комплексній площині hλ: точка hλ має лежати всередині кола радіусом 1 з центром у (-1, 0).

Область стабільності Ейлера: { hλ ∈ ℂ : |1 + hλ| ≤ 1 }

Для дійсних, від'ємних λ (спадаючого ОДР, як dy/dx = -2y): hλ має лежати в інтервалі (-2, 0] на дійсній осі. При λ = -2 і h = 0.5: hλ = -1. Це точно на кордоні стабільності — метод маргінально стабільний, що пояснює якісну невдачу в попередньому прикладі.

При h = 1 і λ = -2: hλ = -2, що розміщує нас за межами області стабільності. Рішення коливається з зростаючою амплітудою.

Знаходження кордону стабільності

Рунге-Кутта 4 (RK4) має більшу область стабільності, ніж Ейлер, що є однією з причин, чому його вважають кращим для більшості завдань.

Для дійсних від'ємних λ RK4 дозволяє hλ до приблизно -2.785 на дійсній осі (порівняно з границею -2 для Ейлера).

Для жорстких рівнянь з власними значеннями λ дуже різної величини — скажімо λ₁ = -1 і λ₂ = -1000 — стабільність вимагає, щоб hλ₂ залишався всередині області. Для RK4 на дійсній осі: h·(-1000) ≥ -2.785, тому h ≤ 0.002785.

Цей крихітний розмір кроку, продиктований жорстким власним значенням λ₂, робить моделювання дорогим, хоча повільна компонента λ₁ могла б використовувати h = 2.

Для методу Ейлера, застосованого до dy/dx = λy, область стабільності це |1 + hλ| ≤ 1. Якщо λ = -4 (помірно жорстке, дійснозначне спадаюче ОДР), яка максимальна величина кроку h для стійного інтегрування Ейлером? Покажіть виведення з умови стабільності. Потім: якщо RK4 дозволяє дійсне від'ємне hλ до -2.785, яка максимальна h для RK4 на цьому ж ОДР?

Нерухомі точки й басейни притягання

Метод Ейлера, застосований до dy/dx = f(y), визначає дискретне відображення: yₙ₊₁ = g(yₙ) = yₙ + h·f(yₙ).

Нерухома точка цього відображення: y така, що g(y) = y. Для Ейлера на dy/dx = f(y) нерухомі точки задовольняють f(y) = 0 — рівноваги ОДР.

Стабільність нерухомої точки: якщо |g'(y)| < 1, близькі ітерації сходяться до y. Якщо |g'(y*)| > 1, вони розходяться.

g'(y) = 1 + h·f'(y). На нерухомій точці y: |1 + h·f'(y)| < 1 для стабільності.

Це саме умова стабільності Ейлера з λ = f'(y*) — лінеаризація ОДР на рівновазі.

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

Цикл моделювання — це дискретна динамічна система. Її якісна поведінка — збіжність, коливання, розходження — залежить від розміру кроку h відносно геометрії поля напрямків ОДР.

Під'єднання геометрії до дизайну моделювання

Геометрія чисельного моделювання зводиться до трьох питань:

1. Де область стабільності? Для Ейлера: диск |1 + hλ| ≤ 1. Більший для RK4. Необмежений (вся ліва півплощина) для неявних методів.

2. Де власні значення ОДР? Власні значення λ якобіана f у кожній точці визначають, яка область стабільності повинна містити hλ.

3. Яка h утримує всі hλ всередину області? Максимальна дозволена h = (радіус області стабільності) / max|λ|.

Для жорстких систем: max|λ| величезна, примушуючи крихітку h для явних методів. Неявні методи дорогі на крок, але дозволяють велику h — вони обмінюють вартість на крок на стабільність.

Розуміння Геммінга перекладається так: вибір чисельного методу кодує ставку на геометрію спектра власних значень ОДР. Озвучення цієї ставки — перша дизайнерська рішення в будь-якому моделюванні.

Фізична система має три компоненти з характеристичними часовими шкалами 0.01s, 1s і 100s — це означає, що власні значення ОДР приблизно λ₁ = -100, λ₂ = -1, λ₃ = -0.01. Ви хочете змоделювати систему протягом 1000 секунд, використовуючи метод Ейлера (границя стабільності: h·|λ| ≤ 2) і RK4 (границя стабільності: h·|λ| ≤ 2.785). Яка максимальна стійка величина кроку для кожного методу? Скільки кроків потребує кожен метод для 1000 секунд? Що це розкриває щодо того, чому неявні розв'язувачі мають значення для жорстких систем?