Главная
Обратная связь
Дисциплины:
|
Погрешность численного дифференцирования
Пусть решение дифференциальной задачи u(x, y) является достаточно гладкой функцией, значение которой определено в каждой точке области D+дD. Условимся координаты точки задавать в масштабе сетки. Точка (xx, yh) в масштабе сетки имеет координаты xx = x h1, yh = h h2. Целые значения x, h соответствуют узлам сетки, дробные – точкам области D+дD, не являющимися узлами. Значению решения в точке (xx, yh) будем приписывать индексы x, h
uxh = u(xx, yh).
Займемся построением разностных аналогов производной сеточной функции. На сетке предельный переход невозможен. Разностный аналог производной сеточной функции определим как отношение приращения, получаемого функцией при минимальном приращении аргумента, к шагу. На рис. 2 указаны узлы, отвечающие минимальному приращению одного из аргументов относительно узла (m,n).
Рассмотрим общий принцип построения разностных аналогов производных на примере дифференцирования по x. Поскольку в процессе дифференцирования по x остальные аргументы не участвуют, для краткости записи не будем их указывать в списке аргументов.
Пусть сеточная функция в точках xm-1 =xm - h, xm, xm+1 = xm + h принимает значения соответственно um-1, um, um+1. Зададим значение сеточной функции в узле с полуцелым индексом
uám+½ñ = (um+1 + um).
Можно построить три разностных аналога первой производной по x
.
По расположению дополнительно привлекаемых узлов назовем их соответственно правосторонней, левосторонней и центральной разностной производной.
Последовательно применяя формулу центральной разностной производной для целых и полуцелых индексов, построим разностные аналоги производных и 
,
.
Оценку погрешности разностного дифференцирования проведем для случая, когда сеточная функция является проекцией на сетку дифференцируемой функции u(x), обладающей достаточным числом непрерывных производных. Непрерывная функция принимает промежуточные значения
([u]m+1 + [u]m) = [u]x, x Î(m,m+1).
По формуле Лагранжа
= [ ]x, x Î(m,m+1).
В окрестности точки xaÎ[xm-1, xm+1]функцию u(x) можно разложить по формуле Тейлора
u(x) = [u]a + (x - xa) + + 1/k!(x - xa)k , x Î(m-1, m+1).
Полагая k = 2, xa = xm, а x поочередно равным xm+1и xm-1, получим разложения
[u]m+1 = [u]m + h[ ]m + h2[ ]x¢, x¢ Î(m,m+1),
[u]m-1 = [u]m - h[ ]m + h2[ ]x¢¢, x¢¢ Î(m-1,m).
Используя непрерывность второй производной, найдем
[u]m+1 + [u]m-1 = 2[u]m + h2[ ]x, x Î(m-1,m+1).
Из полученных равенств вытекают представления
[u]ám+½ñ = [u]x, x Î(m,m+1),
= [ ]x, x Î(m,m+1),
= [ ]x, x Î( m-1,m),
= [ ]x, x Î( m-1,m+1),
= [ ]x, x Î(m-1,m+1).
| (2.5 )
| Согласно формулам (2.5) для гладкой функции разностные аналоги равны соответствующему точному значению в сдвинутой точке.
Разложения по формуле Тейлора позволяют оценить погрешности
[u]ám+½ñ - [u]m+½= h2[ ]x, x Î(m,m+1),
- [ ]m = h[ ]x, x Î(m,m+1),
- [ ]m = - h[ ]x, x Î(m-1,m),
- [ ]m = h2[ ]x, x Î(m-1,m+1),
- [ ]m = h2[ ]x, x Î(m-1,m+1).
| (2.6)
| При выводе последней формулы использованы формула Тейлора при k = 4 и непрерывность четвертой производной.
Уравнения математической физики выражают в дифференциальной форме законы сохранения некой субстанции (массы, импульса, энергии и т. п.) и содержат дивергенцию потока субстанции через границу области. Выражение дивергенции включает производные вида . Считая функции u(x) гладкой, представим разностный аналог этой производной в интегральной форме
= Im(a, u), Im(a, u) = 
и положим
Jm(a, u) = (Im(a, u) – [ ]m).
Применим к интегралу Im(u) теорему о среднем значении
Im(a, u) = (a(x¢) u(x¢+t¢)) = [a]x¢[ ]x¢¢+ [ ]x¢ [ ]x¢¢ ,
где |x¢ - m| < ½, |x¢¢ - m| < 1.
Для оценки интеграла Jm(a, u) разложим подынтегральную функцию по формуле Тейлора. Учитывая равенство
u(x+t) = u(x+t),
получим
u(x+t) = u(x) + t u(x) + u(x+tx), |tx| < h,
(a(x) u(x)) = [ (a )]m+ Dx [ (a )]m+
+ (a(x¢) u(x¢)), Dx = x – xm, |x¢ - xm| < h.
Сохраним только отличные от нуля значения интегралов
Jm(a, u) =
.
Применяя теорему о среднем значении интеграла, получим
Jm(a, u) = { (a )]x+ (a(x¢) u(x¢+t¢))} =
= { (a )]x+ [a]x¢[ ]x¢¢+ [ ]x¢ [ ]x¢¢ },
где |x - m| < ½, |x¢ - m| < ½, |x¢¢ - m| < 1.
Интегралы Im(a, u) и Jm(a, u) выражаются через значения u(x) и a(x)и их производных в области D. Если функции u(x) и a(x)непрерывны в D+дD и обладают необходимым числом непрерывных производных, то Im(a, u) и Jm(a, u) ограничены и существуют нормы
||Im(a, u)|| £ ||a|| || || + || |||| ||,
|| Jm(a, u)|| £ {|| (a )|| + ||I(a, )||}.
Тогда справедливы представления
= Im(a, u),
- [ (a )]m= Jm(a, u) .
| (2.7)
| При постоянном коэффициенте a приходим к полученным ранее оценкам (2.5), (2.6).
Вернемся к рассмотрению дифференцирования сеточной функции u(h) и составим разностные аналоги частных производных по x и y. Частный характер дифференцирования будем отмечать соответствующим индексом при знаке производной. Например, левосторонние разностные аналоги для частных производных по x и y будем записывать соответственно и , их значения в узле (m,n) - и .
Рассмотрим дифференциальный оператор общего вида
L(u) = - - + cu
При заданных функциях a(x, y), b(x, y), c(x, y)можно составить сеточную функцию
Lh(u(h)) = - - + [c]h u(h),
принимающую во внутренних узлах сетки значения
Lh(u(h)) = {- - + [c]m n um n,
0< m < M, 0< n < N}.
| (2.8)
| Если функция u(x,y) имеет четыре непрерывные производные, а a(x,y) и b(x,y) трижды непрерывно дифференцируемы, то погрешность во внутренних узлах принимает значения
Lh([u]h) - [L(u)]h = { Jm(a, u) + Jn(b, u), 0< m < M, 0< n < N}.
Перейдем к нормам
||Lh([u]h) - [L(u)]h|| £ ||Jm(a, u)|| + ||Jn(b, u)|| £ A¢h2,
| (2.9)
| где h = max(h1, h2), A¢= (||Jm(a, u)|| + ||Jn(b, u)||).
Разностный оператор (2.8) является элементом консервативных разностных схем, основанных на законах сохранения, свойстенных большинству физических процессов.
|