Устойчивость и точность

Мы применили метод Эйлера для численного решения дифференциального уравнения первого порядка и теперь необходимо сформулировать некоторые практические рекомендации, которые позволят оценить точность метода. Поскольку дифференциальное уравнение заменяется его разностным аналогом, то естественно, что численное решение не может совпадать с "истинным" решением исходного дифференциального уравнения. В общем случае отклонение от точного решения обусловлено двумя причинами. Компьютеры не оперируют с вещественными числами (например, десятичными числами с дробной частью) бесконечной точности, а представляют числа с некоторым конечным числом десятичных цифр, определяемых аппаратными средствами компьютера или программным обеспечением. Арифметические операции, такие, как сложение или деление, оперирующие с вещественными числами, могут приводить к дополнительной погрешности, которая называется погрешностью округления. Они накапливаются по мере роста объема вычислений. В принципе мы выбрали алгоритмы, в которых погрешность округления заметным образом не накапливается, например мы старались не использовать вычитание чисел одного порядка.

Другой источник отклонения численного решения от точного обусловлен выбором алгоритма, а не точностью компьютера. В некоторых книгах по численному анализу такая погрешность называется погрешностью приближения. Поскольку эти погрешности зависят от выбора алгоритма, необходимо глубже изучить численный анализ и оценки погрешностей приближения. Тем не менее не существует никакого общего рецепта для выбора “наилучшего” метода численного решения дифференциальных уравнений. В дальнейшем мы убедимся в том, что у каждого метода имеются свои достоинства и недостатки, а надлежащий выбор определяется Вашими требованиями и характером конкретного решения, который может быть заранее не известен. Насколько точным должен быть ответ? На каком интервале требуется получить решение задачи? Какой компьютер имеется у Вас в наличии? Сколько потребуется машинного и личного времени для решения задачи?

Практически точность численного решения определяют, уменьшая величину шага  до тех пор, пока численное решение не перестанет зависеть от шага при требуемом уровне точности. Само собой разумеется, необходимо осторожно выбирать величину шага, так как в случае очень малого  слишком сильно увеличивается число шагов, а значит, возрастают машинное время и погрешность округления.

Наряду с точностью алгоритма другой важной характеристикой представляется его устойчивость. Например, может случиться так, что численные результаты находятся в хорошем соответствии и “истинным” решением на малых временах, а набольших временах отклоняются от него. Такое отклонение может происходить из-за того, что малые погрешности в алгоритме, многократно перемножаясь, приводят к геометрическому росту погрешности. Для конкретных задач такой алгоритм называется неустойчивым. В следующей задаче обсуждаются точность и устойчивость метода Эйлера.

 

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: