Решение систем дифференциальных уравнений при помощи неявной схемы Адамса 3-го порядка

курсовая работа

1. Постановка задачи

Необходимо решить с заданной степенью точности задачу Коши для системы дифференциальных уравнений на заданном интервале [a,b]. Добиться погрешности на втором конце не более 0,0001. Результат получить в виде таблицы значений приближенного и точного решений в точках заданного интервала. Построить графики полученных решений и сравнить их с точным решением.

Исходные данные:

- система дифференциальных уравнений вида:

- интервал, на котором ищется решение: [a,b]

- погрешность, с которой ищется решение: е

- формулировка задачи Коши в начальной точке заданного интервала: u(a)=u, v(a)=v

- количество узлов сетки, для которой формируется таблица значений приближенного и точного решений системы: nx

- шаг вывода на экран значений искомых функций в узлах заданной сетки: np

Выходные данные:

- таблица значений приближенного и точного решений в узлах заданной сетки;

- графики полученных и точных решений.

2. Описание математических методов решения задачи

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

(2.1)

Дифференциальное уравнение или система дифференциальных уравнений имеет бесконечное множество решений. Единственные решения выделяют с помощью дополнительных условий, которым должны удовлетворять искомые решения. В зависимости от вида таких условий рассматривают три типа задач, для которых доказано существование и единственность решений.

Первый тип - это задачи Коши, или задачи с начальными условиями. Для таких задач кроме исходного уравнения в некоторой точке a должны быть заданы начальные условия, т.е. значения функции u1(a),…, um(a):

u1(a)=,…, um(a)= (2.2)

Ко второму типу задач относятся так называемые граничные, или краевые задачи, в которых дополнительные условия задаются в виде функциональных соотношений между искомыми решениями. Количество условий должно совпадать с порядком n уравнения или системы. Если решение задачи определяется в интервале x[a,b], то такие условия могут быть заданы как на границах, так и внутри интервала.

Третий тип задач для систем дифференциальных уравнений - это задачи на собственные значения. Такие задачи отличаются тем, что кроме искомых функций u1(x),…, um(x) в уравнения входят дополнительно n неизвестных параметров 1, 2, ..., n, которые называются собственными значениями. Для единственности решения на интервале [a,b] необходимо задать n + m граничных условий.

Рассмотрим подробнее задачу Коши. Воспользуемся компактной записью задачи (2.1), (2.2) в векторной форме:

(2.3)

Требуется найти на интервале [a,b].

Задачу Коши удобнее всего решать методом сеток. Метод сеток состоит в следующем :

1) Выбираем в области интегрирования упорядоченную систему точек a=x1<x2<…<xn<b, называемую сеткой. Точки xi называют узлами разностной сетки, разность между соседними узлами h=xi-xi-1 - шаг сетки. Формула для вычисления шага равномерной сетки, заданной на интервале [a,b]:

, (2.4)

где nx - количество узлов заданной сетки.

2) Решение ищется в виде таблицы значений в узлах выбранной сетки, для чего дифференцирование заменяется системой алгебраических уравнений, связывающих между собой значения искомой функции в соседних узлах. Такую систему уравнений принято называть конечно-разностной схемой.

Для получения конечно-разностной схемы удобно использовать интегроинтерполяционный метод, согласно которому необходимо проинтегрировать уравнение (2.3) на каждом интервале [xk, xk+1] и разделить полученное выражение на длину этого интервала:

(2.5)

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

е(h)=|| || (2.6)

Согласно основной теореме теории метода сеток (теорема Лакса), для устойчивой конечно-разностной схемы при стремлении шага h к нулю погрешность решения стремится к нулю с тем же порядком, что и погрешность апроксимации:

, (2.7)

где С0 - константа устойчивости, p - порядок апроксимации.

Поэтому для увеличения точности решения необходимо уменьшить шаг сетки h.

На практике применяется множество видов конечно-разностных схем, которые подразделяются на одношаговые, многошаговые схемы и схемы с дробным шагом.

Одношаговые схемы

- Метод Эйлера

Заменяем интеграл в правой части уравнения (2.5) по формуле левых прямоугольников:

(2.8)

Получим:

, (2.9)

где k=0,1,2,…,n.

Схема явная устойчивая. В силу того, что формула для левых прямоугольников имеет погрешность второго порядка, точность е(h) первого порядка.

- Неявная схема 1-го порядка

Используя формулу правых прямоугольников, получим:

(2.10)

Эта схема неразрешима в явном виде относительно , поэтому проводится итерационная процедура:

, (2.11)

где s=1,2,… - номер итерации. Обычно схема сходится очень быстро - 2-3 итерации. Неявная схема первого порядка эффективнее явной, так как константа устойчивости С0 у неё значительно меньше.

- Метод Эйлера-Коши

Вычисления проводятся в два этапа : этап прогноза и этап коррекции.

На этапе прогноза определяется приближенное решение на правом конце интервала по методу Эйлера:

(2.12)

На этапе коррекции, используя формулу трапеций, уточняем значение решения на правом конце:

(2.13)

Так как формула трапеций имеет третий порядок точности, то порядок погрешности апроксимации - равен двум.

- Неявная схема 2-го порядка (метод Эйлера-Коши)

Используя в (2.5) формулу трапеций, получим:

(2.14)

Схема не разрешена в явном виде, поэтому требуется итерационная процедура:

, (2.15)

где s=1,2,… - номер итерации. Обычно схема сходится за 3-4 итерации.

Так как формула трапеций имеет третий порядок точности, то погрешность апроксимации - второй.

Схемы с дробным шагом

- Схема предиктор-корректор (Рунге-Кутта) 2-го порядка

Используя в (2.5) формулу средних, получим:

,(2.16)

где - решение системы на середине интервала [xk, xk+1] . Уравнение явно разрешено относительно , однако в правой части присутствует неизвестное значение . Поэтому сначала расчитывают (предиктор):

. (2.17)

Затем расчитывают (корректор) по формуле (2.16). Схема имеет первый порядок погрешности.

- Схема Рунге-Кутта 4-го порядка

Используя в (2.5) формулу Симпсона, получим:

(2.18)

Наиболее часто рассчитывают неявное по уравнение по следующей схеме:

Сначала рассчитывают предиктор вида:

(2.19)

затем корректор по формуле:

(2.20)

Поскольку формула Симпсона имеет пятый порядок погрешности, то точность е(h) - четвёртого порядка.

Многошаговые схемы

Многошаговые методы решения задачи Коши характеризуются тем, что решение в текущем узле зависит от данных не в одном предыдущем или последующем узле сетки, как это имеет место в одношаговых методах, а зависит от данных в нескольких соседних узлах.

Идея методов Адамса заключается в том, чтобы для повышения точности использовать вычисленные уже на предыдущих шагах значения

Если заменим в (2.5) подинтегральное выражение интерполяционным многочленом Ньютона, построенного по узлам , то после интегрирования на интервале получим явную экстраполяционную схему Адамса. Если заменим в (2.5) подинтегральное выражение на многочлен Ньютона, построенного по узлам , то получим неявную интерполяционную схему Адамса.

- Явная экстраполяционная схема Адамса 2-го порядка

(2.21)

Схема двухшаговая, поэтому необходимо для расчётов найти по схеме Рунге-Кутта 2-го порядка , после чего , , … вычисляют по формуле (2.21)

- Явная экстраполяционная схема Адамса 3-го порядка

(2.22)

Схема двухшаговая, поэтому необходимо сперва найти и по схеме предиктор-корректор 4-го порядка, после чего , , … вычисляют по формуле (2.22).

Делись добром ;)