
- •Физико-математические основы техники высоких напряжений
- •1. Погрешность результата численного решения задачи Причины возникновения и классификация погрешности
- •Решение систем линейных уравнений
- •Численное решение алгебраических и трансцендентных уравнений
- •Метод половинного деления
- •Метод простой итерации
- •Приближенные вычисления определенных интегралов.
- •Задача Коши
- •Метод Эйлера
- •Модифицированный метод Эйлера
- •Методы Рунге — Кутта
- •Литература
- •Контрольные задания
- •Вопросы к зачету по курсу «Физико-математические основы техники высоких напряжений»
Задача Коши
Задачу Коши можно сформулировать следующим образом. Пусть дано дифференциальное уравнение
и начальное условие у(х0)=у0. Требуется найти функцию у(х), удовлетворяющую как указанному уравнению, так и начальному условию. Обычно численное решение этой задачи получают, вычисляя сначала значение производной, а затем задавая малое приращение х и переходя к новой точке x1=x0+h. Положение новой точки определяется по наклону кривой, вычисленному с помощью дифференциального уравнения. Таким образом, график численного решения представляет собой последовательность коротких прямолинейных отрезков, которыми аппроксимируется истинная кривая y=f(x). Сам численный метод определяет порядок действий при переходе от данной точки кривой к следующей.
Поскольку численное решение задачи Коши широко применяется в различных областях науки и техники, то оно в течение многих лет было объектом пристального внимания и число разработанных для него методов очень велико.
Рассмотрим одношаговые методы, в которых для нахождения следующей точки на кривой y=f(x) требуется информация лишь об одном предыдущем шаге. Одношаговыми являются метод Эйлера и методы Рунге— Кутта.
Одношаговые методы предназначены для решения дифференциальных уравнений первого порядка вида
где y'=dy/dx, при начальном условии у(х0)=x0. С помощью этих методов вычисляют последовательные значения у, соответствующие дискретным значениям независимой переменной х.
Метод Эйлера
Это простейший метод решения задачи Коши, позволяющий интегрировать дифференциальные уравнения первого порядка. Его точность невелика, и поэтому на практике им пользуются сравнительно редко. Однако на основе этого метода легче понять алгоритм других, более эффективных методов.
Рис. 14. Метод Эйлера.
Метод Эйлера основан на разложении у в ряд Тейлора в окрестности х0:
Если h мало, то члены, содержащие h во второй или более высоких степенях, являются малыми более высоких порядков и ими можно пренебречь. Тогда
у'(х0) находим из дифференциального уравнения, подставив в него начальное условие. Таким образом, можно получить приближенное значение зависимой переменной при малом смещении h от начальной точки. Этот процесс можно продолжить, используя соотношение
и делая сколь угодно много шагов. Графически метод Эйлера показан на рис. 14. Ошибка метода имеет порядок h2, так как члены, содержащие h во второй и более высоких степенях, отбрасываются.
Модифицированный метод Эйлера
Хотя тангенс угла наклона касательной к истинной кривой в исходной точке известен и равен у'( х0 )он изменяется в соответствии с изменением независимой переменной. Поэтому в точке x0+h наклон касательной уже не таков, каким он был в точке хл. Следовательно, при сохранении начального наклона касательной на всем интервале h в результаты вычислений вносится погрешность. Точность метода Эйлера можно существенно повысить, улучшив аппроксимацию производной. Это можно сделать, например, используя среднее значение производной в начале и конце интервала. В модифицированном методе Эйлера сначала вычисляется значение функции в следующей точке по методу Эйлера:
которое используется для вычисления приближенного значения производной в конце интервала f(xn+1, у*п+1). Вычислив среднее между этим значением производной и ее значением в начале интервала, найдем более точное значение уп+1:
.
Рис. 15. Модифицированный метод Эйлера.
Этот прием иллюстрируется на рис. 15. Принцип, на котором основан модифицированный метод Эйлера, можно пояснить и иначе. Для этого вернемся к разложению функции в ряд Тейлора
Кажется очевидным, что, сохранив член с h2 и отбросив члены более высоких порядков, можно повысить точность. Однако чтобы сохранить член с h2, надо знать вторую производную у"(х0). Ее можно аппроксимировать конечной разностью:
Подставив это выражение в ряд Тейлора с отброшенными членами второго порядка, найдем
что совпадает с ранее полученным выражением.
Этот метод является методом второго порядка, так как в нем используется член ряда Тейлора, содержащий h2. Ошибка на каждом шаге при использовании этого метода, имеет порядок h3. За повышение точности приходится расплачиваться дополнительными затратами машинного времени, необходимыми для вычисления у*п+1. Более высокая точность может быть достигнута, если пользователь готов потратить дополнительное машинное время на лучшую аппроксимацию производной путем сохранения большего числа членов ряда Тейлора. Эта же идея лежит в основе методов Рунге — Кутта.