Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ФМОТВН Физ.-мат. осн. техн. в.н..doc
Скачиваний:
59
Добавлен:
14.05.2015
Размер:
2.86 Mб
Скачать

Задача Коши

Задачу Коши можно сформулировать следующим образом. Пусть дано дифференциальное уравнение

и начальное условие у(х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. Более высокая точность может быть достигнута, если пользователь готов потратить дополнительное машинное время на лучшую аппроксимацию производной путем сохранения большего числа членов ряда Тейлора. Эта же идея лежит в основе методов Рунге — Кутта.