![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Практическая оценка погрешности. Метод Рунге-Ромберга
Рассмотрим метод Рунге для повышения порядка точности формул для вычисления производных на примере формулы (5.11):
Предполагая, что функция
Вычислим по формуле (5.44) вторую производную в той же точке xi, но используя сетку с шагом 2 h:
Погрешность формулы (5.46) имеет вид:
Вычитая (5.45) из (5.47), получим
Отсюда для погрешности получим первую формулу Рунге:
Теперь вторую производную в точке xi можно вычислить по уточненной формуле (второй формуле Рунге):
Пример 5.6. Вычислить производную второго порядка функции Решение. Воспользуемся приближенными значениями второй производной, найденными с помощью разностных формул в примере 5.2:
Очевидно, что полученное значение более точно приближает вторую производную, чем разностная формула с шагом 0, 1 или 0, 2. Пример 5.7. Вычислить производную функции y = sin π x в точке x = 0, 574 с точностью 0, 01. Решение. Создадим в программе Excel макрос — функцию для вычисления производной функции f (x) в произвольной точке x с заданной точностью ε при помощи формулы (5.34):
Для оценки погрешности будем использовать правило Рунге. Шаг h будет подбираться автоматически так, чтобы выполнялось условие
Значение производной будем вычислять по уточненной формуле
Выберем меню «Сервис — Макрос — Редактор Visual Basic», в открывшемся окне выполним команду «Insert — Module», и введем описания функций:
Function f(ByVal x) f = Sin(3.1415926 * x) End Function Function f_deriv(ByVal x, ByVal eps) h = 0.1 errd = 1 h2 = h * 2 d = (f(x + h) - f(x - h)) / h2 While Abs(errd) > eps h2 = h h = h / 2 d2 = d d = (f(x + h) - f(x - h)) / h2 errd = (d - d2) / 3 Wend f_deriv = d + errd End Function
В таблице 5.10 приведены результаты расчетов. Поясним заполнение таблицы. В ячейках B 2, C 2, D 2 и E 2 соответственно введем формулы, как показано в табл. 5.9.
Таблица 5.9
Выделим диапазон A 2: E 2 и маркером заполнения протягиваем эти ячейки до строки 12. Заполняем столбец A 2: A 12, как в табл. 5.10. Таблица 5.10
Замечание. Погрешность в столбце E получилась намного меньше, чем 0, 01 из-за того, что вместо формулы (5.44) использовали уточненную формулу (5.46).
|