1611688890-f641c9ec8276824e4686da772eb56520 (826652), страница 20
Текст из файла (страница 20)
Каков будет порядок погрешности такой интерполяции взависимости от h для различных функций g(x)? 151−1011−101Рис. 2.12. Графики функции y = |x|α при 0 < α < 1 и α > 1.Для функции g(x) = |x|α , α > 0, погрешность интерполяции будет, очевидно, равна hα , так что её порядок равен α. Он может бытьнецелым числом (в частности, дробным) и даже сколь угодно малым.Возьмём в качестве g(x) функцию(exp − x12 , при x 6= 0,g(x) =0,при x = 0,15 Идеяэтого примера заимствована из пособия [45], задача 4.2.1132.8.
Численное дифференцирование10−55Рис. 2.13. График функции y = exp(−1/x2 ).известную в математическом анализе как пример бесконечно гладкой,но не аналитической (т. е. не разлагающейся в степенной ряд) функции.Погрешность интерполяции значения этой функции в нуле с помощьюформулы (2.75) равна exp(−1/h2 ), при h → 0 она убывает быстреелюбой степени h, так что порядок точности нашей интерполяции оказывается бесконечно большим.
Но такой же бесконечно большой порядок точности интерполирования будет демонстрировать здесь функцияy = x2 g(x), хотя для неё погрешность h2 exp(−1/h2 ) убывает существенно быстрее.Из выкладок, проведённых для определения погрешности формулы «центральной разности», хорошо видна особенность метода разложений по формуле Тейлора: его локальный характер, вытекающий изсвойств самой формулы Тейлора. Наши построения оказываются «привязанными» к определённому узлу (или узлам) сетки, относительно которого и следует строить все разложения, чтобы обеспечить взаимныеуничтожения их ненужных членов.
Как следствие, в этом специальномузле (узлах) мы можем быстро оценить погрешность. Но за пределамиэтого узла (узлов), в частности, между узлами сетки всё гораздо сложнее и не так красиво, поскольку взаимные уничтожения членов могутуже не происходить.Какой порядок точности имеют другие формулы численного дифференцирования?Методом разложений по формуле Тейлора для дважды гладкойфункции f нетрудно получить оценки|fx,i − f ′ (xi )| ≤M2h,2|fx,i − f ′ (xi )| ≤M2h,2(2.76)1142. Численные методы анализагде M2 = maxξ |f ′′ (ξ)| по ξ из соответствующего интервала между узлами. Таким образом, разность вперёд (2.63) и разность назад (2.63)имеют всего лишь первый порядок точности. Отметим, что для дваждынепрерывно дифференцируемых функций оценки (2.76) уже не могутбыть улучшены и достигаются, к примеру, на функции f (x) = x2 .Конспективно изложим другие результаты о точности формул численного дифференцирования:1−3fi + 4fi+1 − fi+2 + O(h2 ),2h1fi−2 − 4fi−1 + 3fi + O(h2 ),f ′ (xi ) =2h1f ′ (xi ) =−2fi−1 − 3fi + 6fi+1 − fi+2 + O(h3 ),6h1f ′ (xi ) =fi−2 − 6fi−1 + 3fi + 2fi+1 + O(h3 ).6hf ′ (xi ) =Оценим теперь погрешность формулы (2.67) для второй производнойfi−1 − 2fi + fi+1f ′′ (xi ) ≈ fxx,i =.h2Обозначая для краткости fi′ = f ′ (xi ) и fi′′ = f ′′ (xi ), получимfxx,i =1h2h2 ′′ h3 ′′′ h4 (4)fi − hfi′ +fi −fi +f (ξ− ) − 2fi2624+ fi += fi′′ +hfi′!h2 ′′ h3 ′′′ h4 (4)f +f +f (ξ+ )+2 i6 i24h2 (4)f (ξ− ) + f (4) (ξ+ ) ,24где ξ− , ξ+ — некоторые точки из открытого интервала ]xi−1 , xi+1 [ .
Поэтому если f ∈ C4 [xi−1 , xi+1 ], то справедлива оценка|f ′′ (xi ) − fxx,i | ≤M4 2h ,12где M4 = maxξ |f (4) (ξ)|. Таким образом, порядок точности этой формулы равен 2 на функциях из C4 .1152.8. Численное дифференцированиеПриведём ещё без вывода результат о погрешности формулы длявычисления второй производной вблизи края сетки (таблицы):12fi − 5fi+1 + 4fi+2 − fi+3 + O(h2 ),2h1f ′′ (xi ) = 2 fi−3 − 4fi−2 + 5fi−1 − 2fi + O(h2 ).hf ′′ (xi ) =Порядок этих формул всего лишь второй, откуда видна роль симметричности шаблона в трёхточечной формуле (2.67) с тем же порядкомточности.Что произойдёт, если дифференцируемая функция не будет иметьдостаточную гладкость? Тогда мы не сможем выписывать необходимое количество членов разложения по формуле Тейлора, и потому полученный порядок точности формул с помощью метода разложенийустановить не сможем.
Тот факт, что в этих условиях реальный порядок точности может быть в самом деле меньшим, чем для функций свысокой гладкостью, показывает следующийПример 2.8.2 Рассмотрим функцию g(x) = x |x|, которую эквивалентным образом можно задать в видеg(x) =(x2 ,2−x ,если x ≥ 0,если x ≤ 0.Её график изображён на Рис. 2.14.Функция g(x) дифференцируема всюду на числовой оси. При x 6= 0она имеет производную, равнуюg ′ (x) =а в нулеx |x|′= x′ |x| + x |x|′ = |x| + x sgn x = 2 |x|,g ′ (0) = limx→0x |x|= 0.xТаким образом, производная g ′ (x) = 2 |x| всюду непрерывна. Но онанедифференцируема в нуле, так что вторая производная g ′′ (0) уже несуществует.
Как следствие, g(x) ∈ C1 , но g(x) 6∈ C2 на любом интервале,содержащем нуль.1162. Численные методы анализа11Рис. 2.14. График функции y = x |x|: увидеть разрывеё второй производной в нуле почти невозможно.Воспользуемся для численного нахождения производной g ′ (0) формулой центральной разности (2.66) на шаблоне с шагом h, симметричном относительно нуля:g ′ (0) ≈h |h| − (−h) | − h|h2 + h2g(h) − g(−h)=== h.2h2h2hТаким образом, при h → 0 приближённое числовое значение производной стремится к g ′ (0) = 0 c первым порядком по h, а не вторым, какмы установили это ранее для дважды гладких функций.2.8вМетод неопределённых коэффициентовМетод неопределённых коэффициентов — это другой подход к получению формул численного дифференцирования, особенно удобный вмногомерном случае, когда построение интерполяционного полиномастановится непростым.Предположим, что задан шаблон из p + 1 штук точек x0 , x1 , .
. . , xp .Станем искать приближённое выражение для производной от функциив виде линейной формы от значений функции, т. е. какf (k) (x) ≈pXi=0ci f (xi ).(2.77)2.8. Численное дифференцирование117Она мотивируется тем обстоятельством, что дифференцирование любого порядка является операцией, линейной по значениям функции.Линейными формами от значений функции были, в частности, все полученные ранее формулы численного дифференцирования, начиная с(2.63) и кончая (2.74).Коэффициенты ci линейной формы постараемся подобрать так, чтобы эта формула являлась точной формулой для какого-то «достаточно представительного» набора функций. Например, в качестве таких«пробных функций» можно взять все полиномы степени не выше заданной, либо тригонометричексие полиномы (2.4) какого-то фиксированного порядка и т. п.
Рассмотрим ниже подробно случай алгебраических полиномов.Возьмём f (x) равной последовательным степеням переменной x,т. е. 1, x, x2 , . . . , xq для некоторого фиксированного q. Если формула (2.77) обращается в точное равенство на этих «пробных функциях»,то с учётом её линейности можно утверждать, что она будет точнойдля любого алгебраического полинома степени не выше q.Каждое условие, выписанное для какой-то определённой степени xj ,j = 0, 1, . .
. , q, является линейным соотношением для неизвестных коэффициентов ci , и в целом мы приходим к системе линейных уравненийотносительно ci , i = 0, 1, . . . , p. Для разрешимости этой системы естественно взять число неизвестных равным числу уравнений, т. е. q = p.Получающаяся система линейных уравнений имеет видc0 + c1 + . .
. + cp =0,c0 x0 + c1 x1 + . . . + cp xp =0,............... c0 xk−1 + c1 xk−1 + . . . + cp xk−1 =0,p01(2.78)k!, c0 xk0 + c1 xk1 + . . . + cp xkp = c xk+1 + c xk+1 + . . . + c xk+1 =(k + 1)! x,0 01 1p p.................. c xp + c xp + . . . + c xp = p(p − 1) · · · (p − k + 1) xp−k .0 01 1p pВ правых частях этой системы стоят k-е производные от 1, x, x2 , .
. . ,xq , а матрицей системы является матрица Вандермонда вида (2.7), которая неособенна для попарно различных узлов x0 , x1 , . . . , xp . При1182. Численные методы анализаэтом система линейных уравнений однозначно разрешима относительно c0 , c1 , . . . , cp для любой правой части, но содержательным являетсялишь случай k ≤ p. В противном случае, если k > p, правая частьсистемы (2.78) оказывается нулевой, и, как следствие, система такжеимеет только бессодержательное нулевое решение. Этот факт имеетинтуитивно ясное объяснение: нельзя построить формулу для вычисления производной k-го порядка от функции, используя значения этойфункции не более чем в k точках.Матрицы Вандермонда в общем случае являются плохообусловленными (см.
§3.5б). Но на практике решение системы (2.78) — вручнуюили на компьютере — обычно не приводит к большим ошибкам, таккак порядок системы (2.78), равный порядку производной, бывает, какправило, небольшим.16Пример 2.8.3 Построим формулу численного диференцированияИнтересен вопрос о взаимоотношении метода неопределённых коэффициентов и рассмотренного ранее в §2.8а интерполяционного подходак численному дифференцированию.
К примеру, Ш.Е. Микеладзе в книге [56] утверждает, что любая формула численного дифференцирования, полученная методом неопределённых коэффициентов, может бытьвыведена также с помощью интерполяционного подхода, отказывая методу неопределённых коэффициентов в оригинальности. Но нельзя отрицать также, что метод неопределённых коэффициентов конструктивно проще и технологичнее в применении, и уже только это обстоятельство оправдывает его существование.2.8гПолная вычислительная погрешностьчисленного дифференцированияРассмотрим поведение полной погрешности численного дифференцирования при расчётах на реальных вычислительных устройствах.Под полной погрешностью мы понимаем суммарную ошибку численного нахождения производной, вызванную как приближённым характером самого метода, так и неточностями вычислений на цифровыхЭВМ из-за неизбежных ошибок округления и т.
п.16 На стр. 91 мы уже обсуждали вопрос о том, каков наивысший порядок производных, всё ещё имеющих содержательный смысл.1192.8. Численное дифференцированиеПредположим, к примеру, что первая производная функции вычисляется по формуле «разность вперёд»f ′ (xi ) ≈ fx,i =fi+1 − fi.hКак мы уже знаем, её погрешность|fx,i − f ′ (xi )| ≤M2 h,2где M2 = maxξ∈[a,b] |f ′′ (ξ)|. Если значения функции вычисляются сошибками, то вместо точных fi и fi+1 мы получаем их приближённыезначения f˜i и f˜i+1 , такие что|fi − f˜i | ≤ δи|fi+1 − f˜i+1 | ≤ δ,где через δ обозначена предельная абсолютная погрешность вычисления значений функции.
Тогда в качестве приближённого значения производной мы должны взятьf ′ (xi ) ≈f˜i+1 − f˜i,hа предельную полную вычислительную погрешность E(h, δ) нахождения первой производной функции можно оценить следующим образом: f˜i+1 − f˜iE(h, δ) = − f ′ (xi )h f˜i+1 − f˜i fi+1 − fi fi+1 − fi′≤ +−− f (xi )hhh (f˜i+1 − fi+1 ) + (fi − f˜i ) M2 h+≤ h2≤(2.79)2δ M2 h|fi+1 − f˜i+1 | + |fi − f˜i | M2 h+=+.h2h2Отметим, во-первых, что эта оценка, достижима при подходящемсочетании знаков фигурирующих в неравенствах величин, коль скородостижимо используемое в преобразованиях неравенство треугольника1202. Численные методы анализа|a + b| ≤ |a| + |b| и достижима оценка погрешности (2.76) для формулы«разность вперёд».