Численное дифференцирование — совокупность методов приближённого вычисления значения производной некоторой функции, заданной таблично или имеющей сложное аналитическое выражение.
Конечные разности[править | править код]
Производная функции в точке определяется с помощью предела:
В числителе дроби под знаком предела стоит конечная разность функции , в знаменателе — шаг этой разности. Поэтому простейшим методом аппроксимации производной является использование конечных разностей функции с некоторым достаточно малым шагом . Например, выражение
приближает производную функции в точке с точностью до величины, пропорциональной . Использование выражения
позволяет сократить ошибку приближения до величины, пропорциональной .
Конечными разностями можно также приближать производные высших порядков.
Интерполяция[править | править код]
Если известны значения функции в некоторых узлах , то можно построить интерполяционный полином (например, в форме Лагранжа или в форме Ньютона) и приближенно положить
Такие выражения называются формулами численного дифференцирования.
Иногда наряду с приближенным равенством удаётся (например, используя формулу Тейлора) получить точное равенство, содержащее остаточный член , называемый погрешностью численного дифференцирования:
Такие выражения называются формулами численного дифференцирования с остаточными членами. Степень, с которой величина входит в остаточный член, называется порядком погрешности формулы численного дифференцирования.
Далее приводятся несколько формул численного дифференцирования с остаточными членами для первой и второй производных для равноотстоящих узлов с постоянным шагом , полученных с использованием формулы Лагранжа:
- (два узла):
- (три узла):
- (три узла):
- (четыре узла):
Здесь , , а — некоторая промежуточная точка между наибольшим и наименьшим из узлов.
В общем случае коэффициенты формул численного дифференцирования можно вычислить для произвольной сетки узлов и любого порядка производной.
Неустранимая погрешность[править | править код]
В формулах численного дифференцирования с постоянным шагом значения функции делятся на , где — порядок вычисляемой производной. Поэтому при малом неустранимые погрешности в значениях функции оказывают сильное влияние на результат численного дифференцирования. Таким образом, возникает задача выбора оптимального шага , так как погрешность собственно метода стремится к нулю при , а неустранимая погрешность растет. В результате общая погрешность, которая возникает при численном дифференцировании, может неограниченно возрастать при . Поэтому задача численного дифференцирования считается некорректно поставленной.
Комплексные числа[править | править код]
Классические приближения конечными разностями содержат неустранимую погрешность и являются плохо обусловленными. Однако, если функция является голоморфной, принимает вещественные значения на вещественной прямой и может быть оценена в любой окрестности любой вещественной точки комплексной плоскости, то её производная может быть вычислена устойчивыми методами. Например, первую производную можно сосчитать по формуле с комплексным шагом[1]:
где — мнимая единица. Эту формулу можно получить из следующего разложения в ряд Тейлора:
В общем случае производные произвольного порядка можно вычислить с помощью интегральной формулы Коши:
Интеграл можно вычислять приближённо.
Литература[править | править код]
- Бахвалов Н. С., Жидков Н. П., Кобельков Г. М. Численные методы. — 3-е изд., доп. и перераб. — М.: БИНОМ. Лаборатория знаний, 2004. — 636 с., илл. — ISBN 5-94774-175-X.
- Березин, И. С., Жидков Н. П. Методы вычислений. Том I. — 2-е изд., стереотипное – М.: Физматгиз. 1962.
- Мысовских И.П. Лекции по методам вычислений. – М.: Наука. 1982. – 342 с.
Примечания[править | править код]
- ↑ Complex Step Differentiation
См. также[править | править код]
- Разделенная разность
- Численное интегрирование
Производная функции есть предел отношения приращения функции к приращению
независимой переменной при стремлении к нулю приращения независимой переменной
.
При численном нахождении производной заменим отношение
бесконечно малых приращений функций и аргумента отношением
конечных разностей. Очевидно, что чем меньше будет приращение аргумента, тем
точнее численное значение производной.
Первая производная. Двухточечные методы.
Для двухточечных методов при
вычислении производных используется значение функции в двух точках. Приращение
аргумента задается тремя способами, откладывая Δx = h
вправо, влево и в обе стороны от исследуемой точки. Соответственно получается
три двухточечных метода численного дифференцирования:
Суть указанных методов проиллюстрирована на рисунке.
Численное значение тангенса угла α образованного касательной к
графику y(x) и осью абсцисс, показывает точное значение
производной(геометрический смысл производной). Тангенсы углов α1,
α2, α3 соответствуют приближенным значениям
производных, определенных методами 1,2,3 соответственно (подумайте почему?).
Пример. Вычислить точное и приближенное (тремя методами) значения производной
функции y=x*x в точке x=1 с шагом h=1 и h=0.001.
Этапы решения задачи приведены в таблице.
Таблица
Этап программирования |
Выполнение |
1. Постановка задачи |
Вычислить точное и приближенное (тремя методами) значения |
2. Математическое описание |
Аналитическое решение: y’=2x Численное решение для шага: h=1 , для шага h=0.001 |
3. Разработка структограммы |
Выполнить самостоятельно |
4. Написание программы |
Выполнить самостоятельно |
5. Отладка и получени результатов |
Выполнить самостоятельно |
Вычисление первых производных по трёхточечным схемам.
Расчетные формулы для указанной трехточечной схемы имеют вид:
Вычисление производных второго порядка.
Вторая производная вычисляется как первая производная от первой производной. Для следующей пятиточечной схемы
расчетная формула имеет вид:
Пример. Написать
программу для нахождения второй производной функции y = 2 * x4
в точке x=1 с
шагом h=0.01, сравнить с точным значением.
Таблица
Технологическая операция |
Выполнение |
||||
1. Постановка задачи |
Написать программу для нахождения второй производной |
||||
2. Математическое описание |
Аналитическое значение . Приближенное значение |
||||
3. Разработка структограммы |
|
||||
4. Написание программы |
Program P7; Var x,ddy,h:real; Function y(x:real):real; begin y:=2*sqr(sqr(x)); end; begin x:=1;h:=0.01; ddy:=(y(x+h)-2*y(x)+y(x-h))/h/h; writeln(ddy); end. |
||||
5. Отладка и получение результатов |
Выполнить сомостоятельно. |
Вычисление производных третьего порядка.
Производные третьего порядка вычисляются как первая производная от производной второго порядка. Для рассмотренной пятиточечной схемы расчетная формула имеет вид
Контрольное задание. Лабораторная работа 2.
Численное дифференцирование
- Вычислить значение производной в
произвольной точке x=x0 аналитически и численно тремя методами для пяти
значений приращения аргумента Δx=1;
0.2; 0.1; 0.01; 0.001. Результаты расчета вывести на экран и распечатать в виде таблицы
Таблица вывода результатов расчета
Δx |
y(x) | y'(x) |
|
||
1 |
|||||
0.2 |
|||||
0.1 |
|||||
0.01 |
|||||
0.001 |
- Построить графики
функций y'(x0) = F(Δx). Варианты функций приведены в таблице.
Таблица
Варианты функций
Вар. |
Вид функции |
Вар. |
Вид функции |
1 |
x(t)=Ae-at |
14 |
y=ctgm |
2 |
x(t)=Aeat |
15 |
y(x)=(eax-e-ax)n |
3 |
16 |
x(t)=tat |
|
4 |
уυ(t)=cos2(at+b) |
17 |
y(x)=(ax)sin(bx) |
5 |
yυ(t)=sin2(at+b) |
18 |
|
6 |
19 |
||
7 |
q(t)=(a-btn)n |
20 |
|
8 |
y(x)=xncos(ax) |
21 |
R(φ)=arccosm(a+bφn) |
9 |
22 |
r(φ)=csin(aφ+b) |
|
10 |
23 |
y(x)=ln(tgn(ax+b)) |
|
11 |
24 |
vυ(t)=loga(tn+bm)k |
|
12 |
S(φ)=Вcоsn(aφ+b) |
25 |
S(φ)=Asinn(aφ+b) |
13 |
y=tgax( |
26 |
X(t)=lg(atn+b) |
Примечание. Значение параметров a, b, c, d, m, n, A, B выбрать самостоятельно.
Содержание отчета:
- Название, цель работы и задание.
- Математическое описание, алгоритм (структограмма) и текст программы.
- Таблица результатов расчета, четыре графика зависимости y'(x0) = F(Δx) для трехчисленных методов и точного значения интеграла, выводы по работе.
Далее…
Простейшие
формулы численного дифференцирования
основаны на определении производной
функции (рассматривается случай функции,
зависящей от одной переменной)
. (5.1)
Заменяя
предельный переход конечной разностью,
получаем простейшие приближенные
формулы вычисления первой производной
(5.2)
и
.(5.3)
Здесь
принимают фиксированные значения
и
,
соответственно, где
представляет собой некоторый малый
параметр. Приближенную производную,
определяемую формулой (5.2), называют
правой разностной производной, а
определяемую (5.3) – левой.
Геометрическая
интерпретация приведенных соотношений
достаточно проста. Если существует
некоторая функция
,
то производная этой функции
представляет собой тангенс угла наклона
касательной в точке
.
Приближенное равенство (5.2) заменяет
касательную на секущую графика функции,
проходящую через точки
и
,
а равенство (5.3) – на секущую, проходящую
через
и
.
Так же из геометрических соображений
ясно, что можно провести секущую графика
функции и через точки
и
.
В этом случае получаем, так называемую,
центральную разностную формулу вычисления
производной
. (5.4)
Вопрос
о том, какую из формул (5.2), (5.3) или (5.4)
выбрать для вычислений, определяется
требуемой точностью вычисления
производной.
Для
получения формул численного
дифференцирования высших порядков
используются интерполяционные многочлены
или метод неопределенных коэффициентов.
Наиболее универсальным является метод
неопределенных коэффициентов.
Аппроксимируем исследуемую функцию
многочленом
-ой
степени
.(5.5)
В
методе неопределенных коэффициентов
принимается, что
-я
производная функции
в точке
может быть приближенно выражена через
значения самой функции в известных
точках
,…,
. (5.6)
Значения
коэффициентов
выбираются таким образом, чтобы формула
(5.6) была точна для многочленов максимально
высокой степени. Подставляя выражение
(5.5) в (5.6), получаем тождество (при
)
.(5.7)
Учтем,
что
,(5.8)
тогда
для того, чтобы равенство (5.8) выполнялось
необходимо и достаточно равенство
коэффициентов при
в правой и левой частях равенства. Исходя
из этого условия, получаем линейную
систему уравнений
(5.9)
относительно
неизвестных
при
.
Если
,
то число уравнений равно числу неизвестных,
а определитель системы является
определителем Вронского, поэтому отличен
от нуля. Следовательно, всегда можно
построить формулу численного
дифференцирования по
точкам, точную для многочленов
-ой
степени.
Для
проверки выражения (5.9) построим формулу
численного дифференцирования по трем
точкам
(5.10)
точную
для многочленов второй степени (
следовательно
).
Система уравнений (5.9) будет иметь вид
()
(5.11)
Решая
эту систему, получаем
,
.
Следовательно, формула (5.21) будет иметь
вид
, (5.12)
что
полностью совпадает с формулой (5.4)
Построим
формулу вычисления второй производной,
используя те же узлы
. (5.13)
Из
условий точности формулы для
,
и
получаем систему уравнений
(5.14)
Откуда
получаем
,
.
Следовательно
, (5.15)
В
качестве примера рассмотрим вычисление
производной функции
на отрезке [-5,5]. Функция
вычисляется на заданном отрезке с шагом
0,1, затем, используя правую разностную
производную, вычисляется ее производная
по точкам и сравнивается на графике с
аналитическим значением
.
Онлайн-сервисы
Алгоритмы JavaScript
Введение в анализ
Теория множеств
Математическая логика
Алгебра высказываний
Булевы функции
Теория формального
Логика предикатов
Неформальные и формаль-
ные аксиоматические теории
Теория алгоритмов
Математическая логика и компьютеры
Дискретная математика
Множества и отношения
Группы и кольца
Полукольца и булевы алгебры
Алгебраические системы
Теория графов
Булева алгебра и функции
Конечные автоматы и регулярные языки
Контекстно-свободные языки
Интегральное исчисление
Неопределённый и определённый
Приложения интегралов
Интегралы в физике
Основные интегралы
Вариационное исчисление
Финансовый анализ
Анализ эффективности
Анализ устойчивости
Рыночная активность
Инвестиционная деятельность
Анализ инвестиций
Стоимость компании
Форвардные контракты
Теория вероятностей
Математическая статистика
Теория очередей (СМО)
Аналитическая геометрия
Векторная алгебра
Системы координат
Геометрия на плоскости
Линии 2-го порядка
Инварианты линий
Геометрия в пространстве
Поверхности 2-го порядка
Инварианты поверхностей
Линейная алгебра
Матрицы и операции
Определители
Ранг матрицы
Обратная матрица
Системы уравнений
Функциональные матрицы
Многочленные матрицы
Функции от матриц
Линейные пространства
Подпространства
Линейные отображения
Линейные операторы
Евклидовы пространства
Комплексный анализ
Комплексные числа
Комплексные функции
Функциональные ряды в комплексной области
Особые точки, Вычеты
Операционное исчисление
Дифференциальные уравнения
ДУ первого порядка
ДУ высших порядков
Системы ДУ
Теория устойчивости
Численные методы
Методы алгебры
Методы теории приближений
Методы решения обыкновенных ДУ
Методы решения ДУ в частных производных
Методы численного дифференцирования
Формулы на основе разложения функций по формуле Тейлора
Рассмотрим решение задач 1 и 2 численного дифференцирования на различных шаблонах.
А. Двухточечный шаблон. Выберем шаблон [math]H_{2,i}= (x_i,x_{i+1})[/math] на неравномерной сетке [math]Omega_n[/math]. Предполагая, что [math]f(x)in C_2[a,b][/math], разложим функцию [math]f(x)[/math] по формуле Тейлора (В.20) при [math]k=1[/math] относительно точки [math]x_i[/math] с остаточным слагаемым в форме Лагранжа и найдем выражение для [math]f_{i+1}= f(x_{i+1})colon[/math]
[math]f_{i+1}= f_i+ h_{i+1}f’_i+ frac{h_{i+1}^2}{2}f”(xi),qquad scriptstyle{mathsf{(5.3)}}[/math]
где [math]xiin(x_i,x_{i+1}),~ h_i=x_{i+1}-x_i[/math]. Отсюда получаем [math]f’_i= frac{f_{i+1}-f_i}{h_{i+1}}-frac{h_{i+1}}{2}f”(xi)[/math]. Очевидно, справедлива оценка
[math]left|-frac{h_{i+1}}{2}f”(xi)right|leqslant frac{h_{i+1}}{2} max_{xin [x_i,x_{i+1}]} bigl|f”(x)bigr|= frac{h_{i+1}cdot M_{2,i}}{2},,[/math]
где [math]M_{2,i}= max_{xin [x_i,x_{i+1}]} bigl|f”(x)bigr|[/math]. Отсюда следует функциональная формула (функциональный оператор) для первой производной:
[math]widehat{f},’_{i,c}= frac{f_{i+1}-f_i}{h_{i+1}}qquad left(frac{h_{i+1}}{2} M_{2,i}right)!.[/math]
(5.4)
В скобках справа от аппроксимационных операторов здесь и далее указываются правые части оценок их погрешностей. Отметим, что формула (5.4) является несимметричной, односторонней (левосторонней). Если функцию [math]f(x)[/math] разложить по формуле Тейлора относительно точки [math]x_{i+1}[/math], то получим правостороннюю формулу
[math]widehat{f},’_{i+1,c}= frac{f_{i+1}-f_i}{h}qquad left(frac{h}{2} M_{2,i}right)!.[/math]
Б. Трехточечный шаблон. На неравномерной сетке [math]Omega_n[/math] выбираем трехточечный (двухшаговый) шаблон [math]H_{3,i}= (x_{i-1}, x_i,x_{i+1})[/math], характеризующийся шагами [math]h_{i+1}= x_{i+1}-x_i,~ h_i=x_i-x_{i-1}[/math] и параметром его нерегулярности [math]delta_{i+1}= h_{i+1}!!not{phantom{|}},h_i[/math] который в общем случае не равен единице.
Аппроксимационные функциональные (точечные) формулы второго порядка в левой крайней, центральной и правой крайней точках шаблона можно получить на основе разложения функции [math]f(x)[/math] по формуле Тейлора с остаточным слагаемым в форме Лагранжа. При этом предполагается, что [math]f(x)in C_3[a,b][/math]. Это позволяет получить разностные дифференциальные операторы [math]widehat{f},'(x_t)~ (t=i-1,i,i+1)[/math] и провести оценки их погрешностей.
Разложим функцию [math]f(x)[/math] при [math]x=x_i[/math] и [math]x=x_{i+1}[/math] по формуле Тейлора при [math]k=2[/math] относительно точки [math]x_{i-1}[/math]с остаточным слагаемым в форме Лагранжа. В результате находим соотношения, определяющие [math]f_i= f(x_i)[/math] и [math]f_{i+1}= f(x_{i+1})colon[/math]
[math]f_i= f_{i-1}+ h_icdot f’_{i-1}+ frac{h_i^2}{2}f”_{i-1}+ frac{h_i^3}{6}f”'(xi_{-}),[/math]
(5.5)
[math]f_{i+1}= f_{i-1}+ H_{i}^{i+1}cdot f’_{i-1}+ frac{(H_{i}^{i+1})^2}{2}f”_{i-1}+ frac{(H_{i}^{i+1})^3}{6}f”'(xi_{+}),[/math]
(5.6)
где [math]H_{i}^{i+1}= h_i+h_{i+1},~~ xi_{-}=(x_{i-1},x_i),~~ xi_{+}= (x_{i-1}, x_{i+1}),~~ f_{i-1}^{(p)}(x_{i-1})= f^{(p)}(x_{i-1}),~ p=0,1,2[/math].
Исключая из (5.5), (5.6) слагаемое, содержащее вторую производную, и выражая из полученного соотношения [math]f’_{i-1}[/math], получаем следующую аппроксимацию первой производной в левой крайней точке (левостороннюю формулу или оператор)
[math]widehat{f},’_{i-1,mathsf{v}}= frac{1}{H_{i}^{i+1}}! left(-(2+delta_{i+1}) f_{i-1}+ frac{(1+delta_{i+1})^2}{delta_{i+1}}f_i-delta_{i+1}^{-1}f_{i+1}right)!.[/math]
(5.7)
При [math]h=text{const}~ (delta_{i+1}=1)[/math] формула (5.7) упрощается и приводится к известному виду:
[math]widehat{f},’_{i-1,mathsf{c}}= frac{1}{2h}bigl(-3f_{i-1}+ 4f_i-f_{i+1}bigr)quad left(frac{h^2}{3}M_{3,i}right)!.[/math]
(5.8)
Данную формулу можно записать через конечные разности: [math]widehat{f},’_{i-1, mathsf{c}}= frac{1}{2h}bigl(3 Delta f_{i-1}-Delta f_ibigr)[/math]. Здесь нижние индексы [math]mathsf{v}[/math] и [math]mathsf{c}[/math], относящиеся к аппроксимационным операторам (5.7) и (5.8), указывают на тип шаблона — нерегулярный [math](h_{i+1}= text{var})[/math] и регулярный [math](h_{i+1}= text{const})[/math]). Остаточное слагаемое для (5.7) получается равным [math]tfrac{1}{6}h_i^2(1+delta_{i+1})f”'(xi),[/math] [math]xiin (x_{i-1}, x_{i+1})[/math] и поэтому для этой аппроксимации справедлива следующая оценка погрешности:
[math]bigl|f’_{i-1}-widehat{f}_{i-1, mathsf{v}}bigr| leqslant frac{1}{6} h_i^2 (1+ delta_{i+1})M_{3,i}[/math], где [math]M_{3,i}= max_{xin H_{3,i}} f”'(x)[/math].
Приводимые здесь и ниже остаточные слагаемые для дифференциальных операторов также получаются путем дифференцирования остаточных слагаемых [math]R(x)[/math] интерполяционных многочленов соответствующей степени. Из (4.20) для трехточечных формул при [math]n=2[/math] следует соотношение
[math]R(x)= frac{}{}f”'(xi)cdot omega(x),qquad omega(x)= (x-x_{i-1})(x-x_i)(x-x_{i+1}).[/math]
Аналогично, разложив функцию [math]f(x)[/math] относительно точки [math]x_{i+1}[/math] и получив соотношения для [math]f_{i-1},,f_i[/math], найдем [math]widehat{f}_{i+1}[/math] — разностный оператор, аппроксимирующий первую производную [math]f’_{i+1}[/math] в правой крайней точке (правосторонняя формула):
[math]begin{gathered}widehat{f}_{i+1, mathsf{v}}= frac{1}{H_i^{i+1}}! left(delta_{i+1}f_{i-1}-frac{(1+delta_{i+1})^2}{delta_{i+1}} f_i+ frac{2+delta_{i+ 1}}{delta_{i+1}}f_{i+1}right)!,\[2pt] widehat{f}_{i+1, mathsf{c}}= frac{1}{2h}bigl(f_{i-1}-4f_i+3f_{i+1}bigr)quad text{or}quad widehat{f}_{i+1, mathsf{v}}= frac{1}{2h}bigl(3 Delta f_i-Delta f_{i-1}bigr)quad! left(frac{h^2}{3} M_{3,i}right)!. end{gathered}[/math]
(5.9)
Оператор [math]widehat{f}_{i+1, mathsf{v}}[/math] имеет остаточное слагаемое [math]frac{h_i^2}{6} delta_{i+1}(1+delta_{i+1})f”'(xi)[/math].
Разложение функции [math]f(x)[/math] относительно центральной точки [math]x_i[/math] шаблона, получение выражений для [math]f_{i-1},,f_{i+1}[/math] и исключение из них слагаемого со второй производной приводят к следующим разностным операторам функционального типа, аппроксимирующим первую производную в центральной точке (формула центрального вида)
[math]begin{gathered}widehat{f}_{i, mathsf{v}}= frac{1}{H_{i}^{i+1}}! left(delta_{i+1} Delta f_i+ frac{Delta f_{i+1}}{delta_{i+1}}right)= frac{1}{H_{i}^{i+1}}! left(-delta_{i+1}f_{i-1}+ frac{delta_{i+1}^2-1}{delta_{i+1}}f_i+ frac{f_{i+1}}{delta_{i+ 1}}right)!,\[2pt] widehat{f}_{i, mathsf{c}}= frac{1}{2h}bigl(f_{i+1}-f_{i-1}bigr)quad text{or}quad widehat{f}_{i, mathsf{c}}= frac{1}{2h}bigl(Delta f_{i}+ Delta f_{i-1}bigr)quad! left(frac{h^2}{6}M_{3,i}right)!. end{gathered}[/math]
(5.10)
Оператор [math]widehat{f}_{i, mathsf{v}}[/math] имеет остаточное слагаемое [math]frac{h_i^2}{6} delta_{i+1}f”'(xi)[/math].
Приведенные остаточные слагаемые разностных операторов обусловливают следующие оценки их погрешностей:
[math]begin{gathered}bigl|f’_{i-1}-widehat{f}_{i-1, mathsf{v}}bigr|leqslant frac{h_i^2}{6} (1+delta_{i+1})M_{3,i},qquad bigl|f’_{i}-widehat{f}_{i, mathsf{v}}bigr|leqslant frac{h_i^2}{6}delta_{i+1}M_{3,i},\[2pt] bigl|f’_{i+1}-widehat{f}_{i+1, mathsf{v}}bigr|leqslant frac{h_i^2}{6} (1+delta_{i+1})M_{3,i},qquad M_{3,i}= max_{xin H_{3,i}}bigl|f”'(x)bigr|. end{gathered}[/math]
(5.11)
Замечания
1. Далее в тексте оценочная константа [math]M_{p,i}[/math] для краткости будет использоваться без дополнительного ее описания. В нижнем индексе этой константы всюду указывается [math]p[/math] — порядок производной.
2. Из оценок (5.11) вытекает, что разностные операторы [math]widehat{f}_{i-1},, widehat{f}_{i},, widehat{f}_{i+1}[/math] аппроксимируют при [math]h_{i+1}=text{var}[/math] соответствующие производные [math]f’_{i-1},, f’_i,, f’_{i+1}[/math] со вторым порядком, если шаблон произвольный (безусловная аппроксимация). Если же на шаблоне с [math]delta_{i+ 1}ll1[/math] наложить условие, например [math]delta_{i+1}leqslant h_i[/math], то есть [math]h_{i+1}leqslant h_i^2[/math], то порядок аппроксимации [math]widehat{f}_{i},, widehat{f}_{i+1}[/math] может быть повышен до третьего (условная аппроксимация). Такая возможность повышения порядка аппроксимации относительно [math]h_i[/math] без увеличения количества точек шаблона обеспечивается введением в мажоранты, соответствующие аппроксимациям, параметра [math]delta_{i+1}[/math], на который в случае необходимости можно наложить условие [math]delta_{i+1}leqslant h_i[/math]. При этом следует иметь в виду, что данный параметр входит в знаменатель некоторых слагаемых аппроксимационных формул (5.9), (5.10) и при его уменьшении увеличиваются погрешности арифметических операций.
3. Аппроксимации (5.8),(5.9) являются условными, так как для них справедливо условие [math]delta_{i+1}=1[/math]. Предположим, что [math]f(x)in C_4[a,b][/math], и разложим функцию [math]f(x)[/math] в точках [math]x_i,,x_{i+1}[/math] на трехточечном нерегулярном шаблоне [math]H_{3,i}= (x_{i-1},x_i,x_{i+1})[/math] до слагаемого четвертого порядка относительно шага. Складывая эти разложения и выражая из суммы вторую производную, получаем функционально-дифференциальную формулу для второй производной:
[math]f”_i= frac{2(f_{i-1}-2f_i+f_{i+1})}{h_{i+1}^2+ h_i^2}-frac{2(h_{i+1}-h_i)}{h_{i+1}^2+h_i^2}f’_i-frac{2(h_{i+1}^3-h_i^3)}{6(h_{i+1}^2+ h_i^2)}f”’_i-frac{2(h_{i+1}^4+ h_i^4)}{4!(h_{i+1}^2+ h_i^2)} f^{(p)}(xi).[/math]
(5.12)
Подставляя в (5.12) аппроксимационную формулу (5.10) для первой производной, находим разностный аппроксимационный оператор [math]widehat{f},”_i[/math], выраженный через параметры [math]delta_{i+1},, h_i^2[/math] и аппроксимирующий (безусловно) вторую производную [math]f”_i[/math] на нерегулярном шаблоне с первым порядком:
[math]widehat{f},”_{i,mathsf{v}}= frac{2}{h_i^2}! left(frac{1}{1+delta_{i+1}}f_{i-1}-frac{1}{delta_{i+1}}f_i+ frac{1}{(1+delta_{i+1})delta_{i+1}}f_{i+1}right)!.[/math]
(5.13)
Выражение (5.13) можно преобразовать к виду
[math]widehat{f},”_{i,mathsf{v}}= frac{2}{H_{i}^{i+1}}! left(frac{Delta f_i}{h_{i+1}}-frac{Delta f_{i-1}}{h_i}right)= frac{2}{H_{i}^{i+1}}! left[frac{f_{i-1}}{h_i}-left(frac{1}{h_i}+ frac{1}{h_{i+1}}right)!f_i+ frac{f_{i+1}}{h_{i+1}}right]!.[/math]
Если сетка равномерная [math](delta_{i+1}=1)[/math], то указанный порядок условной аппроксимации возрастает на единицу, так как третье слагаемое в (5.12) становится равным нулю. В этом случае из (5.13) получаем широко распространенный оператор, аппроксимирующий вторую производную на регулярном шаблоне:
[math]widehat{f},”_{i,mathsf{c}}= frac{1}{h^2} bigl(f_{i-1}-2f_i+f_{i+1}bigr)quad text{or}quad widehat{f},”_{i,mathsf{c}}= frac{1}{h^2}bigl(Delta f_i-Delta f_{i-1}bigr)quad! left(frac{h^2}{12}M_{4,i}right)!.[/math]
(5.14)
Замечание. Из (5.12) следует, что порядок условной аппроксимации (5.13) можно повысить на единицу и на нерегулярном шаблоне, если принять [math]|delta_{i+1}-1|<h_i[/math], то есть [math]h_i-h_i^2 leqslant h_{i+1}leqslant h_i+h_i^2[/math] (квазиравномерная сетка).
Как следует из приведенных выше постановок задач, в вычислительной практике аппроксимационные формулы (операторы) для производных используются для вычисления значений производных либо для замены ими соответствующих дифференциальных операторов. В связи с этим приведем методику вычисления [math]Bigl.{f^{(p)}(x)}Bigr|_{x=x_j}[/math].
Методика вычисления значений производных
1. Выбрать конкретную аппроксимационную формулу (или несколько разных формул), в которой порядок аппроксимации должен соответствовать заданному в задаче порядку точности [math]t[/math].
2. Выбрать наборы точек (шаблоны [math]H_{k,i}[/math]), которым принадлежат точки [math]x_j~(x_jin H_{k,i})[/math], причем для каждого из наборов расположение точки [math]x_j[/math] должно быть зафиксировано относительно точек шаблона ([math]k[/math] — количество точек, определяющих шаблон). Эта фиксация определяется структурой формулы. Например, если формула имеет центральный тип (см. формулу (5.10)), то точка [math]x_j[/math] должна совпадать со средней точкой шаблона, а если формула левосторонняя (см. формулы (5.7) и (5.8)), то точка [math]x_j[/math] должна совпадать с левой крайней точкой шаблона и т.д.
3. В правую часть выбранной формулы (или формул) подставить значения функций и (или) интегралов, которые соответствуют выбранным точкам шаблона (шаблонов).
4. Произвести требуемые вычисления с учетом того, что количество сохраняемых цифр должно приблизительно соответствовать величине остаточного слагаемого аппроксимационной формулы и порядку точности [math]t[/math].
▼ Пример 5.1
Дана сеточная функция (табл. 5.1), являющаяся сеточным представлением формульной функции [math]y(x)=1!!not{phantom{|}},x[/math]. Заданы также порядок [math]t=2[/math] относительно шага [math]h[/math], который необходимо обеспечить при решении задачи, и точка [math]x_j=1,!4[/math]. Требуется вычислить значение первой производной [math]f”(1,!4)[/math] и второй производной [math]f'(1,!4)[/math] с помощью различных шаблонов и соответствующих формул.
Решение. Воспользуемся вышеприведенной методикой.
[math]begin{array}{|c|c|c|c|c|c|c|} multicolumn{7}{r}{mathit{Table~5.1}}\hline i& 0& 1& 2& 3& 4& 5 \hline x_i& 1& 1,!2& 1,!4& 1,!6& 1,!8& 2,!0 \hline f_i& 1,!000000& 0,!83333333& 0,!7142857& 0,!6250000& 0,!5555555& 0,!500000 \hline end{array}[/math]
1. Так как шаг задания сеточной функции постоянный [math]h=x_{i+1}-x_i=0,!2[/math], точка [math]x_j=1,!4[/math] находится внутри сетки [math]Omega_n[/math], то для вычисления производной в этой точке выбирается вторая формула из (5.10), имеющая второй порядок аппроксимации относительно шага [math]h[/math]. При этом центральная точка шаблона совпадает с точкой [math]x_j=1,!4[/math].
2. Выберем трехточечный шаблон [math]H_{3,i}= (x_{i-1}, x_i,x_{i+1})= (1,!2; 1,!4; 1,!6)[/math], в котором
[math]x_i=1,!4~(i=2);quad x_{i-1}=1,!2~(i-1=1);quad x_{i+1}=1,!6~ (i+1=3).[/math]
В данном шаблоне центральная точка [math]x_i=1,!4[/math], что соответствует центральному типу аппроксимационной формулы.
3. Подсчитаем искомое значение производной по формуле (5.10):
[math]widehat{f},’_{i,c}= frac{f_{i+1}-f_{i-1}}{2h}= frac{0,!6250000-0,!8333333}{2cdot 0,!2},.[/math]
4. Прежде чем выполнить вычисление, необходимо определить количество знаков, которое сохраняется при этом. Остаточное слагаемое выбранной формулы равно [math]frac{h^2}{6} M_{3,i}[/math]. Для его вычисления необходимо сначала определить [math]M_{3,i}= max_{[x_{i-1},x_{i+1}]}bigl|f”'(x)bigr|[/math]. Поэтому воспользуемся интерполяционным многочленом Ньютона с конечными разностями:
[math]f”’_i approx N”’_3(x_i)= frac{Delta^3 f}{h^3},.[/math]
где [math]Delta^3 f[/math] — конечная разность третьего порядка. Эта разность может быть вычислена по значениям функции [math]f_i[/math] в четырех точках. Возьмем точки [math]x_2,, x_3,, x_4,, x_5[/math]. При этом будем считать, что [math]M_{3,i}approx f”'(x_i)[/math].
Вычисление дает [math]f”'(x_i)approx-frac{0,!005935}{0,!008}=-0,!741875[/math]. Тогда остаточное слагаемое по модулю будет равно [math]frac{0,!04cdot 0,!74405}{6}approx 0,!0049<0,!01[/math].
На основе полученного приближенного значения остаточного слагаемого можно заключить, что в вычислениях ожидается одна верная цифра после запятой. Обычно в расчетах оставляют еще одну или две дополнительные цифры (в нашем примере это составляет всего 3 цифры). Оставляя три цифры после запятой, получаем результат: [math]Bigl.{widehat{f},'(x)}Bigr|_{x=1,!4}=-0,!521[/math].
Фактическая абсолютная погрешность составляет
[math]left|-0,!521+ frac{1}{1,!4^2}right|= |-0,!521+0,!5102|= 0,!0108,[/math]
т.е. относительная погрешность равна [math]frac{0,!0108}{0,!5102}cdot 100%=2,!1%[/math]. Если эта погрешность не устраивает вычислителя, необходимо повышать порядок точности относительно [math]h[/math], например, до [math]t=3[/math]. В дальнейшем приводятся соответствующие примеры с порядком [math]t=3[/math].
Для вычисления первой производной можно было использовать и другие формулы. При выборе шаблона [math]H_{3,i}= (x_{i-1},x_i,x_{i+1})= (1,!4; 1,!6; 1,!8)[/math] по формуле (5.8) имеем
[math]begin{aligned}f'(1,!4)&= widehat{f},’_{i-1,c}= frac{1}{2h}bigl(-3f_{i-1}+4f_i-f_{i+1}bigr)= frac{1}{2h}bigl[-3f(1,!4)+ 4f(1,!6)-f(1,!8)bigr]=\ &=frac{1}{2cdot 0,!2}bigl[-3!0,!7142857+ 4cdot 0,!625-0,!5555bigr]=-0,!496017. end{aligned}[/math]
Фактическая абсолютная погрешность составляет [math]|-0,!496017-0,!510204|= 0,!0142[/math], относительная погрешность равна [math]2,!78%[/math].
Если выбрать шаблон [math]H_{3,i}= (x_{i-1},x_i,x_{i+1})= (1; 1,!2; 1,!4)[/math], то по формуле (5.9) получаем
[math]begin{aligned}f'(1,!4)&cong widehat{f},’_{i+1,c}= frac{1}{2h}bigl(f_{i-1}-4f_i+ 3f_{i+1}bigr)= frac{1}{2cdot0,!2} bigl[f(1)-4f(1,!2)+ 3f(1,!4)bigr]=\ &= frac{1}{0,!4}bigl[1,!0-4cdot 0,!83333+ 3cdot 0,!7142857bigr]=-0,!476187. end{aligned}[/math]
Фактическая абсолютная погрешность равна [math]|-0,!476187-0,!510204|=0,!03401[/math], относительная погрешность составляет [math]6,!66%[/math].
Для вычисления второй производной можно взять формулу (5.14) на шаблоне [math]H_{3,i}= (x_{i-1},x_i,x_{i+1})= (1,!2; 1,!4; 1,!6)colon[/math]
[math]begin{aligned}widehat{f},”_{i,c}&= frac{1}{h^2} bigl(f_{i-1}-2f_i+ f_{i+1}bigr)= frac{1}{0,!2}bigl[f(1,!2)-2cdot f(1,!4)+ f(1,!6)bigr]=\ &= frac{1}{0,!04} bigl[0,!8333-2cdot 0,!7142857+ 0,!625bigr]= 0,!743965. end{aligned}[/math]
Точное значение [math]f”(1,!4)= frac{1}{1,!4^3}= 0,!7288629[/math]. Фактическая абсолютная погрешность равна [math]0,!0151[/math], относительная погрешность [math]2,!07%[/math].
Оценка погрешности аппроксимационного оператора
В вычислительной практике иногда применяют аппроксимационные формулы, порядок аппроксимации которых не известен или не приведен в используемом источнике, и в этом случае, прежде чем использовать эту формулу, нужно получить оценку ее погрешности.
Данную процедуру можно выполнить с помощью различных подходов, один из которых основан на разложении функций, входящих в правую часть оператора, по формуле Тейлора относительно той точки [math]x_j[/math], для которой записан этот оператор. Другой подход использует анализ остаточного слагаемого, полученного для интерполяционного многочлена Лагранжа. При этом рассматривается соотношение (4.19), которое дифференцируется нужное количество раз:
[math]f^{(p)}(x)= L_{n}^{(p)}+ R_{n}^{(p)}(x).[/math]
Тогда если нужно найти погрешность численного дифференцирования в точке [math]x=x_j[/math], то осуществляется подстановка [math]x=x_j[/math]. В результате находится оценка погрешности в точке
[math]left|Bigl.{R_n^{(p)}(x)}Bigr|_{x=x_j}right|leqslant frac{M_{n+1}}{(n+1)!}cdot omega_n^{(p)}(x_j),[/math]
где [math]n[/math] — степень алгебраического многочлена, по которому получен аппроксимационный оператор. Если априори степень [math]n[/math] неизвестна, то она может быть определена путем подстановки в правую часть оператора произвольных узлов [math]x_i[/math] и значений [math]f(x_i)[/math] для многочленов [math]N_1(x)= ax+b;~ N_2(x)= ax^2+bx+c[/math] и т. д. Максимальная степень многочлена [math]N_n(x)[/math], для которого остаточное слагаемое равно нулю, является искомой.
Если необходимо оценить погрешность аппроксимационного оператора [math]widehat{f}^{(p)} (x)[/math] не в точке, а на всем отрезке [math][a,b][/math], то для этого используется неравенство (4.22), которое дифференцируется [math]p[/math] раз:
[math]max_{xin[a,b]} bigl|R_n^{(p)}(x)bigr|leqslant frac{M_{n+1}}{(n+1)!}cdot max_{xin [a,b]} bigl|omega_n^{(p)}(x)bigr|.[/math]
Изложим простейшую методику оценки погрешности в точке [math]x=x_j[/math], когда степень многочлена [math]L_{k-1}(x)[/math] и шаблон [math]H_{k,i}[/math], на котором этот многочлен получен, известны.
Методика оценки погрешности аппроксимационного оператора
1. На заданном шаблоне, который в общем случае имеет структуру [math]H_{k,i}= (x_{i-r}, ldots, x_i,ldots, x_{i+s}),~ k=r+s+1[/math], записать выражение для оценки остаточного слагаемого в точке [math]x=x_jin H_{k,i}colon[/math]
[math]left|Bigl.{R_{k-1}^{(p)}(x)}Bigr|_{x=x_j}right|leqslant frac{M_k}{k!} left|Bigl.{omega_{k-1}^{(p)}(x)}Bigr|_{x=x_j}right|.[/math]
Здесь [math]r[/math] и [math]s[/math] — количество точек, расположенных соответственно левее и правее точки [math]x_j[/math], которая фиксируется на этом шаблоне.
2. Найти производную [math]omega_{k-1}^{(p)}(x)= bigl[(x-x_{i-r})(x-x_{i-r+1})ldots (x-x_{i+s})bigr]^{(p)}[/math].
3. В полученную производную подставить значение [math]x_j[/math]. Далее преобразовать ее, выразив через [math]h[/math] (при [math]h=text{const}[/math]) или через параметр нерегулярности [math]delta_{i+1}= h_{i+1}!!not{phantom{|}},h_i[/math], и записать окончательно оценку погрешности.
▼ Пример 5.2
Для заданного дифференциального оператора (5.8), записанного для производной в левой крайней точке шаблона [math]H_{3,i}= (x_{i-1}, x_i, x_{i+1})[/math], требуется найти остаточное слагаемое и оценить погрешность в точке [math]x_j=x_{i-1}[/math].
Решение. 1. На шаблоне [math]H_{3,i}= (x_{i-1}, x_i, x_{i+1})[/math] записываем выражение [math](k=3)colon[/math]
[math]left|Bigl.{R’_2(x)}Bigr|_{x=x_{i-1}}right|leqslant frac{M_3}{3!} left|Bigl.{omega’_2(x) }Bigr|_{x=x_{i-1}}right|[/math] или [math]left|Bigl.{R’_2(x)}Bigr|_{x=x_{i-1}}right|leqslant frac{M_3}{3!} left|Bigl.{bigl[(x-x_{i-1})(x-x_i)(x-x_{i+1})bigr]’}Bigr|_{x=x_{i-1}}right|[/math].
2. Находим производную многочлена [math]omega_2(x)colon[/math]
[math]omega’_2(x)= (x-x_i)(x-x_{i+1})+ (x-x_{i-1})(x-x_{i+1})+ (x-x_{i-1})(x-x_{i}).[/math]
3. Так как [math]h=text{const}[/math], то
[math]begin{aligned}Bigl.{omega’_2(x)}Bigr|_{x=x_{i-1}}&= (x_{i-1}-x_{i})(x_{i-1}-x_{i+1})+ (x_{i-1}-x_{i-1})(x_{i-1}-x_{i}),+\ &quad +,(x_{i-1}-x_{i-1})(x_{i-1}-x_{i})= (-h)(-2h)= 2h^2. end{aligned}[/math]
В результате получаем [math]left|Bigl.{R’_2(x)}Bigr|_{x=x_{i-1}}right|leqslant frac{M_3}{3}h^2[/math].
Именно эта оценка и приведена в скобках справа от формулы (5.8).
Четырехточечный шаблон
Формулы третьего порядка для первых производных на регулярном шаблоне [math]H_{4,i}= (x_{i-2},x_{i-1},x_i,x_{i+1})[/math] имеют вид:
[math]begin{gathered}widehat{f},’_{i-2,c}= frac{1}{6h}bigl(-11f_{i-2}+ 18f_{i-1}- 9f_i+ 2f_{i+1}bigr)quad left(frac{h^3}{4}M_{4,i}right)!,\ text{ili}\ widehat{f},’_{i-2,c}= frac{1}{6h} bigl(11 Delta f_{i-2}-7 Delta f_{i-1}+ 2 Delta f_ibigr);\[4pt] widehat{f},’_{i-1,c}= frac{1}{6h}bigl(-2f_{i-2}-3f_{i-1}+6f_i-f_{i+1}bigr)quad left(frac{h^3}{12}M_{4,i}right)!,\ text{ili}\ widehat{f},’_{i-1,c}= frac{1}{6h} bigl(2Delta f_{i-2}+5 Delta f_{i-1}-Delta f_ibigr);\[4pt] widehat{f},’_{i,c}= frac{1}{6h}bigl(f_{i-2}-6f_{i-1}+3f_i+ 2f_{i+1}bigr)quad left(frac{h^3}{12} M_{4,i}right)!,\ text{ili}\ widehat{f},’_{i,c}= frac{1}{6h} bigl(-Delta f_{i-2}+5 Delta f_{i-1}+ 2Delta f_ibigr);\[4pt] widehat{f},’_{i+1,c}= frac{1}{6h}bigl(-2f_{i-2}+9f_{i-1}-18f_i+ 11f_{i+1}bigr)quad left(frac{h^3}{4}M_{4,i}right)!,\ text{ili}\ widehat{f},’_{i+1,c}= frac{1}{6h} bigl(2Delta f_{i-2}-7 Delta f_{i-1}+ 11Delta f_ibigr). end{gathered}[/math]
(5.15)
Замечание. Вариант записи производных через конечные разности здесь и выше приведен для того, чтобы в дальнейшем можно было преобразовать эти формулы на основе теории подобия для аппроксимации (восстановления) функций по интегралам (см. замечание в конце данного раздела).
Формулы второго порядка на регулярном шаблоне для вторых производных имеют вид
[math]begin{array}{ll}widehat{f},”_{i-2,c}= dfrac{1}{h^2}bigl(2f_{i-2}-5f_{i-1}+ 4f_i-f_{i+1}bigr)&quad left(dfrac{11h^2}{12}M_{4,i}right)!,\[8pt] widehat{f},”_{i-1,c}= dfrac{1}{h^2} bigl(f_{i-2}-2f_{i-1}+ f_ibigr)&quad left(dfrac{h^2}{12}M_{4,i}right)!,\[8pt] widehat{f},”_{i,c}= dfrac{1}{h^2}bigl(f_{i-1}-2f_{i}+ f_{i+1}bigr)&quad left(dfrac{h^2}{12}M_{4,i}right)!,\[8pt] widehat{f},”_{i+1,c}= dfrac{1}{h^2}bigl(-f_{i-2}+ 4f_{i-1}-5f_i+ 2f_{i+1}bigr)&quad left(dfrac{11h^2}{12}M_{4,i}right)!. end{array}[/math]
(5.16)
Пятиточечный шаблон
Формулы четвертого порядка для первых производных на регулярном шаблоне [math]H_{5,i}= (x_{i-2}, x_{i-1},x_i,x_{i+1},x_{i+2})[/math] имеют вид
[math]begin{array}{ll}widehat{f},’_{i-2,c}= dfrac{1}{12h}bigl(-25f_{i-2}+ 48f_{i-1}-36 f_i+ 16f_{i+1}-3 f_{i+2}bigr)&quad left(dfrac{h^4}{5}M_{5,i}right)!,\[8pt] widehat{f},’_{i-1,c}= dfrac{1}{12h}bigl(-3f_{i-2}-10f_{i-1}+18 f_i-6f_{i+1}+ f_{i+2}bigr)&quad left(dfrac{h^4}{20}M_{5,i}right)!,\[8pt] widehat{f},’_{i,c}= dfrac{1}{12h}bigl(f_{i-2}-8f_{i-1}+8 f_{i+1}-f_{i+2}bigr)&quad left(dfrac{h^4}{30}M_{5,i}right)!,\[8pt] widehat{f},’_{i+1,c}= dfrac{1}{12h}bigl(-f_{i-2}+ 6f_{i-1}-18 f_i+10 f_{i+1}+ 3f_{i+2}bigr)&quad left(dfrac{h^4}{20}M_{5,i}right)!,\[8pt] widehat{f},’_{i+2,c}= dfrac{1}{12h}bigl(3f_{i-2}-16f_{i-1}+36 f_i-48 f_{i+1}+ 25f_{i+2}bigr)&quad left(dfrac{h^4}{5}M_{5,i}right)!. end{array}[/math]
(5.17)
Формулы третьего порядка для вторых производных на указанном шаблоне имеют вид
[math]begin{aligned}widehat{f},”_{i-2,c}&= dfrac{1}{12h^2}bigl(35f_{i-2}-104f_{i-1}+114 f_i-56 f_{i+1}+ 11f_{i+2}bigr),\ widehat{f},”_{i-1,c}&= dfrac{1}{12h^2}bigl(11f_{i-2}-204f_{i-1}+6 f_i+4 f_{i+1}-f_{i+2}bigr),\ widehat{f},”_{i,c}&= dfrac{1}{12h^2}bigl(-f_{i-2}+16f_{i-1}-30 f_i+16 f_{i+1}-f_{i+2}bigr),\ widehat{f},”_{i+1,c}&= dfrac{1}{12h^2}bigl(-f_{i-2}+4f_{i-1}+6 f_i-20 f_{i+1}+ 11f_{i+2}bigr),\ widehat{f},”_{i+2,c}&= dfrac{1}{12h^2}bigl(11f_{i-2}-56f_{i-1}+114 f_i-104 f_{i+1}+ 35f_{i+2}bigr). end{aligned}[/math]
(5.18)
▼ Пример 5.3
Для сеточной функции из примера 5.1 вычислить значение первой производной [math]Bigl.{f'(x)}Bigr|_{x_j=1,4}[/math] и второй производной [math]Bigl.{f”(x) }Bigr|_{x_j=1,4}[/math], используя каждую из приведенных выше формул для четырехточечного и пятиточечного шаблонов.
Решение. Для вычисления производных воспользуемся соответствующей методикой.
Используем сначала четырехточечные шаблоны.
Для шаблона [math]H_{4,i}= (x_{i-2},x_{i-1},x_i,x_{i+1})= (1,!4; 1,!6; 1,!8; 2)[/math] по первой из формул (5.15) при [math]x_{i-2}=x_j[/math] имеем
[math]begin{aligned}widehat{f},’_{i-2,c}&= frac{1}{6h}bigl(-11f_{i-2}+ 18f_{i-1}-9f_i+ 2f_{i+1}bigr)= frac{1}{6cdot0,!2}bigl[-11f(1,!4)+ 18f(1,!6)-9f(1,!8)+ 2f(2)bigr]=\ &=frac{1}{1,!2}bigl[-11cdot 0,!7142857+ 18cdot 0,!625-9cdot 0,!5555+ 2cdot0,!5bigr]=-0,!505535.end{aligned}[/math]
Фактическая абсолютная ошибка равна [math]0,!00467[/math], относительная погрешность [math]0,!915%[/math].
Значение второй производной найдем по первой из формул (5.16) при [math]x_{i-2}=x_j[/math] имеем
[math]begin{aligned}widehat{f},”_{i-2,c}&= frac{1}{h^2} bigl(2f_{i-2}-5f_{i-1}+ 4f_i-f_{i+1}bigr)= frac{1}{0,!2^2} bigl[2f(1,!4)-5f(1,!6)+ 4f(1,!8)-f(2)bigr]=\ &=frac{1}{0,!04} bigl[2cdot 0,!7142857 — 5cdot 0,!625 + 4cdot 0,!5555 — 0,!5bigr]= 0,!639285. end{aligned}[/math]
Фактическая абсолютная ошибка равна [math]0,!10468[/math], относительная погрешность [math]14,!07%[/math].
Заметим, что величина мажоранты в оценке остаточного слагаемого для использованной формулы в 11 раз больше, чем для двух других формул в (5.16), аппроксимирующих производные в точках, расположенных внутри шаблона.
Для шаблона [math]H_{4,i}= (x_{i-2}, x_{i-1}, x_i, x_{i+1})= (1,!2; 1,!4; 1,!6; 1,!8)[/math] по второй из формул (5.15) при [math]x_{i-1}= x_j[/math] получаем
[math]begin{aligned}widehat{f},’_{i-1,c}&= frac{1}{6h} bigl(-2f_{i-2}-3f_{i-1}+ 6f_i-f_{i+1}bigr)= frac{1}{6cdot 0,!2} bigl[-2f(1,!2)-3f(1,!4)+ 6f(1,!6)-f(1,!8)bigr]=\ &=frac{1}{1,!2} bigl[-2cdot 0,!8333-3cdot 0,!7142857+6cdot 0,!625-0,!5555bigr]=-0,!51256. end{aligned}[/math]
Фактическая абсолютная ошибка равна [math]0,!002357[/math], относительная погрешность [math]0,!462%[/math].
Значение второй производной найдем по формуле
[math]widehat{f},”_{i-1,c}= frac{1}{h^2}bigl(f_{i-2}-2f_{i-1}+ f_ibigr)= frac{1}{0,!2^2} bigl[f(1,!2)-2f(1,!4)+ f(1,!6)bigr]= 0,!743965.[/math]
Фактическая абсолютная погрешность равна [math]0,!0151[/math], относительная погрешность [math]2,!07%[/math] (см. пример 5.1).
Для шаблона [math]H_{4,i}= (x_{i-2}, x_{i-1}, x_i, x_{i+1})= (1; 1,!2; 1,!4; 1,!6)[/math] при [math]x_i=x_j[/math] имеем
[math]begin{aligned}widehat{f},’_{i,c}&= frac{1}{6h} bigl(f_{i-2}-6f_{i-1}+ 3f_i+ 2f_{i+1}bigr)= frac{1}{6cdot 0,!3} bigl[f(1)-6(1,!2)+ 3f(1,!4)+ 2f(1,!6)bigr]=\ bigl[bigr]=\ &=frac{1}{1,!2} bigl[1,!0-6cdot 0,!8333+ 3cdot 0,!7142857+ 2cdot 0,!6bigr]=-0,!505785. end{aligned}[/math]
Фактическая абсолютная ошибка равна [math]0,!00442[/math], относительная погрешность [math]0,!866%[/math].
Значение второй производной найдем по формуле
[math]widehat{f},”_{i,c}= frac{1}{h^2} bigl(f_{i-1}-2f_i+ f_{i+1}bigr)= frac{1}{0,!2^2} bigl[f(1,!2)-2f(1,!4)+ f(1,!6)bigr]= 0,!743965.[/math]
Фактическая абсолютная погрешность равна [math]0,!0151[/math], относительная погрешность [math]2,!07%[/math] (см. пример 5.1).
Используем формулы (5.17),(5.18) для пятиточечного шаблона. Для шаблона [math]H_{5,i}= (x_{i-2}, x_{i-1}, x_i, x_{i+1}, x_{i+2})= (1,!2; 1,!4; 1,!6; 1,!8; 2)[/math] имеем
[math]begin{aligned}widehat{f},’_{i-1,c}&= frac{1}{12h} bigl(-3f_{i-2}-10f_{i-1}+18f_i-6 f_{i+1}+ f_{i+2}bigr)=\ &=frac{1}{12cdot0,!2} bigl[-3f(1,!2)-10 f(1,!4)+ 18f(1,!6)-6f(1,!8)+ f(2)bigr]=\ &=frac{1}{2,!4}bigl[-3cdot 0,!83333-10cdot 0,!7142857+ 18cdot 0,!625-6! 0,!555+ 0,!5bigr]=-0,!5107696. end{aligned}[/math]
Фактическая абсолютная погрешность равна [math]0,!000566[/math], относительная погрешность [math]0,!11%[/math].
Значение второй производной вычислим по формуле
[math]begin{aligned}widehat{f},”_{i-1,c}&= frac{1}{12h^2}bigl(11f_{i-2}-20f_{i-1}+ 6f_i+ 4f_{i+1}-f_{i+2}bigr)=\ &=frac{1}{12cdot 0,!2^2} bigl[11f(1,!2)-20f(1,!4)+ 6f(1,!6)+ 4f(1,!8)-f(2)bigr]=\ &=frac{1}{0,!48} bigl[11cdot 0,!83333-20cdot 0,!7142857+ 6cdot 0,!625+ 4cdot 0,!5555-0,!5bigr]= 0,!735241.end{aligned}[/math]
Фактическая абсолютная погрешность равна [math]0,!00637[/math], относительная погрешность [math]0,!875%[/math].
Для шаблона [math]H_{5,i}= (x_{i-2},x_{i-1},x_i, x_{i+1}, x_{i+2})= (1; 1,!2; 1,!4; 1,!6; 1,!8)[/math] получаем
[math]begin{aligned}widehat{f},’_{i,c}&= frac{1}{12h} bigl(f_{i-2}-8f_{i-1}+ 8f_{i+1}-f_{i+2}bigr)=\ &=frac{1}{12cdot 0,!2} bigl[f(1)-8f(1,!2)+8f(1,!6)-f(1,!8)bigr]=\ &=frac{1}{2,!4} bigl[1-8cdot 0,!8333+8cdot 0,!625-0,!5555bigr]=-0,!5092.end{aligned}[/math]
Фактическая абсолютная погрешность равна [math]0,!00098[/math], относительная погрешность [math]0,!192%[/math].
Вычислим вторую производную по формуле
[math]begin{aligned}widehat{f},”_{I,c}&= frac{1}{12h^2} bigl(-f_{i-2}+ 16f_{i-1}-30f_i+ 16f_{i+1}-f_{i+2}bigr)=\ &=frac{1}{12cdot 0,!2^2} bigl[-f(1)+ 16f(1,!2)-30f(1,!4)+ 16f(1,!6)-f(1,!8)bigr]=\ &=frac{1}{0,!48} bigl(-1,!0+ 16cdot 0,!83333-30cdot 0,!7142857+16cdot 0,!625-0,!5555bigr)= 0,!72751.end{aligned}[/math]
Фактическая абсолютная погрешность равна [math]0,!00134[/math], относительная погрешность [math]0,!18%[/math].
Анализ точности аппроксимации показывает, что значения производных в точках, расположенных вблизи центра шаблона, вычисляются с большей точностью, чем значения производных в точках, расположенных вблизи концов шаблона. При повышении порядка аппроксимации точность вычисления производных возрастает.
Замечание. Формулы, записанные выше для аппроксимации производных через приращения функций, могут быть переписаны для восстановления функции [math]y=f(x)[/math] по значениям интегралов. С этой целью можно использовать изложенный ранее метод подобия, состоящий в соответствующем изменении порядка производной в левой и правой частях аппроксимационного выражения. Так, из оператора [math]widehat{f},’_k[/math] ([math]k[/math] — номер точки шаблона) можно получить оператор [math]widehat{f},’_k[/math] путем замены [math]Delta f_{k-1}= f_k-f_{k-1}[/math] на интеграл [math]I_{k-1}^k= F_k-F_{k-1}[/math]. Проделав это, вместо формулы, следующей за (5.8), вторых из формул (5.9),(5.10) и формул (5.15) получим операторы, восстанавливающие функцию [math]y=f(x)[/math] по значениям интегралов:
[math]begin{aligned}&widehat{f}_{i-1,c}= frac{1}{2h} (3I_{i-1}^{i}-I_{i}^{i+1}); &qquad & widehat{f}_{i,c}= frac{1}{2h} (I_{i}^{i+1}+ I_{i-1}^{i});\ &widehat{f}_{i-2,c}= frac{1}{6h} (11I_{i-2}^{i-1}-7I_{i-1}^{i}+ 2I_{i}^{i+1}); &qquad & widehat{f}_{i-1,c}= frac{1}{6h} (2I_{i-2}^{i-1}+ 5I_{i-1}^{i}-I_{i}^{i+1});\ &widehat{f}_{i,c}= frac{1}{6h} (-I_{i-2}^{i-1}+ 5I_{i-1}^{i}+ 2I_{i}^{i+1}); &qquad & widehat{f}_{i+1,c}= frac{1}{6h} (2I_{i-2}^{i-1}-7I_{i-1}^{i}+ 11I_{i}^{i+1}). end{aligned}[/math]
Первые две формулы имеют второй порядок аппроксимации по [math]h[/math] (они записаны на трехточечном шаблоне), а последние четыре — третий порядок (они записаны на четырехточечном шаблоне).
Вместо формулы (5.14) имеем следующую: [math]widehat{f}_{i,c}= frac{1}{2h}(I_{i}^{i+1}-I_{i-1}^{i})[/math]. Аналогичным путем можно найти и другие интегральные аппроксимации первой производной.
Формулы на основе разложения первообразных по формуле Тейлора
А. Двухточечный шаблон. На неравномерной сетке [math]Omega_n[/math] рассмотрим двухточечный шаблон [math]H_{2,i}= (x_{i},x_{i+1})[/math] с шагом [math]h_{i+1}= x_{i+1}-x_{i}[/math]. Предположив, что [math]f(x)in C_2[a,b][/math], разложим первообразную [math]F(x)[/math] относительно точки [math]x_i[/math] по формуле Тейлора при [math]k=2[/math] и найдем выражение для [math]Bigl.{F(x)}Bigr|_{x=x_{i+1}}= F_{i+1}colon[/math]
[math]F_{i+1}= F_{i}+ h_{i+1}cdot f_{i}+ frac{h_{i+1}^2}{2}cdot f’_{i}+ frac{h_{i+1}^3}{6}cdot f”(xi),[/math]
где [math]xiin (x_{i},x_{i+1})[/math]. Выражая из этого разложения сначала первую производную, а затем интеграл [math]I_{i}^{i+1}= F_{i+1}-F_{i}[/math], получаем
[math]f’_{i}= frac{2I_{i}^{i+1}}{h_{i+1}^2}-frac{2f_{i}}{h_{i+1}}-frac{h_{i+1}}{3}cdot f”(xi),qquad I_{i}^{i+1}= h_{i+1}cdot f_{i}+ frac{h_{i+1}^2}{2}cdot f’_{i}+ frac{h_{i+1}^3}{6}cdot f”(xi).[/math]
Первые два слагаемых в правых частях последних двух соотношений представляют собой интегрально-функциональную (интегрально-точечную) аппроксимацию производной [math]f’_{i}[/math] и функционально-дифференциальную аппроксимацию интеграла [math]I_{i}^{i+1}[/math] соответственно:
[math]widehat{f},’_{i}= frac{2I_{i}^{i+1}}{h_{i+1}^2}-frac{2f_{i}}{h_{i+1}}qquad left(frac{h_{i+1}}{3}M_2right)!,[/math]
(5.19)
[math]widehat{I}_{i}^{i+1}= h_{i+1}f_{i}+ frac{h_{i+1}^2}{2}f’_{i}qquad left(frac{h_{i+1}^3}{6}M_2right)!.[/math]
(5.20)
Порядки этих аппроксимаций устанавливают остаточные слагаемые в выражениях для [math]f’_{i}[/math] и [math]I_{i}^{i+1}[/math], из которых следуют оценки, правые части которых указаны в скобках рядом с формулами.
Данные оценки свидетельствуют о том, что порядок аппроксимации, обеспечиваемый (5.19), равен единице, а обеспечиваемый (5.20) равен трем при условии, что [math]I_{i}^{i+1}[/math] и [math]f_i[/math] для (5.19) известны с точностью не ниже [math]O(h_{i+1}^3)[/math] и [math]O(h_{i+1}^2)[/math], а [math]f_{i}[/math] и [math]f’_{i}[/math] для (5.20) с точностью не ниже [math]O(h_{i+1}^2)[/math] и [math]O(h_{i+1})[/math]. Этот же результат следует из рассмотренного ранее правила соответствия порядков аппроксимации математических моделей различного типа.
Замечания
1. Выразив из разложения для [math]F_{i+1}[/math] непосредственно функцию [math]f_{i}[/math], получим еще одно аппроксимационное выражение: [math]widehat{f}_{i}= frac{1}{h_{i+1}}cdot I_{i}^{i+1}-frac{h_{i+1}}{2}cdot f’_{i},[/math] позволяющее восстанавливать со вторым порядком аппроксимации значение функции [math]f_{i}[/math] в точке [math]x_{i}[/math] по значениям [math]I_[i}^{i+1}[/math] и [math]f’_{i}[/math], известным с точностью не ниже [math]O(h_{i+1}^3)[/math] и [math]O(h_{i+1})[/math] соответственно.
2. Если в точке [math]x_{i}[/math] известны производные более высоких порядков, то могут быть построены аппроксимации [math]widehat{f},’_{i},, widehat{I}_{i}^{i+1},, widehat{f}_{i}[/math] более высокого порядка, которые здесь не рассматриваются.
Б. Трехточечный шаблон. Возьмем на неравномерной сетке [math]Omega_{n}[/math] трехточечный шаблон [math]H_{3,i}= (x_{i-1},x_{i},x_{i+1})[/math], характеризующийся шагами [math]h_{i+1}= x_{i+1}-x_{i},~ h_{i}= x_{i}-x_{i-1}[/math] и параметром нерегулярности [math]Delta_{i+1}= frac{h_{i+1}}{h_{i}}[/math]. Предположив, что [math]f(x)in C_3[a,b][/math], найдем разложения для первообразной [math]F(x)[/math] при [math]x=x_{i+1}[/math] и [math]x=x_{i-1}[/math] относительно точки [math]x_{i}[/math] и выпишем выражения для [math]F(x_{i+1}),, F(x_{i+1})[/math] по формуле Тейлора (В.23) при [math]k=3colon[/math]
[math]begin{gathered}F_{i+1}= F_{i}+ h_{i+1}cdot f_{i}+ frac{h_{i+1}^2}{2}cdot f’_{i}+ frac{h_{i+1}^3}{6}cdot f”_{i}+ frac{h_{i+1}^4}{24}cdot f”'(xi_1),quad xi_1in (x_{i},x_{i+1}),\ F_{i-1}= F_{i}- h_{i}cdot f_{i}+ frac{h_{i}^2}{2}cdot f’_{i}-frac{h_{i}^3}{6}cdot f”_{i}+ frac{h_{i}^4}{24}cdot f”'(xi_2),quad xi_2in (x_{i-1},x_{i}).end{gathered}[/math]
Умножая первое соотношение на [math]h_{i}[/math] а второе на [math]h_{i+1}[/math], складывая их с учетом равенства [math]I_{i}^{i+1}= F_{i+1}-F_{i}[/math] и разрешая относительно [math]f’_{i}[/math], получаем
[math]f’_{i}= frac{2}{h_{i}(1+delta_{i+1})}! left(frac{I_{i}^{i+1}}{h_{i+1}}-frac{I_{i-1}^{i}}{h_{i}}right)-frac{h_{i}(delta_{i+1}-1)}{3}f”_{i}-frac{h_{i}^2}{12(1+ delta_{i+1})}bigl(delta_{i+1}^3 f”'(xi_{i})+ f”'(xi_2)bigr).[/math]
Отсюда следует интегрально-дифференциальная аппроксимационная формула для первой производной [math]f’_{i}[/math] на нерегулярном шаблоне:
[math]widehat{f},’_{i,nu}= frac{2}{h_{i}(1+ delta_{i+1})}! left(frac{I_{i}^{i+1}}{h_{i+1}}-frac{I_{i-1}^{i}}{h_{i}}right)-frac{h_{i}(delta_{i+1}-1)}{3} f”_{i}.[/math]
(5.21)
Формула (5.21) при заданных интегралах [math]I_{i}^{i+1},, I_{i-1}^{i}[/math] (известных с точностью не ниже [math]O(h_{i+1}^3)[/math] и [math]O(h_{i}^3)[/math] и производной [math]f”_{i}[/math] (известной с точностью не ниже первого порядка) аппроксимирует первую производную [math]f’_{i}[/math] на нерегулярном шаблоне со вторым порядком (безусловная аппроксимация).
При условной аппроксимации, когда [math]delta_{i+1}=1[/math] (равномерная сетка), из (5.21) следует интегральная аппроксимационная формула для первой производной [math]f’_{i}[/math] на регулярном шаблоне:
[math]widehat{f}_{i,c}= frac{1}{h^2}(I_{i}^{i+1}-I_{i-1}^{i})quad left(frac{h^2}{12}M_3right)!.[/math]
(5.22)
Эта формула аппроксимирует первую производную [math]f’_{i}[/math] со вторым порядком.
Из сопоставления мажорант оценок аппроксимационных операторов [math]widehat{f}_{i,c}[/math] (см. (5.10)) и [math]widehat{f}_{i,c}[/math] (см. (5.22)) вытекает, что они имеют одинаковый (второй) порядок аппроксимации, однако, мажоранта или остаточное слагаемое оператора интегрального типа содержит константу [math](1!!not{phantom{|}},12)[/math], в два раза меньшую соответствующей константы в мажоранте оператора точечного (функционального) типа.
Замечание. При условии [math]f(x)in C_2[a,b][/math] на регулярном шаблоне из разложения первообразных получается аппроксимационная интегрально-функциональная формула для второй производной:
[math]widehat{f},”_{i}= frac{3}{h^2}cdot I_{i-1}^{i+1}-frac{6}{h^2}cdot f_{i}quad bigl(O(h)bigr),[/math]
(5.23)
из которой можно выразить интеграл [math]I_{i-1}^{i+1}[/math] через значения функции [math]f_{i}[/math] и производной [math]f”_{i}colon, widehat{I}_{i-1}^{i+1}= 2hf_{i}+ frac{h^3}{3}f”_{i}[/math].
▼ Примеры 5.4-5.5
Пример 5.4. Пусть некоторая функция (взята функция [math]f(x)=x^3[/math]) на трехточечном шаблоне [math]x_1=1;~ x_2=1,!5;~ x_3=2[/math] [math](h=0,!5=text{const})[/math] задана двумя независимыми способами:
1) значениями функции [math]f_1=1;~ f_2=3,!375;~ f_3=8[/math];
2) значениями интегралов на двух соседних отрезках: на отрезке [math][x_1,x_2]colon I_1^2= 1,!015625[/math], а на отрезке [math][x_2,x_3]colon I_2^3=2,!734375[/math] (значения функций [math]f(x_{i})[/math] и интегралов вычислены по [math]f(x)=x^3[/math] точно).
Требуется найти значение производной [math]Bigl.{f'(x)}Bigr|_{x=1,5}[/math] с помощью функциональной и интегральной аппроксимаций.
Решение
Для определения [math]Bigl.{f'(x)}Bigr|_{x=1,5}[/math] сначала воспользуемся функциональной аппроксимационной формулой (5.10):
[math]widehat{f}_{2,c}= frac{f_3-f_1}{2h}= frac{8-1}{2cdot 0,!5}= frac{7}{1}=7quad (3,!7%).[/math]
Применим интегральную формулу (5.22):
[math]widehat{f}_{2,c}= frac{I_2^3-I_1^2}{h^2}= frac{2,!734375-1,!015625}{0,!25}= 6,!875quad (1,!8%).[/math]
В скобках, сразу за численными результатами значений производных указана относительная погрешность в процентах. Из сопоставления полученных приближенных значений с точными следует, что интегральная аппроксимация дает лучший результат.
Пример 5.5. Пусть сеточная функция (табл. 5.2), являющаяся представлением [math]f(x)=x^4[/math], задана интегралами на отрезках [math][x_{i},x_{i+1}]~ (i=1,2,3),~h=1[/math].
Решение
Требуется вычислить производную [math]Bigl.{f'(x)}Bigr|_{x=2}[/math] с использованием интегральной формулы (5.22), имеющей второй порядок аппроксимации.
Вычисление производной основывается на методике, изложенной выше.
1. Так как в задаче указан конкретный аппроксимационный оператор, то выбор формулы осуществлять не нужно.
2. Формула (5.22) записана через значение двух интегралов [math]I_{i-1}^{i}[/math] и [math]I_{i}^{i+1}[/math], что соответствует двухшаговому (трехточечному) шаблону [math]H_{3,i}= (x_{i-1},x_{i},x_{i+1})[/math], в котором
[math]x_{i}=2~ (i=2),qquad x_{i-1}=1~ (i-1=1),quad x_{i+1}=3~ (i+1=2).[/math]
В данном шаблоне центральная точка [math]x_{i}=2[/math] совпадает с точкой [math]x_{j}=2[/math].
3. Получим искомое значение [math]widehat{f},’= frac{I_[i}^{i+1}-I_{i-1}^{i}}{h^2}= frac{211!!not{phantom{|}},5-31!!not{phantom{|}},5}{1}= frac{180}{5}=36[/math]. Здесь вычисления выполнены точно, хотя результат является приближенным.
4. Используя точное значение производной [math]f'(2)=32[/math], можно получить фактическую погрешность результата [math]frac{|36-32|}{32}cdot 100%=12,!5%[/math].
Оценка погрешности дифференциальных операторов
Изложенная ранее методика определения остаточного слагаемого основана на соответствующей теореме для интерполяционного многочлена Лагранжа. Полезно рассмотреть и другой способ получения оценки погрешности, использующей разложение функций по формуле Тейлора.
Методика оценки погрешности дифференциальных операторов на основе разложения функции по формуле Тейлора
1. Составить разность [math]f_{i}^{(p)}-widehat{f}_{i}^{(p)}[/math], где [math]widehat{f}_{i}^{(p)}[/math] — обозначение оператора, в качестве которого может быть принят оператор как функционального типа, так и интегрального или интегрально-функционального, а [math]f_{i}^{(p)}[/math] — точное значение производной.
2. Все функции, входящие в [math]widehat{f}_{i}^{(p)}[/math] разложить по формуле Тейлора с остаточным слагаемым в форме Лагранжа относительно точки [math]x_{i}[/math], в которой записан [math]widehat{f}_{i}^{(p)}[/math]. Если оператор [math]widehat{f}_{i}^{(p)}[/math] выражается через интегралы, то они записываются через разности первообразных [math]bigl(F(x)bigr)[/math]. При этом предполагается, что функции [math]f(x),, F(x)[/math] являются непрерывными, и для них существуют непрерывные производные соответствующего порядка.
3. Подставить разложения функции в разность (см. п. 1) и выполнить ее преобразование, в процессе которого получается остаточное слагаемое.
4. На основе остаточного слагаемого оценить погрешность аппроксимации.
▼ Пример 5.6
Для заданного дифференциального оператора (5.22) [math]widehat{f},’_{i}= frac{I_{i}^{i+1}-I_{i-1}^{i}}{h^2}[/math], записанного на шаблоне [math]H_{3,i}= (x_{i-1},x_{i},x_{i+1})[/math], найти остаточное слагаемое и оценить погрешность в точке [math]x_{j}=x_{i}[/math].
Решение. 1. Составим разность [math]f’_{i}-widehat{f},’_{i}= f’_{i}-frac{1}{h^2}(I_{i}^{i+1}-I_{i-1}^{i})[/math], где [math]f’_{i}[/math] — точное значение производной, а [math]widehat{f},’_{i}[/math] — аппроксимирующий ее оператор.
2. Интегралы заменим разностями первообразных:
[math]I_{i}^{i+1}= F_{i+1}-F_{i}quad bigl(F_{i+1}= F(x_{i+1}),~ F_{i}= F(x_{i})bigr),qquad I_{i-1}^{i}= F_{i}-F_{i-1}.[/math]
Функцию [math]F(x)[/math] при [math]x=x_{i},~ x=x_{i+1}[/math] разложим по формуле Тейлора с остаточным слагаемым в форме Лагранжа относительно точки [math]x_{i}[/math] и выпишем выражения для [math]F(x_{i+1}),~ F(x_{i-1})[/math], где [math]xi_{+}= (x_{i},x_{i+1}),~ xi_{-}in (x_{i-1},x_{i})colon[/math]
[math]begin{aligned}F(x_{i+1})&= F_{i}+ hcdot f_{i}+ frac{h^2}{2}cdot f’_{i}+ frac{h^3}{6}cdot f”_{i}+ frac{h^4}{24}cdot f”’_{i}(xi_{+}),\ F(x_{i-1})&= F_{i}-hcdot f_{i}+ frac{h^2}{2}cdot f’_{i}-frac{h^3}{6}cdot f”_{i}+ frac{h^4}{24}cdot f”’_{i}(xi_{-}). end{aligned}[/math]
3. Подставим данные разложения в разность, составленную в п. 1, и осуществим преобразования:
[math]begin{aligned} f’_{i}&= left(F_{i}+ hf_{i}+ frac{h^2}{2}f’_{i}+ frac{h^3}{6}f”_{i}+ frac{h^4}{24}f”’_{i}(xi_{+})-F_{i}-F_{i}+ F_{i}-hf_{i}+ frac{h^2}{2}f’_{i}-frac{h^3}{6}f”_{i}+ frac{h^4}{24}f”’_{i}(xi_{-})right)=\ &= frac{h^2}{24}bigl(f”'(xi_{+})+ f”'(xi_{-})bigr). end{aligned}[/math]
Применяя теорему о среднем (см. утверждение В.1), находим остаточное слагаемое
[math]f’_{i}-widehat{f},’_{i}= frac{h^2}{12}f”'(xi_{i}),quad xi_{i}in (x_{i-1},x_{i}).[/math]
4. С помощью последнего соотношения получим оценку погрешности аппроксимации интегральным оператором (5.22), где [math]M_{3,i}= max_{xin [x_{i-1},x_{i}]} bigl|f”'(x)bigr|colon[/math]
[math]left|f’_{i}-frac{1}{h^2}(I_{i}^{i+1}-I_{i-1}^{i})right|leqslant frac{M_{3,i}}{12}cdot h^2.[/math]
Формулы, полученные на основе сплайнов
А. Двухточечный шаблон. Из рассмотрения интегрально-дифференциальных сплайн-многочленов второй степени в работе получены интегрально-функциональные аппроксимационные формулы для первых производных на двухточечном шаблоне [math]H_{2,i}= (x_{i},x_{i+1})colon[/math]
[math]begin{aligned}widehat{f},’_{i-1}&= frac{6}{h_{i}^2}cdot I_{i-1}^{i}-frac{2}{h_{i}}cdot (2f_{i-1}+ f_{i});\ widehat{f},’_{i}&= frac{2}{h_{i}}cdot (f_{i-1}+ 2f_{i})-frac{6}{h_{i}^2}cdot I_{i-1}^{i}. end{aligned}[/math]
(5.24)
Формулы (5.24) в силу их одноинтервального характера могут использоваться при [math]h_{i}= text{const}[/math], если значение интеграла [math]I_{i-1}^{i}[/math] либо известно, либо заранее вычислено с точностью не ниже [math]O(h_{i}^4)[/math]. Для операторов [math]widehat{f},’_{i-1},, widehat{f},’_{i}[/math] справедливы оценки
[math]bigl|widehat{f},’_{k}-f’_{k}bigr|leqslant frac{h_{i}^2}{12}cdot M_{3,i},quad k=i-1,i.[/math]
Замечание. Из (5.24) можно выразить величину [math]I_{i-1}^{i}[/math], и тогда получаются следующие функционально-дифференциальные квадратурные формулы:
[math]begin{aligned}I_{i-1}^{i}&= frac{h_{i}}{3}cdot (2f_{i-1}+ f_{i})+ frac{h_{i}^2}{6}cdot f’_{i-1},\ I_{i-1}^{i}= frac{h_{i}}{3}cdot (f_{i-1}+ 2f_{i})-frac{h_{i}^2}{6}cdot f’_{i}. end{aligned}[/math]
Б. Трехточечный шаблон. Из рассмотрения интегрально-дифференциальных сплайн-многочленов третьей степени на трехточечном шаблоне [math]H_{3,i}= (x_{i-1},x_{i}, x_{i+1})[/math] получены следующие интегрально-функциональные формулы:
– для левой, центральной и правой точек нерегулярного шаблона аппрокси-мационные формулы для первой производной имеют вид
[math]begin{aligned}widehat{f},’_{i-1,nu}&= frac{1}{H_{i}^{i+1}}left[4! left(frac{h_{i}}{h_{i+1}^2}I_{i}^{i+1}+ frac{2H_{i}^{i+1}+h_{i}}{h_{i}^2}I_{i-1}^{i}right)-left(frac{h_{i}}{h_{i+1}}f_{i+1}+ frac{3(H_{i}^{i+1})^2}{h_{i}h_{i+1}}f_{i}+ frac{5H_{i}^{i+1}+h_{i}}{h_{i}}f_{i-1}right)right]!,\[4pt]
widehat{f},’_{i,nu}&= frac{1}{H_{i}^{i+1}}left[4! left(frac{h_{i}}{h_{i+1}^2}I_{i}^{i+1}-frac{h_{i+1}}{h_{i}^2}I_{i-1}^{i}right)-left(frac{h_{i}}{h_{i+1}}f_{i+1}+ frac{3(h_{i}^2-h_{i+1}^2)}{h_{i}h_{i+1}}f_{i}-frac{h_{i+1}}{h_{i}}f_{i-1}right)right]!,\[4pt] widehat{f},’_{i+1,nu}&= frac{1}{H_{i}^{i+1}}left[-4! left(frac{2H_{i}^{i+1}+ h_{i+1}}{h_{i+1}^2}I_{i}^{i+1}+ frac{h_{i+1}}{h_{i}^2}I_{i-1}^{i}right)+ left(frac{5H_{i}^{i+1}+ h_{i+1}}{h_{i+1}}f_{i+1}+ frac{3(H_{i}^{i+1})^2}{h_{i}h_{i+1}}f_{i}+ frac{h_{i+1}}{h_{i}}f_{i-1}right)right]!;end{aligned}[/math]
– для левой, центральной и правой точек регулярного шаблона аппрокси-мационные формулы для первой производной принимают форму
[math]begin{aligned}widehat{f},’_{i-1,c}&= frac{1}{2h}! left[frac{4}{h}(I_{i}^{i+1}+ 5I_{i-1}^{i})-(f_{i+1}+ 12f_{i}+ 11f_{i-1})right] &quad & left(frac{h^3}{60}M_{4,i}right)!,\[4pt] widehat{f},’_{i,c}&= frac{1}{2h}! left[frac{4}{h}(I_{i}^{i+1}-I_{i-1}^{i})-(f_{i+1}-f_{i-1})right]= frac{1}{2h}! left[frac{4}{h} Delta I_{i}^{i+1}-(Delta f_{i}+ Delta f_{i-1})right] &quad & left(frac{h^4}{360}M_{5,i}right)!,\[4pt] widehat{f},’_{i+1,c}&= frac{1}{2h}! left[-frac{4}{h}(5I_{i}^{i+1}+ I_{i-1}^{i})+ (11f_{i+1}+ 12f_{i}+ f_{i-1})right] &quad & left(frac{h^3}{60}M_{4,i}right)!; end{aligned}[/math]
– для левой, центральной и правой точек нерегулярного шаблона аппрокси-мационные формулы для второй производной имеют вид
[math]begin{aligned}widehat{f},”_{i-1,nu}&= frac{6}{H_{i}^{i+1}}! left[-4! left(frac{1}{h_{i+1}^2}I_{i}^{i+1}+ frac{H_{2i}^{i+1}}{h_{i}^3}I_{i-1}^{i}right)+ frac{1}{h_{i+1}}f_{i+1}+ frac{H_{i}^{i+1}(2H_{i}^{i+1}+ h_{i})}{h_{i}^2h_{i+1}}f_{i}+ frac{2H_{i}^{i+1}+ h_{i}}{h_{i}^2}f_{i-1}right]!,\[4pt] widehat{f},”_{i,nu}&= frac{6}{H_{i}^{i+1}}! left[4! left(frac{1}{h_{i+1}^2}I_{i}^{i+1}+ frac{1}{h_{i}^2}I_{i-1}^{i}right)-left(frac{1}{h_{i+1}}f_{i+1}+ frac{3H_{i}^{i+1}}{h_{i+1}h_{i}}f_{i}+ frac{1}{h_{i}}f_{i-1}right)right]!,\[4pt] widehat{f},”_{i+1,nu}&= frac{6}{H_{i}^{i+1}}! left[-4! left(frac{H_{i}^{2(i+1)}}{h_{i+1}^3}I_{i}^{i+1}+ frac{1}{h_{i}^2}I_{i-1}^{i}right)+ frac{2H_{i}^{i+1}+ h_{i+1}}{h_{i+1}^2}f_{i+1}+ frac{H_{i}^{i+1}(2H_{i}^{i+1}+ h_{i+1})}{h_{i}h_{i+1}^2}f_{i}+ frac{f_{i-1}}{h_{i}}right]!; end{aligned}[/math]
– для левой, центральной и правой точек регулярного шаблона аппроксима-ционные формулы для второй производной принимают форму
[math]begin{aligned}widehat{f},”_{i-1,c}&= frac{3}{h^2}! left[-frac{4}{h}(I_{i}^{i+1}+ 3I_{i-1}^{i})+ (f_{i+1}+ 10f_{i}+ 5f_{i-1})right] &quad & left(frac{7h^2}{20}M_{4,i}right)!,\[4pt] widehat{f},”_{i,c}&= frac{3}{h^2}! left[frac{4}{h}(I_{i}^{i+1}+ I_{i-1}^{i})+ (f_{i+1}+ 6f_{i}+ f_{i-1})right] &quad & left(frac{h^2}{20}M_{4,i}right)!,\[4pt] widehat{f},”_{i+1,c}&= frac{3}{h^2}! left[-frac{4}{h}(3I_{i}^{i+1}+ I_{i-1}^{i})+ (5f_{i+1}+ 10f_{i}+ f_{i-1})right] &quad & left(frac{7h^2}{20}M_{4,i}right)!. end{aligned}[/math]
Подчеркнем, что правые части данных аппроксимационных соотношений записаны через интегралы [math]I_{i-1}^{i},, I_{i}^{i+1}[/math] на двух смежных отрезках, составляющих шаблон, и через значения функций в точках этого шаблона. Если известны интегралы и значения самой функции, то по этим формулам можно вычислить первые производные с третьим порядком, а вторые производные — со вторым (остаточные слагаемые некоторых аппроксимационных формул указаны в скобках, расположенных рядом с этими формулами). При этом формула для [math]widehat{f},’_{i,c}[/math], имеющая симметричный вид относительно центральной точки х, и содержащая интегральные и функциональные разности, обеспечивает повышенный (четвертый) порядок аппроксимации. Если интегралы для исследуемой функции неизвестны, они должны быть предварительно рассчитаны с порядком, по крайней мере на два превышающим порядок аппроксимации дифференциальных операторов.
Замечание. В вычислительной практике могут оказаться полезными еще два аппроксимационных оператора [math]widehat{f},”_{L(Pi),nu},, widehat{f},”_{i,c}colon[/math]
[math]widehat{f},”_{L(Pi),nu}= frac{6}{h_{i+1}^2}(f_{i}+ f_{i+1})-frac{12}{h_{i+1}^3}I_{i}^{i+1}quad left(frac{h_{i+1}}{2}M_{3,i}right)!,[/math]
(5.25)
[math]widehat{f},”_{i,c}= frac{3}{2h^2}(f_{i}+ f_{i+1})-frac{3}{2h_{i}}I_{i-1}^{i+1}quad left(frac{h^2}{10}M_{4,i}right)!,[/math]
(5.26)
где [math]widehat{f},”_{L(Pi),nu}[/math] — лево- или правосторонний оператор, а [math]widehat{f},”_{i,c}[/math] — центральный оператор, записанный на трехточечном шаблоне при [math]h=text{const}[/math].
В. Четырехточечный шаблон. Выше приведены формулы численного дифференцирования на трехточечном (или для некоторых формул на двухточечном) шаблоне, имеющие порядок аппроксимации [math]h^{3-(p-1)}[/math], где [math]p[/math] — порядок производных, для которых записаны эти формулы. В дополнение к изложенному материалу приведем формулы, аппроксимирующие производную [math]f^{(p)}~(p=1,,2)[/math] с порядками [math]h^{3-(p-1)}[/math] на четырехточечном шаблоне. Данные формулы получены путем анализа кубических дифференциальных и интегрально-дифференциальных сплайнов.
1. Формулы для первых производных третьего порядка аппроксимации на шаблоне [math]H_{4,i}= (x_{i-2},x_{i-1},x_{i},x_{i+1})colon[/math]
– для лево- и правосторонних внутренних точек [math]x_{i-1},,x_{i}[/math] нерегулярного шаблона справедливы функциональные формулы:
[math]begin{aligned}widehat{f},’_{i-1,nu}&= frac{1}{a} Big[!-!h_{i}^2h_{i+1}^2(H_{i}^{i+1})^2f_{i-2}+ h_{i+1}bigl[h_{i}^2(H_{i}^{i+1})^2-h_{i-1}^2K_{2i-1}^2bigr]f_{i-1},+\ &qquad +h_{i-1}^2 bigl(h_{i}^2H_{i-1}^{i}+ K_{2i-1}^{2}h_{i+1}bigr)f_{i}-h_{i}^2h_{i-1}^2H_{i-1}^{i}f_{i+1}Big], end{aligned}[/math]
(5.27)
[math]begin{aligned}widehat{f},’_{i,nu}&= frac{1}{a} Big[h_{i}^2h_{i+1}^2H_{i}^{i+1}f_{i-2}-h_{i+1}^2bigl(h_{i}^2H_{i}^{i+1}+ h_{i-1}^2K_{2i}^2bigr)f_{i+1},+\ &qquad +h_{i-1}^2 bigl[h_{i+1}^2K_{2i}^2-h_{i}^2(H_{i-1}^{i})^2bigr]f_{i}+ h_{i}^2h_{i-1}^2(H_{i-1}^{i})^2f_{i+1}Big], end{aligned}[/math]
(5.28)
где [math]a= H_{i-1}^{i+1}H_{i-1}^{i}H_{i}^{i+1}Pi_{i-1}^{i+1};~~ K_{2i}^2= h_{i-1}(H_{i-1}^{i+1}+2h_{i})+ h_{i}(2H_{i}^{i+1}+ h_{i})[/math];
[math]K_{2i-1}^2= h_{i+1}(H_{i-1}^{i+1}+ 2h_{i})+ h_{i}(2H_{i-1}^{i}+h_{i});~~ Pi_{i-1}^{i+1}= h_{i-1}h_{i}h_{i+1};~~ H_{i-1}^{i+1}= h_{i-1}+ h_{i}+ h_{i+1};[/math]
– для левой и правой крайних точек [math]x_{i-2},,x_{i+1}[/math] нерегулярного шаблона справедливы функционально-дифференциальные формулы рекуррентного типа:
[math]widehat{f},’_{i-2,nu}= frac{h_{i-1}^2}{H_{i-1}^{i}}! left(frac{2H_{i-1}^{i}+ h_{i-1}}{h_{i-1}^3} Delta f_{i-2}+ frac{Delta f_{i-1}}{h_{i}^2}right)-frac{H_{i-1}^{i}}{h_{i}} widehat{f},’_{i-1},[/math]
(5.29)
[math]widehat{f},’_{i+1,nu}= frac{h_{i+1}^2}{H_{i}^{i+1}}! left(frac{2H_{i}^{i+1}+ h_{i+1}}{h_{i+1}^3} Delta f_{i}+ frac{Delta f_{i-1}}{h_{i}^2}right)-frac{H_{i}^{i+1}}{h_{i}} widehat{f},’_{i}.[/math]
(5.30)
На регулярном четырехточечном шаблоне при [math]h=text{const}[/math] формулы (5.27) – (5.30) упрощаются и сводятся к формулам (5.15). Можно показать, что (5.27) – (5.30), так же как и формулы (5.15), имеют третий порядок аппроксимации.
Параболические и кубические интегрально-дифференциальные сплайны позволяют сконструировать интегральные формулы численного дифференцирования.
На четырехточечном нерегулярном шаблоне [math]H_{4,i+1}= (x_{i-1},x_{i},x_{i+1},x_{i+2})[/math] получаются следующие интегральные и рекуррентные формулы для первых производных:
[math]widehat{f},’_{i}= frac{2}{A}! left[frac{h_{i}^2-h_{i+1}^2}{h_{i+2}}I_{i-1}^{i+2}+ bigl[3h_{i+1}H_{i+1}^{i+2}+ (h_{i+2}^2-h_{i}^2)bigr]frac{1}{h_{i+1}}I_{i}^{i+1}-frac{H_{i+1}^{i+2} H_{2(i+1)}^{i+2}}{h_{i}}I_{i-1}^{i}right]!,[/math]
(5.31)
[math]widehat{f},’_{i+1}= frac{2}{A}! left[frac{H_{i}^{i+1} H_{i}^{2(i+1)}}{h_{i+2}}I_{i+1}^{i+2}-frac{3h_{i+1}H_{i}^{i+1}+ (h_{i}^2-h_{i+2}^2)}{h_{i+1}}I_{i}^{i+1}+ frac{h_{i+1}^2-h_{i+2}^2}{h_{i}}I_{i-1}^{i}right]!,[/math]
(5.32)
[math]widehat{f},’_{i-1}= frac{H_{i-1}^{i}}{h_{i}}widehat{f},’_{i}-frac{h_{i-1}}{h_{i}}widehat{f},’_{i+1};qquad widehat{f},’_{i+2}= frac{H_{i+1}^{i+2}}{h_{i}} widehat{f},’_{i+1}-frac{h_{i+2}}{h_{i+1}}widehat{f},’_{i}.[/math]
(5.33)
где [math]A= h_{i+1}^2 bigl(2h_{i}+ h_{i+1}+ 2h_{i+2}bigr)+ h_{i+1} bigl(h_{i}^2+ h_{i+2}^2bigr)+ h_{i}h_{i+2} bigl(h_{i}+ 3h_{i+1}+ h_{i+2}bigr)[/math].
Формулы (5.31),(5.32) относятся к внутренним точкам шаблона и при [math]h=text{const}[/math] переходят в (5.22), а формулы (5.33) (рекуррентные) — к крайним точкам шаблона и являются подобными формулам (5.36), справедливыми для вторых производных.
На регулярном шаблоне из (5.33) при [math]h=text{const}[/math] легко получаются явные трехинтервальные аппроксимации интегрального типа:
[math]begin{aligned}widehat{f},’_{i-1,c}&= frac{1}{h^2}bigl(-2I_{i-1}^{i}+ 3I_{i}^{i+1}-I_{i+1}^{i+2}bigr) &quad & left(frac{11}{12}h^2M_{3,i}right)!,\[4pt] widehat{f},’_{i+2,c}&= frac{1}{h^2}bigl(I_{i-1}^{i}-3I_{i}^{i+1}+ 2I_{i+1}^{i+2}bigr) &quad & left(frac{11}{12}h^2M_{3,i}right)!. end{aligned}[/math]
Последние две формулы могут быть получены также методом подобия из первой и последней формул (5.16). Их можно записать через интегральные разности, где [math]Delta I_{k}^{k+1}= I_{k}^{k+1}-I_{k-1}^{k}[/math]:
[math]begin{aligned}widehat{f},’_{i-1,c}&- frac{1}{h^2}bigl(2 Delta I_{i}^{i+1}-Delta I_{i+1}^{i+2}bigr);\[4pt] widehat{f},’_{i+2,c}&- frac{1}{h^2}bigl(2 Delta I_{i+1}^{i+2}-Delta I_{i}^{i+1}bigr). end{aligned}[/math]
2. Формулы для вторых производных второго порядка апппроксимации на шаблоне [math]H_{4,i}= (x_{i-2},x_{i-1},x_{i},x_{i+1})[/math]
– для лево- и правосторонних внутренних точек [math]x_{i-1},,x_{i}[/math] нерегулярного шаблона справедливы следующие функциональные формулы.
[math]begin{aligned}widehat{f},”_{i,nu}&= frac{2}{a}Big[K_{i}^{i+1} Delta h_{i+1}f_{i-2}+ H_{i-1}^{i} h_{i+1} bigl(H_{i-1}^{2i} h_{i-1}-H_{i}^{i+1} Delta h_{i+1}bigr)f_{i},-\ &qquad -,H_{i}^{i+1} h_{i-1} bigl(H_{i-1}^{2i} H_{i-1}^{i}-h_{i+1} Delta h_{i}bigr)f_{i}+ K_{i-1}^{i} H_{i-1}^{2i} f_{i+1} Big], end{aligned}[/math]
(5.34)
[math]begin{aligned}widehat{f},”_{i-1,nu}&= frac{2}{a}Big[K_{i}^{i+1}H_{2i}^{i+1} f_{i-2}-h_{i+1} H_{i}^{i+1} bigl(H_{2i}^{i+1} H_{i}^{i+1}+ h_{i-1} Delta h_{i}bigr)f_{i-1},+\ &qquad +,H_{i}^{i+1} h_{i-1} bigl(bigr)f_{i}-K_{i-1}^{i} Delta h_{i} f_{i+1}Big],end{aligned}[/math]
(5.35)
где [math]K_{t}^{t+1}= Pi_{t}^{t+1}H_{t}^{t+1};~~ Pi_{t}^{t+1}= h_{t}h_{t+1};~~t=i-1,I;~~ H_{i-1}^{2i}= h_{i-1}+2h_{i}[/math];
[math]H_{2i}^{i+1}= 2h_{i}+ h_{i+1};~~ Delta h_{i+1}= h_{i+1}-h_{i};~~ a=H_{i-1}^{i+1} H_{i-1}^{i} H_{i}^{i+1} Pi_{i-1}^{i+1};[/math]
– для левой и правой крайних точек нерегулярного шаблона справедливы дифференциальные формулы рекуррентного типа:
[math]begin{aligned}widehat{f},”_{i-2,nu}&= frac{H_{i-1}^{i}}{h_{i}}cdot widehat{f},”_{i-1,nu}-frac{h_{i-1}}{h_{i}}cdot widehat{f},”_{i,nu};\[4pt] widehat{f},”_{i+1,nu}&= frac{H_{i}^{i+1}}{h_{i}}cdot widehat{f},”_{i,nu}-frac{h_{i+1}}{h_{i}}cdot widehat{f},”_{i-1,nu}. end{aligned}[/math]
(5.36)
Формулы (5.27), (5.28) и (5.34), (5.35) могут использоваться для расчета значений производных во внутренних точках сетки [math]{x_{i}},~ i=overline{1,n-1}[/math], а (5.29), (5.30) и (5.36) — для расчета производных в крайних точках [math]x_{0},,x_{n}[/math] сетки [math]Omega_{n}[/math].
На регулярном шаблоне при [math]h=text{const}[/math] последняя группа формул для аппроксимации вторых производных во внутренних точках шаблона преобразуется к традиционным:
[math]begin{aligned}widehat{f},”_{i,c}&= frac{1}{h^2}bigl(f_{i-1}-2f_{i}+ f_{i+1}bigr) quad left(frac{h^2}{12}M_{4,i}right)!;\ widehat{f},”_{i-1,c}&= frac{1}{h^2}bigl(f_{i-2}-f_{i-1}+ f_{i}bigr),end{aligned}[/math]
а (5.36) — к рекуррентным формулам: [math]widehat{f},”_{i-2,c}= 2widehat{f},”_{i-1,c}-widehat{f},”_{i,c};~ widehat{f},”_{i+1,c}= 2widehat{f},”_{i,c}-widehat{f},”_{i-1,c}[/math], а также к первой и последней формулам из (5.16), имеющим второй порядок аппроксимации.
Неявные алгоритмы численного дифференцирования
Путем несложного анализа параболических и кубических дифференциальных сплайнов получаются нижеследующие неявные алгоритмы вычисления первых и вторых производных сеточных функций. Значения производных могут быть получены не по явным формулам, а в результате решения трехдиагональных систем линейных алгебраических уравнений методом прогонки.
Первые производные по заданной сеточной функции [math]y_{i}= f(x_{i}),~ i=overline{0,n}[/math], можно вычислить несколькими способами:
а) следствием параметрических соотношений параболических сплайнов является система линейных алгебраических уравнений относительно первых производных, где [math]Delta f_{i}= f_{i+1}-f_{i};~ h_{i+1}= x_{i+1}-x_{i}colon[/math]
[math]frac{h_{i}}{2}f’_{i-1}+ frac{1}{2}(h_{i}+h_{i+1})f’_{i}+ frac{h_{i+1}}{2}f’_{i+1}= Delta f_{i-1}+ Delta f_{i},quad i=overline{1,n-1}.[/math]
(5.37)
При заданных значениях производных на концах отрезка [math][x_{0},x_{n}][/math] эта система позволяет со вторым порядком аппроксимации вычислить значения первых производных [math]widehat{f},’_{i}[/math] во всех внутренних точках.
На регулярном шаблоне при [math]h=text{const}[/math] эта система упрощается:
[math]widehat{f},’_{i-1}+ 2widehat{f},’_{i}+ widehat{f},’_{i+1}= frac{2}{h}(f_{i+1}-f_{i-1}),quad i=overline{1,n-1};[/math]
б) на регулярном шаблоне значения первых производных [math]widehat{f},’_{i}[/math] со вторым порядком аппроксимации могут быть вычислены также из системы, удовлетворяющей свойству преобладания диагональных элементов:
[math]widehat{f},’_{i-0,5}+ 6widehat{f},’_{i+0,5}+ widehat{f},’_{i+1,5}= frac{8 Delta f_{i}}{h_{i}},,quad i=overline{1,n-1}.[/math]
(5.38)
Решением этой системы будут производные в узлах, сдвинутых влево на полшага. Если производные на концах неизвестны, то их необходимо предварительно вычислить с порядком не ниже второго;
в) первые производные с третьим порядком аппроксимации могут быть определены из системы, являющейся следствием кубических дифференциальных сплайнов (см. (4.76)):
[math]frac{widehat{f},’_{i-1}}{h_{i}}+ 2! left(frac{1}{h_{i+1}}+ frac{1}{h_{i}}right)! widehat{f},’_{i}+ frac{widehat{f},’_{i+1}}{h_{i+1}}= 3! left(frac{Delta f_{i}}{h_{i+1}^2}+ frac{Delta f_{i-1}}{h_{i}^2}right)!,quad i=overline{1,n-1}.[/math]
Данная система, удовлетворяющая свойству преобладания диагональных элементов, может быть замкнута либо значениями [math]widehat{f},’_{0},,widehat{f},’_{n}[/math], либо двумя функционально-дифференциальными граничными соотношениями (4.77);
г) первые производные со вторым порядком аппроксимации могут вычисляться также по значениям интегралов с использованием системы, подобной системе (4.72), в которой порядок производных понижен на единицу (в этом случае вместо [math]Delta f_{i}[/math] и [math]Delta f_{i-1}[/math] следует подставить [math]Delta F_{i}= I_{i}^{i+1}[/math] и [math]Delta F_{i-1}= I_{i-1}^{i}[/math]):
[math]h_{i} widehat{f},’_{i-1}+ 2(h_{i}+ h_{i+1}) widehat{f},’_{i}+ h_{i+1} widehat{f},’_{i+1}= 6! left(frac{I_{i}^{i+1}}{h_{i+1}}-frac{I_{i-1}^{i}}{h_{i}}right)!,quad i=overline{1,n-1}.[/math]
(5.40)
Замыкающие соотношения формируются аналогично предыдущему случаю. На регулярном шаблоне система (5.40) для [math]widehat{f},’_{i}[/math] записывается через интегральные приращения:
[math]widehat{f},’_{i-1}+ 4widehat{f},’_{i}+ widehat{f},’_{i+1}= frac{6}{h}(Delta I_{i}^{i+1}),quad i=overline{1,n-1}.[/math]
Вторые производные со вторым порядком аппроксимации могут быть определены из системы, являющейся следствием применения кубических дифференциальных сплайнов (см. систему (4.72)):
[math]h_{i}widehat{f},”_{i-1}+ 2(h_{i}+h_{i+1}) widehat{f},”_{i}+ h_{i+1} widehat{f},”_{i+1}= 6! left(frac{Delta f_{i}}{h_{i+1}}-frac{Delta f_{i-1}}{h_{i}}right)!,quad i=overline{1,n-1}.[/math]
(5.41)
Данная система, удовлетворяющая условию преобладания диагональных элементов, может быть замкнута либо известными значениями [math]widehat{f},”_{0},, widehat{f},”_{n}[/math], либо двумя граничными соотношениями, следующими из равенства
[math]frac{Delta widehat{f},”_{i}}{h_{i+1}}= frac{Delta widehat{f},”_{i-1}}{h_{i}}quad left(frac{widehat{f},”_{i+1}-widehat{f},”_{i}}{h_{i+1}}= frac{widehat{f},”_{i}-widehat{f},”_{i-1}}{h_{i}}right)!,[/math]
которое записывается для трех крайних точек сетки [math]Omega_{n}[/math], т. е. для [math](x_0,x_1,x_2)[/math] и [math](x_{n-2},x_{n-1},x_{n})[/math].
Подчеркнем, что неявные алгоритмы вычисления производных предпочтительно использовать в случае, когда для заданной сеточной функции необходимо определять производные во всех узлах.
▼ Пример 5.7
Проверить соотношение (5.37) при фиксированном [math]i[/math] путем подстановки в него степенной функции.
Решение. Соотношение (5.37) является следствием применения параболических сплайнов, поэтому оно должно выполняться для сеточного представления степенной функции (параболы) [math]f(x)=x^2[/math]. Возьмем трехточечный нерегулярный шаблон [math]H_{3,i}= (x_{i-1},x_{i},x_{i+1})[/math] с шагами
[math]h_{i+1}= 3;quad h_{i}=2;quad x_{i-1}=2;quad x_{i}=4;quad x_{i+1}=7.[/math]
Значения функции [math]f(x_{k})~(k=i-1,i,i+1)[/math] и ее производной [math]Bigl.{f'(x)}Bigr|_{x=x_{k}}= 2x_{k}[/math] вместе с функциональными приращениями приведены в табл. 5.3.
[math]begin{array}{|c|c|c|c|} multicolumn{4}{r}{mathit{Table~5.3}}\hline x_{k}& f(x_{k})& Delta f_{k}& f'(x_{k}) \hline x_{i-1}=2& 4& 12& 4 \hline x_{i}=4& 16& 33& 8 \hline x_{i+1}=7& 49&-&14 \hline end{array}[/math]
Тогда соотношению (5.37) при фиксированном [math]i[/math] и выбранном шаблоне будет соответствовать численное равенство
[math]frac{2}{2}cdot 4+ frac{1}{2}(2+3)cdot 8+ frac{3}{2}cdot14= 12+33.[/math]
В левой и правой частях получаются одинаковые значения, что свидетельствует о правильности системы (5.37).
Методика вычисления производных по неявным алгоритмам
1. С учетом характера задания сеточной функции (заданы значения функции [math]y_{i}= f(x_{i}),~ i= overline{0,n}[/math], или значения интегралов [math]I_{i}^{i+1},~ i= overline{0,n-1}[/math]) и порядка аппроксимации [math]t[/math], который необходимо обеспечить в алгоритме, выбрать систему алгебраических уравнений относительно значений производных во всех внутренних узлах сетки. При этом, если эта система является следствием параболических сплайнов, то для первых производных [math]t=2[/math], для вторых производных [math]t=1[/math]. В случае, когда система получена из кубических сплайнов, порядок [math]t[/math] возрастает на единицу. Данные системы являются незамкнутыми (число неизвестных превышает на два число уравнений).
2. Замкнуть выбранную систему двумя граничными условиями на концах сетки [math]Omega_{n}[/math]. Эти условия могут выбираться либо в виде явных аппроксимационных формул, либо в виде двух дополнительных алгебраических соотношений, включающих по два слагаемых с [math]f_{0}^{(p)},, f_{1}^{(p)}[/math] и [math]f_{n-1}^{(p)},, f_{n}^{(p)},, p=1,,2[/math]. При этом необходимо соблюсти соответствие порядков аппроксимации последних соотношений (или формул) и исходного порядка [math]t[/math].
3. Решить полученную замкнутую систему линейных алгебраических уравнений трехдиагонального вида методом прогонки.
Приведенная методика является составной частью построения кубического дифференциального сплайна. Она была применена при решении примера 4.13.
Математический форум (помощь с решением задач, обсуждение вопросов по математике).
Если заметили ошибку, опечатку или есть предложения, напишите в комментариях.