Смекни!
smekni.com

Численные методы решения обыкновенных дифференциальных уравнений (стр. 1 из 3)

Лабораторная работа 1

Численные методы решения

обыкновенных дифференциальных уравнений (4 часа)

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

Обыкновенным дифференциальным уравнением называется равенство

, (1)

в котором

- независимая переменная, изменяющаяся в некотором отрезке
, а
- неизвестная функция y(x) и ее первые n производные.

Число

называется порядком уравнения.

Задача заключается в нахождении функции y, удовлетворяющей равенству (1). Более того, не оговаривая это отдельно, будем предполагать, что искомое решение обладает той или иной степенью гладкости, необходимой для построения и «законного» применения того или иного метода.

Различают два типа обыкновенных дифференциальных уравнений

- уравнения без начальных условий

- уравнения с начальными условиями.

Уравнения без начальных условий - это уравнение вида (1).

Уравнение с начальными условиями - это уравнение вида (1), в котором требуется найти такую функцию

, которая при некотором
удовлетворяет следующим условиям:

,

т.е. в точке

функция
и ее первые
производных принимают наперед заданные значения.

Задачи Коши

При изучении способов решения дифференциальных уравнений приближенными методами основной задачей считается задача Коши.

Рассмотрим наиболее популярный метод решения задачи Коши – метод Рунге-Кутта. Этот метод позволяет строить формулы расчета приближенного решения практически любого порядка точности.

Выведем формулы метода Рунге-Кутта второго порядка точности. Для этого решение представим куском ряда Тейлора, отбрасывая члены с порядком выше второго. Тогда приближенное значение искомой функции в точке x1 можно записать в виде:

(2)

Вторую производную y"(x0) можно выразить через производную функции f(x,y), однако в методе Рунге-Кутта вместо производной используют разность

соответственно подбирая значения параметров

Тогда (2) можно переписать в виде:

y1=y0 + h [β f(x0,y0) + α f(x0 + γh, y0 + δh)], (3)

где α, β, γ и δ – некоторые параметры.

Рассматривая правую часть (3) как функцию аргумента h , разложим ее по степеням h:

y1=y0 +( α+ β) h f(x0,y0) + αh2[γ fx(x0, y0) + δ fy(x0, y0)],

и выберем параметры α, β, γ и δ так, чтобы это разложение было близко к (2). Отсюда следует, что

α + β =1, αγ=0,5, α δ =0,5 f(x0,y0).

С помощью этих уравнений выразим β, γ и δ через параметры α, получим

y1=y0 +h[(1 - α) f(x0,y0) + α f(x0+

, y0+
f(x0, y0)], (4)

0 < α ≤ 1.

Теперь, если вместо (x0,y0) в (4) подставить (x1,y1), получим формулу для вычисления y2 приближенного значения искомой функции в точке x2.

В общем случае метод Рунге-Кутта применяется на произвольном разбиении отрезка [x0,X] на n частей, т.е. с переменным шагом

x0, x1, …,xn; hi = xi+1 – xi, xn = X. (5)

Параметры α выбирают равными 1 или 0,5. Запишем окончательно расчетные формулы метода Рунге-Кутта второго порядка с переменным шагом для α =1:

yi+1=yi +hi f(xi +

, yi+
f(xi, yi)), (6.1)

i = 0, 1,…, n-1.

и α =0,5:

yi+1=yi +

[f(xi , yi) + f(xi+ hi, yi+ hi f(xi , yi))], (6.2)

i = 0, 1,…, n-1.

Наиболее употребляемые формулы метода Рунге-Кутта – формулы четвертого порядка точности:

yi+1=yi +

(k1+ 2k2+ 2k3+ k4),

k1=f(xi, yi), k2= f(xi +

, yi+
k1), (7)

k3= f(xi +

, yi+
k2), k4= f(xi +h, yi+hk3).

Для метода Рунге-Кутта применимо правило Рунге для оценки погрешности. Пусть y(x; h) – приближенное значение решения в точке x, полученное по формулам (6.1), (6.2) или (7) с шагом h, а pпорядок точности соответствующей формулы. Тогда погрешность R(h) значения y(x; h) можно оценить, используя приближенное значение y(x; 2h) решения в точке x, полученное с шагом 2h:

(8)

где p=2 для формул (6.1) и (6.2) и p=4 для (7).

Уточненное решение пишем в виде

. (9)

В алгоритмах с автоматическим выбором шага предварительно задают погрешность в виде положительного параметра ε, и на каждом этапе вычисления следующего значения yi+1 подбирают такой шаг h, при котором выполняется неравенство

, (10)

Метод Рунге-Кутта применим и к задаче Коши для системы m дифференциальных уравнений первого порядка с m неизвестными функциями

x
(x0, X),
(11)

y1(x0)=y1,0, y2(x0)=y2,0,…, ym(x0)=ym,0 . (12)

Приведем для задачи (11), (12) расчетные формулы метода Рунге-Кутта четвертого порядка. Пусть требуется найти систему m функций y1(x), y2(x),…, ym(x), удовлетворяющих в интервале (x0, X) дифференциальным уравнениям (11), а в точке x0 – начальным условиям (12). Предположим, что отрезок [x0, X] разбит на N частей:

xi= x0+ i hi,

Тогда каждую l-ю функцию yl(x) можно приближенно вычислять в точках xi+1 по формулам Рунге-Кутта

Kl,1=fl(xi, y1,i, y2,i,…,ym,i), i=1, 2, …, m,

Kl,2=fl(xi +

, y1,i +
K1,1, y2,i +
K2,1,…,ym,i +
Km,1), i=1, 2, …, m,