Аппроксимация касательной линией
Геометрическая идея
Обыкновенное дифференциальное уравнение 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 = λ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 = 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 — они торгуют стоимостью за шаг на устойчивость.
Инсайт Хэмминга переводится: выбор численного метода кодирует ставку на геометрию спектра собственных значений ОДУ. Сделать эту ставку явной — первое решение дизайна в любом моделировании.