Разностная схема
англ. Finite difference scheme
Дифференциальное уравнение, пересаженное на сетку: производные заменены разностями соседних узлов; сходимость держится на паре «аппроксимация плюс устойчивость» (теорема Лакса).
Непрерывное движение кино показывает кадрами — и почти ничего не теряет, если кадры достаточно частые. Разностная схема делает то же с дифференциальным уравнением: производные заменяются разностями значений на сетке, непрерывная задача превращается в цепочку арифметики. Первая производная — через соседей: ; вторая — трёхточечная: . К схеме прилагаются начальные и граничные условия. Три кита качества: аппроксимация (сеточное уравнение близко к исходному), устойчивость (ошибки не разрастаются) и сходимость — по теореме Лакса для линейных задач первые две влекут третью.
Проверка на числах. Вторая производная в точке равна ; трёхточечная формула с даёт — отклонение ровно , второй порядок в действии. Для ОДУ явная схема Эйлера за десять шагов приходит к против : ошибка , первый порядок — при останется . Неявные платят решением уравнения на шаге, зато устойчивы при крупном шаге. Всё это — в уроке численное решение ОДУ, разности как замена производных — в численном дифференцировании, счёт за неаккуратность предъявляют источники погрешностей.
Частые вопросы
Что ломается, если схема неустойчива?
Всё, и красиво. Аппроксимация может быть идеальной, но каждое округление — возмущение, которое схема либо гасит, либо раскачивает. Неустойчивость размножает шум от шага к шагу: на сетке вспухают зигзаги, растут амплитуды, и решение уходит в бесконечность задолго до конца расчёта, хотя уравнение решено «правильно». Поэтому перед счётом схему анализируют — например, методом Неймана, раскладывая возмущения по гармоникам, — и уточняют ограничение на шаг.
Явная схема или неявная — что выбирать?
Считайте цену обоих. Явная схема мгновенна на шаге, но диктует ограничение на шаг — для теплопроводности шаг связан квадратично с сеткой, и мельчание сетки дорого. Неявная устойчива при любом шаге, но требует решать систему на каждом шаге; для линейных задач с трёхдиагональной матрицей это дёшево — работает прогонка. Для жёстких задач выбора нет: неявные. Для коротких гладких расчётов явная схема проще, а контроль точности ведётся двойным пересчётом шага.