- •3.1.1 Получение формул численного дифференцирования с помощью рядов Тейлора
- •3.1.2 Получение формул численного дифференцирования с помощью интерполяционного полинома Лагранжа
- •3.1.3 Получение формул численного дифференцирования с помощью интерполяционного полинома Ньютона
- •3.2 Метод неопределенных коэффициентов получения формул численного дифференцирования
- •3.3 Метод рунге оценки погрешности и получения формул численного дифференцирования
- •3.4 О некорректности операции численного дифференцирования
- •3.5 Численное интегрирование: понятие квадратурных формул
- •3.5.1 Формула прямоугольников
- •3.5.2 Формула трапеций
- •3.5.3 Формула Симпсона
- •3.6 Оценка погрешности методом рунге. Автоматический выбор шага интегрирования
- •3.7 Метод неопределенных коэффициентов получения квадратурных формул
- •3.10.2 Формула Гаусса-Лежандра
- •3.10.3 Формула Гаусса-Лагерра
- •3.10.4 Формула Гаусса-Эрмита
- •3.11.1 Вычисление интегралов с бесконечными пределами интегрирования
- •3.11.2 Вычисление интегралов от неограниченных функций
3.2 Метод неопределенных коэффициентов получения формул численного дифференцирования
Другой способ построения формул численного дифференцирования – метод неопределенных коэффициентов.
Суть его заключается в следующем.
Искомое выражение для производной i-ого порядка в некоторой узловой точке x=xk представляется в виде линейной комбинации заданных значений функции в узлах x0, x1, ..., xn :
,
где Сj – некоторые пока не определенные коэффициенты.
Потребуем,
чтобы эта формула была точна для
полиномов возможно больших степеней
n, то есть чтобы при подстановке в нее
полиномов, например, вида
у=1; y=x–xk ; y=(x–xk)2; y=(x–xk)3 ;... ; y=(x–xk)n ,
она обращалась в точное равенство:
.
Этим свойством обладают все формулы численного дифференцирования, в чем легко убедиться, подставляя поочередно полиномы вида у=1; y=x–x1 ; y=(x–x1)2
в формулу численного дифференцирования примера 2.
Полином 3-ей степени y=(x–x1)3 уже не дает точного равенства.
Таким образом, для нахождения коэффициентов Сj (j=0...n) некоторой формулы численного дифференцирования получаем систему из (n+1) линейных алгебраических уравнений.
Следующая задача – определение погрешности формулы численного дифференцирования R.
Это можно сделать, например, разложением в ряд Тейлора значений функции y(x) в точке x=xi , но предлагаемый способ позволяет найти погрешность, продолжая процесс подстановки полиномов.
Основная идея заключается в том, что для степеней полиномов больших, чем n, формула численного дифференцирования возможно1 будет уже неточной, то есть
.
Поэтому,
найдя коэффициенты Сj,
продолжаем подставлять полиномы
более высоких степеней y=(x–xk)m,
где m>n, и определять R. Первое,
отличное от нуля, значение R и будет
погрешностью формулы численного
дифференцирования, правда, пока для
конкретного полинома степени m, то
есть
.
Пересчет на погрешность для произвольной функции y проводится по формуле
.
Пример 3. Найти выражение для производной в случае трех равноотстоящих узлов:
C0y0+ C1y1+ C2y2 .
Используем следующие многочлены: у=1; y=x–x0 ; y=(x–x0)2:
при у=1 0= C01+ C11+ C21;
при y=x–x0 1= C0(x0–x0) + C1(x1–x0)+ C2(x2–x0) ;
при y=(x–x0)2 0= C0(x0–x0)2 + C1(x1–x0)2+ C2(x2–x0)2.
Заменяя разности в скобках их выражениями через шаг таблицы, получаем систему уравнений:
Решение
имеет вид:
С0=
–3/(2h); C1 =4/(2h);
C2= –1/(2h).
Следовательно,
Найдем погрешность этой формулы.
При
y=(x–x0)3
.
Тогда
,
а Ry=2h2y(2)()/6
= h2 y(2)()/3.
3.3 Метод рунге оценки погрешности и получения формул численного дифференцирования
Как видно из вышеизложенного, порядок точности аппроксимации производных прямо пропорционален числу табличных узлов, используемых при аппроксимации. Следовательно, увеличить точность можно только за счет увеличения числа узлов.
Метод Рунге позволяет уточнять найденное значение для производной, а также, отталкиваясь от некоторой исходной формулы численного дифференцирования, получать формулу, порядок которой на единицу выше.
Введем некоторые условные обозначения.
Пусть F(x) – производная, подлежащая аппроксимации, а f(x,h) – некоторая конечно-разностная аппроксимация p-ого порядка этой производной на равномерной сетке с шагом h, то есть F(x)=f(x,h)+R, где R=hp(x)+o(hp+1).
Здесь
=hp(x)
называется главным членом погрешности.
Запишем это же соотношение в той же точке х при другом шаге h1=kh , где k – некоторая целая константа:
F(x)=f(x,kh)+(kh)p(x)+o((kh)p+1).
Приравнивая, получаем выражение для оценки главного члена погрешности (первая формула Рунге):
(3.4)
Подставляя ее в предыдущую формулу, получаем вторую формулу Рунге :
F(x)=f(x,h)+
(3.5)
Эта формула позволяет по результатам двух расчетов значений производной f(x,h) и f(x,kh) с порядком аппроксимации p найти ее уточненное значение с порядком p+1.
Пример 4. Пусть функция y=lg(x) задана таблицей (см. с. 72). Найдем y(3). Для контроля: значение, полученное взятием производной, y(3) 0,145. Для аппроксимации первой производной используем формулу центральных разностей (p=2; h=1):
x |
y=lg(x) |
1 |
0 |
2 |
0,301 |
3 |
0,478 |
4 |
0,602 |
5 |
0,699 |
Оба
полученных значения заметно отличаются
от контрольного.
Используем для уточнения вторую формулу Рунге:
.
Это значение всего на 2% отличается от контрольного.
Пример 5. Получим формулу второго порядка аппроксимации из формулы первого порядка.
– две формулы первого порядка, отличающиеся
шагом (к=2). Уточняем по методу Рунге:
.
