1611688890-f641c9ec8276824e4686da772eb56520 (826652), страница 19
Текст из файла (страница 19)
. . , n − 1.ИмеемP2,i (x) =(x − xi−1 )(x − xi+1 )(x − xi )(x − xi+1 )fi−1 +fi(xi−1 − xi )(xi−1 − xi+1 )(xi − xi−1 )(xi − xi+1 )+=(x − xi−1 )(x − xi )fi+1(xi+1 − xi−1 )(xi+1 − xi−1 )x2 − (xi + xi+1 )x + xi xi+1fi−1(xi−1 − xi )(xi−1 − xi+1 )+x2 − (xi−1 + xi+1 )x + xi−1 xi+1fi(xi − xi−1 )(xi − xi+1 )+x2 − (xi−1 + xi )x + xi−1 xifi+1 .(xi+1 − xi−1 )(xi+1 − xi )1072.8.
Численное дифференцированиеПоэтому′P2,i(x) =2x − (xi−1 + xi+1 )2x − (xi + xi+1 )fi−1 +fi(xi−1 − xi )(xi−1 − xi+1 )(xi − xi−1 )(xi − xi+1 )+2x − (xi−1 + xi )fi+1 .(xi+1 − xi−1 )(xi+1 − xi )Воспользуемся теперь тем, что xi − xi−1 = hi , xi+1 − xi = hi+1 . Тогдаxi+1 − xi−1 = hi + hi+1 , а результат предшествующих выкладок можетбыть записан в виде′f ′ (x) ≈ P2,i(x) =2x − xi − xi+1fi−1hi (hi + hi+1 )2x − xi−1 − xi+12x − xi−1 − xi−fi +fi+1 .hi hi+1hi+1 (hi + hi+1 )(2.65)Формула (2.65) может применяться при вычислении значения производной в произвольной точке x для случая общей неравномернойсетки. Предположим теперь для простоты, что сетка равномерна, т. е.hi = h = const, i = 1, 2, . . .
, n. Кроме того, для таблично заданнойфункции на практике обычно наиболее интересны производные в техже точках, где задана сама функция, т. е. в узлах x0 , x1 , . . . , xn . Вточке x = xi из (2.65) получаем для первой производной формулуf ′ (xi ) ≈ fx̊,i =fi+1 − fi−1,2h(2.66)называемую формулой центральной разности. Подставляя в (2.65) аргумент x = xi−1 и сдвигая в получающемся результате индекс на +1,получим−3fi + 4fi+1 − fi+2f ′ (xi ) ≈.2hПодставляя в (2.65) аргумент x = xi+1 и сдвигая в получающемся результате индекс на (−1), получимfi−2 − 4fi−1 + 3fi.2hЗаймёмся теперь выводом формул для второй производной. Используя интерполяционный полином второй степени, можно найти:f ′ (xi ) ≈′′f ′′ (xi ) ≈ P2,i(x) =222fi +fi−1 −fi+1 .hi (hi + hi+1 )hi hi+1hi+1 (hi + hi+1 )1082.
Численные методы анализаВ частности, на равномерной сетке с hi = h = const, i = 1, 2, . . . , nимеемfi−1 − 2fi + fi+1f ′′ (xi ) ≈.(2.67)h2Эта формула широко используется в вычислительной математике, и поаналогии с (2.63)–(2.64) часто обозначается кратко как fxx . Естественно, что полученные выражения для второй производной не зависят отаргумента x.Несмотря на то, что проведённые выше рассуждения основывалисьна применении интерполяционного полинома Лагранжа, для взятияпроизводных произвольных порядков на сетке общего вида удобнее использовать интерполяционный полином Ньютона, в котором члены являются полиномами возрастающих степеней.Выпишем ещё без вывода формулы численного дифференцирования на равномерной сетке, полученные по четырём точкам, т.
е. с применением интерполяционного полинома третьей степени: для первойпроизводной —1−11fi + 18fi+1 − 9fi+2 + 2fi+3 ,6h1f ′ (xi ) ≈−2fi−1 − 3fi + 6fi+1 − fi+2 ,6h1fi−2 − 6fi−1 + 3fi + 2fi+1 ,f ′ (xi ) ≈6h1f ′ (xi ) ≈−2fi−3 + 9fi−2 − 18fi−1 + 11fi ,6hf ′ (xi ) ≈(2.68)(2.69)(2.70)(2.71)для второй производной —12fi − 5fi+1 + 4fi+2 − fi+3 ,2h1f ′′ (xi ) ≈ 2 fi−1 − 2fi + fi+1 ,hf ′′ (xi ) ≈f ′′ (xi ) ≈1−fi−3 + 4fi−2 − 5fi−1 + 2fi .h2(2.72)(2.73)(2.74)В формуле (2.73) один из четырёх узлов, по которым строилась формула, никак не используется, а сама формула совпадает с формулой(2.67), полученной по трём точкам. Отметим красивую двойственность1092.8. Численное дифференцированиеформул (2.68) и (2.71), (2.69) и (2.70), а также (2.72) и (2.74).
Неслучаен также тот факт, что сумма коэффицентов при значениях функции вузлах во всех формулах равна нулю: он является следствием того, чтопроизводная постоянной функции — нуль.xi−2xi−1xixi+1xi+2Рис. 2.11. Шаблон формулы второй разностной производной (2.67).В связи с численным дифференцированием и во многих другихвопросах вычислительной математики чрезвычайно полезно понятиешаблона (сеточной) формулы, под которым мы будем понимать совокупность охватываемых этой формулой узлов сетки.
Более точно, шаблон формулы численного дифференцирования — это множество узловсетки, входящих в правую часть этой формулы, явным образом либо в качестве аргументов используемых значений функции. Например,шаблоном формулы (2.67) для вычисления второй производной на равномерной сеткеfi−1 − 2fi + fi+1f ′′ (xi ) ≈h2являются три точки — xi−1 , xi , xi+1 (см. Рис.
2.11), в которых должныбыть заданы fi−1 , fi , fi+1 . Особенно разнообразны формы шаблонов вслучае двух и более независимых переменных.2.8бОценка погрешностичисленного дифференцированияПусть для численного нахождения k-ой производной функции применяется формула численного дифференцирования Φ, имеющая шаблон Θ и использующая значения функции в узлах этого шаблона. Еслиf (x) — дифференцируемая необходимое число раз функция, такая чтоfi = f (xi ) для всех узлов xi ∈ Θ, то какова может быть погрешностьвычисления f (k) (x) по формуле Φ? Вопрос этот можно адресовать какк целому интервалу значений аргумента, так и локально, только к тойточке xi , которая служит аргументом левой части формулы численногодифференцирования.1102.
Численные методы анализаЕсли рассматриваемая формула выведена в рамках интерполяционного подхода, то заманчивой идеей является получение ответа прямым дифференцирование полученных нами ранее выражений (2.24)и (2.25) для погрешности интерполирования. Этот путь оказываетсяочень непростым, так как применение, к примеру, выражения (2.25)требует достаточной гладкости функции ξ(x), о которой мы можемсказать немногое. Даже если эта гладкость имеется у ξ(x), полученные оценки будут содержать производные ξ ′ (x) и пр., о которых мызнаем ещё меньше.
Наконец, шаблон некоторых формул численногодифференцирования содержит меньше точек, чем это необходимо дляпостроения интерполяционных полиномов нужной степени. Такова, кпримеру, формула «центральной разности» для первой производнойили формула для второй производной (2.73), построенная по четырёмточкам на основе полинома 3-й степени. Тем не менее, явные выражения для остаточного члена формул численного дифференцирования наэтом пути можно получить методом, который напоминает вывод формулы для погрешности алгебраического интерполирования. Подробности изложены, к примеру, в книгах [20, 59].Рассмотрим ниже детально более простой и достаточно универсальный способ оценивания погрешностей, основанный на разложениях поформуле Тейлора. Суть этого способа заключается, во-первых, в выписывании по формуле Тейлора разложений для функций, входящих вправую часть формулы численного дифференцирования, и, во-вторых,в аккуратном учёте членов этих разложений с целью получить, повозможности, наиболее точное выражение для ошибки.Поясним эту методику на примере оценки погрешности для формулы «центральной разности» (2.66):f ′ (xi ) ≈ fx̊,i =fi+1 − fi−1.2hПредположим, что f ∈ C3 [ xi−1 , xx+1 ], т.
е. функция f трижды непрерывно дифференцируема на интервале между узлами формулы. Подставляя её в (2.66) и разлагая относительно точки xi по формуле Тейлора с остаточным членом в форме Лагранжа вплоть до членов второго2.8. Численное дифференцирование111порядка, получимfx̊,i1=2hh2 ′′h3 ′′′′f (xi ) + hf (xi ) +f (xi ) +f (ξ+ )26!h2 ′′h3 ′′′′− f (xi ) − hf (xi ) +f (xi ) −f (ξ− )26= f ′ (xi ) +h2 ′′′h2 ′′′f (ξ+ ) +f (ξ− ),1212где ξ+ и ξ− — некоторые точки из открытого интервала ] xi−1 , xi+1 [.Поэтомуh2 ′′′αh2f (ξ+ ) + f ′′′ (ξ− ) =,126где α = 12 (f ′′′ (ξ+ ) + f ′′′ (ξ− ) . В целом справедлива оценкаfx̊,i − f ′ (xi ) =fx̊,i − f ′ (xi ) ≤ M3 h2 ,6в которой M3 = maxξ |f ′′′ (ξ)| для ξ ∈ ] xi−1 , xi+1 [ .
То есть, на трижды непрерывно дифференцируемых функциях погрешность вычисления производной по формуле «центральной разности» равна O(h2 )для равномерной сетки шага h.Определение 2.8.1 Станем говорить, что приближённая формула(численного дифференцирования, интегрирования и т.
п.) или же приближённый численный метод имеют p-ый порядок точности (или порядок аппроксимации), если на равномерной сетке с шагом h их погрешность является величиной O(hp ), т. е. не превосходит Chp , гдеC — константа, не зависящая от h.Нередко понятие порядка точности распространяют и на неравномерные сетки, в которых шаг hi меняется от узла к узлу. Тогда рольвеличины h играет какой-нибудь «характерный размер», описывающийданную сетку, например, h = maxi hi . Порядок точности — важная количественная мера погрешности формулы или метода, и при прочихравных условиях более предпочтительной является та формула илитот метод, которые имеют более высокий порядок точности.
Но следует чётко осознавать, что порядок точности имеет асимптотический1122. Численные методы анализахарактер и отражает поведение погрешности при стремлении шаговсетки к нулю. Если этого стремления нет и шаг сетки остаётся «достаточно большим», то вполне возможны ситуации, когда метод меньшегопорядка точности даёт лучшие результаты, поскольку множитель приhp в оценке погрешности у него меньше.Другое необходимое замечание состоит в том, что понятие порядкаформулы или метода основывается на сравнении скорости убыванияпогрешности со скоростью убывания степенных функций 1, x, x2 , . . .
,xk , . . . , то есть существенно завязано на степенную шкалу. Иногда (неслишком часто) эта шкала оказывается не вполне адекватной реальному поведению погрешности.Пример 2.8.1 Пусть на вещественной оси задана равномерная сеткашага h, включающая в себя узлы 0, ±h, ±2h и т. д. Для функции y =g(x) рассмотрим интерполяцию значения g(0) полусуммой1(2.75)2 g(−h) + g(h) ,т. е. простейшим интерполяционным полиномом первой степени по узлам −h и h.