Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
511722_F4A3E_burlyaev_v_v_chislennye_metody_v_p...doc
Скачиваний:
141
Добавлен:
09.11.2019
Размер:
10.13 Mб
Скачать

8.2. Метод Рунге-Кутта четвертого порядка.

По этому одношаговому методу вычисления проводятся по формуле

Yi+1 = Yi +hФ(Xi,Yi), где

Ф(Xi,Yi) = (K1+2K2+2K3+K4)/6

и К1 = f(Xi,Yi),

K2=f(Xi+h/2,Yi+hК1/2),

K3=f(Xi+h/2,Yi+hК2/2),

K4=f(Xi+h,Yi+hК3).

Метод Рунге-Кутта имеет порядок точности h4 на всем отрезке интегрирования. Оценка погрешности метода очень затруднительна. Для оценки погрешности применяется правило двойного пересчета: расчет повторяют с шагом h/2 и погрешность более точного значения Yi* при шаге h/2 оценивают так

max {Yi * - Yiдля i=1,2,...,n .

Пример 8.2.

Решим задачу примера 8.1 методом Рунге-Кутта на том же рабочем листе. Отведем блок ячеек А17:А22 под значения Х с шагом 0,1. Соответственно, в столбце В будем вычислять Y , в столбцах С,D,E,F - значения коэффициентов К1, K2, K3 и K4. Столбец G отведем под Ф(Xi,Yi). Основные формулы в строках 17 и 18 приведены в таблице.

ячейка

формула

С17

=0,25*B17^2+A17^2

D17

=0,25*(B17+0,05*C17)^2+(A17+0,05)^2

E17

=0,25*(B17+0,05*D17)^2+(A17+0,05)^2

F17

=0,25*(B17+0,1*E17)^2+(A17+0,1)^2

G17

=C17+2*D17+2*E17+F17

B18

=B17+0,1*G17/6

Содержимое остальных ячеек в строках с 18 по 22 получается копированием из строк 17 и 18.Результаты решения приведены ниже. Для оценки погрешности следует провести те же вычисления с шагом, равным 0,05.

8.3. Метод прогноза и коррекции: метод Адамса.

В методах прогноза и коррекции каждое новое значение Yi определяют в два этапа. На первом определяют приближенное значение, которое называют прогнозом. Затем на втором этапе его уточняют с помощью итерационного процесса коррекции. Этот итерационный процесс продолжают до тех пор, пока не будет достигнута заданная точность решения. Таким образом, одно из достоинств метода прогноза и коррекции состоит в том, что одновременно с решением контролируется оценка погрешности.

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

Пусть для уравнения

dY/dX = Y’ = f(X,Y),

с начальным условием Y(X0) = Y0 найдены каким-либо способом (методом Эйлера, Рунге-Кутта и т.п.) три последовательных значения искомой функции, так называемый начальный отрезок: Y1, Y2 и Y3 для точек Х12 и Х3, вычисленных с шагом h. Имея эти значения можно вычислить значения функции f1=f(Х1,Y1),f2=f(Х2,Y2), f3=f(Х3,Y3) и f0 =f(X0,Y0).

Метод Адамса состоит в вычислении Y4 сначала по формуле прогноза

Y4pred = Y3+hФpred/24 = Y3+h(55f3-59f2+37f1-9f0)/24

а затем уточнения этого значения, вычислив f4pred=f(Х4,Y4pred) и применив формулу коррекции

Y4kor= Y3+hФkor/24 =Y3+h(9f4pred+19f3-5f2+ f1)/24.

Эти формулы имеют достаточно большую точность и дают погрешность порядка h4. Обычно вычисляют D=Y4kor - Y4pred и если D<E, то переходят к вычислению следующей точки по тем же самым формулам, вводя переобозначения. Если же D>E, то проводят одну или несколько итераций по формуле коррекции, вычисляя f4pred=f(Х4,Y4pred) и подставляя в эту формулу Y4kor вместо Y4pred. Как правило, для достижения заданной точности хватает одной или двух итераций.

Пример 8.3.

Решим методом Адамса задачу примера 8.1. Из примера 8.2 возьмем вычисленные значения Y1, Y2 и Y3. Продолжим вычисления по формулам Адамса для Х4 и Х5 на том же рабочем листе. Отведем блок А26:А31 под значения Х с шагом 0,1. В блок В26:В29 занесем значения Y из примера 9.2. В столбце С будем вычислять значения функции f на каждом шаге. В остальных столбцах будем последовательно располагать значения Фpred, Y4pred, f4pred, Фkor, Y4kor, D. Необходимые для вычислений формулы приведены в таблице

ячейка

формула

C26

=0,25*B26^2+A26^2

D29

=55*C29-59*C28+37*C27-9*C26

E29

=B29+0,1/24*D29

F29

=0,25*E29^2+A30^2

G29

=9*F29+19*C29-5*C28+C27

H29

=B29+0,1/24*G29

I29

=ABS(E29-H29)

B30

=H29

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

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