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, что ставит нас вне области устойчивости. Решение колеблется с растущей амплитудой.

Нахождение границы устойчивости

Runge-Kutta 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 секунд? Что это раскрывает о том, почему неявные решатели имеют значение для жестких систем?