Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МЕТОДИЧКА_числен_мет.DOC
Скачиваний:
47
Добавлен:
11.11.2019
Размер:
1.97 Mб
Скачать

Интеграл в правой части (8.4) вычисляется с помощью численной квадратуры

yi(k)y0 = h Aj(i) f(xj, yj(k-1)) . (8.5)

Коэффициенты Aj(i) системы (8.5) находятся из решения системы линейных алгебраических уравнений:

= Aj(i) jk-1; k=1,…n+1;i=1,…n . (8.6)

Система (8.6) получена из условия, что формула (8.5) точна для всех функций вида x, x2, x3,…, xn+1 в точках xi = ih, i=0,…,n.

Пусть n=2, дано три точки (x0,x1,x2). Тогда матрица коэффициентов Aj(i) равна

A= .

Для m=4 , пять точек (x0, x1, x2, x3, x4).

A= .

Численная реализация может быть выполнена следующим образом .

Шаг 1. Исходный интервал делим на 4 части, т. е. задаем m = 4. Определяем сетку xi=a+ih0, i=0,1,…,4, где h0 = (a+b)/4 - шаг исходной сетки. Вычисляем по формулам (8.5) yi(n), i=1,…,4 , пока не выполнится условие max <, по всем i, где - заданная точность.

Шаг 2. Делим интервал на 8 частей, т. е. уменьшаем шаг вдвое и находим yi на сетках:

=a+ih1, i=1,…,4; h1=h0/2;

=(b+a)/2+ih1, i=1,…,4.

Затем проверяем условие max < в узлах первой сетки (с шагом h0). Если оно выполняется, то вычисления заканчиваем. Если не выполняется, то исходный интервал уменьшаем вдвое, т. е. a1=a; b1=(a+b)/2, и переходим на шаг 1, где a=a1; b=b1.

8.2. Метод Эйлера

Для решения задачи Коши (8.1) составляют таблицу значений yk=y(xk), где xk=x0+kh ( k=0,1,…,n), h=(b-a)/n, y(x0)=y0 , x0=a, [a,b] отрезок, на котором ищется решение. Значение yk+1 определяется по формуле

yk+1=yk + h f(xk,yk), k=0,1,…,n -1, y(x0)=y0 . (8.7)

Погрешность вычислений на каждом шаге составляет

Rk=0.5h2 () , где xk xk+1.

Модифицированный метод Эйлера с уточнением состоит в следующем: сначала вычисляют

y(0)k+1 = yk + h f(xk,yk), k=0,1,…n -1,

а затем это значение уточняют по формуле

y(i)k+1=yk+ [f(xk,yk)+f(xk+1,y(i-1)k+1)], где i=0,1,2,… - номер итерации. (8.8)

Итерации продолжаются до тех пор, пока в пределах требуемой точности два последовательных приближений не совпадут.

8.3. Методы Рунге-Кутта

Для решения задачи Коши (8.1) семейство методов Рунге-Кутта описывается следующим выражением:

y(x+h)=y(x)+ , (8.9)

где h – шаг сетки; число q называется порядком точности метода (8.9).

k1=h f(x, y),

k2=h f(x+2 h, y+21k1),

ki=h f(x+I h, y+i1k1+i2k2+…+ii-1ki-1); i=1,…,q .

Здесь pi, i , ik – коэффициенты.

При q = 1 имеем метод первого порядка точности:

yi+1=yi+k1,

k1=h f(xi, yi),

y0=y(x0) .

Метод второго порядка точности (при q = 2) имеет вид:

yi+1=yi + (k1+ k2),

k1=h f(xi, yi),

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

y0=y(x0) .

Наиболее распространен на практике метод четвертого порядка точности (при q=4):

yi+1=yi+ (k1+2(k2+k3)+k4),

где k1=h f(xi, yi),

k2= h f(xi+h/2, yi+ k1 /2),

k3= h f(xi+h/2, yi+ k2 /2),

k4= h f(xi+ h , yi+ k3) .

Для нахождения решения с заданной точностью , численная реализация методов Рунге-Кутта выполняется следующим образом: задается сетка xi=a+ih0, i =1,…,n; h0=(b-a)/n, далее на каждом I -м шаге в точке x=xi вычисляют два значения yi(1) и yi(2):

yi(1)=yi-1+ pj(h0)kj(h0,xi-1,yi-1),

=yi-1+ pj(h1)kj(h1,xi-1,yi-1),

yi(2)= + pj(h1)kj(h1,xi-1, ), где h1=h0 /2 .

Если выполнено условие  yi(1)- yi(2) < , где - заданная точность, то следующее yi+1 вычисляется c тем же шагом h0. В противном случае полагают h0=h1, h1=h0 /2.