- •В.В.Бурляев численные методы в примерах на excel
- •1. Решение нелинейного уравнения с одним неизвестным.
- •1.1 Отделение корней.
- •1.2 Уточнение корней: метод итераций.
- •1.3 Уточнение корней: метод Ньютона.
- •1.4. Уточнение корней: метод бисекции ( деления отрезка пополам ).
- •1.5 Уточнение коней: подпрограмма excel “Подбор параметра”.
- •2. Системы линейных алгебраических уравнений.
- •2.1. Матричный метод.
- •2.2. Метод приближенных вычислений.
- •2.3. Метод Гаусса – Зайделя.
- •3. Решение систем нелинейных уравнений.
- •3.1. Выбор начальных приближений.
- •3.2 Метод Ньютона.
- •3.3. Метод итераций.
- •4. Численные методы одномерной оптимизации.
- •4.1. Метод дихотомии.
- •4.2. Метод золотого сечения.
- •4.3. Встроенная подпрограмма excel “Поиск решения”.
- •5. Многомерные задачи оптимизации.
- •5.1. Безусловная оптимизация: метод покоординатного спуска.
- •5.2. Безусловная оптимизация: метод наискорейшего спуска.
- •5.3. Безусловная оптимизация: подпрограмма excel “Поиск решения”.
- •5.4. Условная оптимизация: метод штрафных функций.
- •5.5. Условная оптимизация: подпрограмма excel “Поиск решения”.
- •5.6. Условная оптимизация: линейное программирование.
- •6. Метод наименьших квадратов.
- •7. Вычисление определенных интегралов.
- •8. Численное решение обыкновенного дифференциального уравнения
- •8.1. Метод Эйлера.
- •8.2. Метод Рунге-Кутта четвертого порядка.
- •8.3. Метод прогноза и коррекции: метод Адамса.
- •9. Решение систем обыкновенных дифференциальных уравнений.
- •9.1. Задача Коши.
- •9.2. Краевая задача: метод стрельбы.
- •9.3. Краевая задача: метод прогонки.
- •10. Численное решение уравнений с частными производными
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.
-
ячейка
формула
С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 для точек Х1,Х2 и Х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
Формулы в остальных ячейках, участвующих в вычислениях, получаются копированием. Результаты вычислений приведены в таблице