Самарский А.А., Гулин А.В. Численные методы (1989) (1095856), страница 34
Текст из файла (страница 34)
На практике применяются формулы Гаусса с числом узлов до 100. Для погрешности формул Гаусса справедливо представление ь ф„()) = — ( р (х) вх (х) )а"! (8) Ых, (12) (2а)! ) а (14) (16) где $ ~ (а, Ь) . Не приводя доказательства (см. [16, т. 1, с. 248]), отметим лишь, что оно основано на использовании интерполяцнонного многочле. на Эрмита Н(х) с двукратными узлами Н(хь) =)(хь), Н'(х,) =~'(хь), 5=1, 2,..., л. 5. Частный случай формул Гаусса. Формулами Эрмита называются формулы Гаусса для вычисления интеграла 1 ((х) ах (13) г' 1 — хь -1 т. е.
когда а= — Ь = — 1, р(х) = (1 — х')-"'. Чтобы определить узлы соответствующей квадратуриой формулы, надо, согласно теореме 1, найти многочлен (3), для которого 1 ( ) ~ (х) ь(х = 0 Г' 1 !в хх для любого многочлена д(х) степени меньше л. Можно показать (см. (2, с. 1171), что таковым является многочлен Чебышева ! ьь (х) = Гх (х) = — соз (л агссоз х). (15) Поэтому узлами квадратурной формулы Эрмита являются корни этого многочлена хь= соз (2х — 1) а 5=1,2, ...,а.
2л Соответствующие коэффициенты вычисляются по формулам (5) сь= т„(х) ах (17) г' 1 — х' т„(хх) (х — хь) и оказываются равными сь=л/л, й=!, 2,..., а. Таким образом, формулы Эрмита имеют вид .= — ~ ((хь), (18) где х„— корни многочлена Чебышева, определенные согласно (16). 188 $4. Численное дифференцирование 1.
Некорректность операции численного дифференцирования. Задача численного дифференцирования состоит в приближенном вычислении производных функции и(х) по заданным в конечном числе точек значениям этой функции. Простейшие примеры формул численного дифференцирования рассматривались в п. 1 $4 ч. 1.
Напомним эти примеры. Пусть на [а, 6] введена сетка еь,=(х,=а+Я,1=0, 1,..., М, ЬН=Ь вЂ” а) и определены значения и,=и(х,) функции и(х) в точках сетки. В качестве приближенного значения и'(х,) можно взять, например, любое из следующих разностных отношений: и; — и~, и; — и~ и~ д — и,. и-= ' ', ил= , и.
Возникающая в результате такой замены погрешность характеризуется разложениями и-,, = и' (х;) — — й (ью), и„х = и' (х~) + — й (ь)"), 2 и . = и'(х;) + — и (ь("), (2) (3) где ~;1", 1= 1, 2, 3, — точки из интервала (х, „ х,+,). Вторую производную в точке х, можно заменить отношением 1 им — 2и~+ и~ и- = — (и„. ~ — и-.) = ккх Л ° хх Лэ Ф при этом и-, = й (х,) + — иш (х;) + О (Ь4). (4) Четвертая производная и'"(х,) с точностью до величины 0(Ь*) аппроксимируется разностным отношением 1 и„-„„-„, = —, (и„-„,.„— 2и-,„, + „-„.,) = ! = — (им — 4ги 1 + би1 — 4инч + и~ .,).
Л4 Как правило, значения функции и(х) в точках сетки ец вычисляются не точно, а с каким-то приближением. Например, элементарные трансцендентные функции вычисляются с помощью рядов, причем ряды заменяются конечными суммами. Другим источником погрешностей являются погрешности округления. Оказывается, что погрешность, возникающая при вычислении разностнык отношений, намного превосходит погрешность в задании значений функции и(х) и даже может неограниченно возрастать при стремлении шага 186 сетки Й к нулю. Поэтому операцию вычисления разностных отношений называют некорректной. Поясним причину некорректности на примере вычисления разностного отношения и„-,.
= (и,— и,,)/Й. Разностное отношение и„-, хорошо приближает и'(х,) только в том случае, когда шаг Й достаточно мал. Требование малости величины Й, находящейся в знаменателе разностного отношения, как раз и является причиной некорректности операции численного дифференцирования.
Действительно, пусть вместо точного значения иь и,, вычислены приближенные значения й,=и;+бь й,-,=и,,+6,-, Тогда вместо и„-, будет вычислена величина и;,. + (6,— 6~,)/Й. Следовательно, погрешность в вычислении первой разностной произ. водной окажется равной 6„-, = (бг — 6~-,)/Й. В дальнейшем погрешности такого рода будем называть погрешностями округления (хотя их реальная природа может быть иной). Пусть известна граница б погрешностей 6„6, „т.
е. ~6;~(6, 16,,) =6. Тогда ~6„-,~(26/Й, (5) причем эта оценка достигается при б,= — 6,=6. Из оценки (5) видно, что вследствие малости Й погрешность, возникающая прн вычислении первой разностной производной, значительно превосходит погрешность вычисления самой функции и(х). Если 6 не зависит от Й, то погрешность 6„-, неограниченно возрастает при Й-+.О.
Сказанное не означает, что нельзя пользоваться формулами численного дифференцирования. Чтобы не происходило существенного понижения точности, надо следить за тем, чтобы погрешность округления имела тот же порядок, что и погрешность аппроксимации. Например, из (1) следует, что погрешность аппроксимации при замене и'(х) отношением и„-, не превосходит величины 0,5ЙМ„ где М = шах ~и"(х) ~. Естественно потребовать, чтобы и по- хе[О,м грешность округления 6„-, была бы сравнима с погрешностью аппроксимации, например 26/Й(М,Й/2, (6) где М, не зависит от Й.
Это означает, что погрешность 6 при вычислении значений функции и(х,) должна быть величиной 0(Й'). С другой стороны, нераненство (6) показывает, что если величина 6 задана и мы не можем ее менять, то вычисления надо проводить не с произвольно малым шагом Й, а с шагом, удовлетворяющим условию Й) Й,, где Й,= 216/Мь Прн вычислении производных более высокого порядка, когда в знаменатель разностного отношения входит Й", Й) 1, влияние неточности в задании и(х,) сказывается еще сильнее.
Например, при Вычислении разностного отношения и-„„-„„, погрешность округления является величиной 0(6Й '), где б — граница погрешности округления функции и(х). В этом случае для того чтобы погрешность округления 6-;„„-,. была сравнима с погрешностью аппроксимации, 1эт надо потребовать, чтобы й)й„где й,= 0(би'), либо проводить вычисление и(х,) с погрешностью 5=0(й'). Например, если 5=10 '*, то шаг й надо брать примерно равным 0,01. При этом погрешность аппроксимации и погрешность округления будут примерно равными !0-'. Вычисление производной и'(х) по заданной функции и(х) также является некорректной операцией в том смысле, что для ограниченной функции и(х) производная и'(х) может быть сколь угодно большой. Например, для и(х)=з!пвх имеем шах ~и(х)~<1 и »в[ад) шах )и'(х) ~ = !в~-~ос при в — э-оо. »в[о,э! Строгие определения корректности математической задачи и способы решения некорректных задач изложены в книге [38).
2. Применение интерполирования. Многие формулы численного дифференцирования можно получить как следствие интерполяционных формул. Для этого достаточно заменить функцию и(х) ее интерполяционным многочленом Е,(х) и вычислить производные многочлена Ь„(х), используя его явное представление. В отличие от п. 1 рассмотрим неравномерную сетку в„=(а=х,<х,<х,«...х„=Ь) и обозначим через й;=х,— х, „(=1, 2, ..., У, шаги этой сетки. В качестве примера получим формулы численного дифференцирования, основанные на использовании многочлена Лагранжа 7.,»(х), построенного для функции и(х) по трем точкам х, „хь »со Много- член 7.„(х) имеет вид Е,,; (х) = [х — х~) (х — хи,) [х — х~ 1) (х — ";+1) (х х[-1) (» хд (7) Отсюда получим Е хх (х) = (2» — х~ — хи ) (2х — х; — хи ) (2х — х~ — х~) и;,— и;+ ' ' и;+,. (й[+й!)йгтй~(й[+йк) Это выражение можно принять за приближенное значение и'(х) в любой точке хен(х, ь х„,].
Его удобнее записать в виде ии — и[ и — и,, Е,х (х) = — ~(х — х. к) " + (х;+к — х) ' ', (8) йи» "[ где 6,=0,5(й,+й,~,), х; ь — — х,— 0,5йь В частности, при х=х, получим (9) и если сетка равномерна, й,,=й,=й, то приходим к центральной разностной производной, Е,х (х;) = и.. хи [88 где 1= 0, +.1, 8=шах (йь йы,). Отсюда приходим к следующим разложениям разностных отношений: ' ' = и' (х) — (х — х. н) й (х) + 1 + ' и + — ' и"'(х)'+ 0(ла), (11Г = и' (х) + (х;+,, — х) и" (х) + Ьи, (ки, — к~ А]» ) + "н ) + — '" и"' (х) + 0 (Л'). (12) 2 24/ Подставляя (11) и (12) в выражение для разностной производной (8) и приводя подобные члены, получим 1.,; (х) = (к — к;)~ (Ьи — Ь;) (к — к~) [ 2 3 ' ' '" ~и"'(х)+0(п'), (Ьеаи, 6 х Е= (хс-и хьм).
=и'(х) Отсюда видно, что разностное выражение (8) аппроксимирует и'(х) со вторым порядком. Несколько хуже обстоит дело с выраже- нием (10), аппроксимирующим вторую производную. Из (4) видно, 189 При использовании интерполяционного миогочлена первой степени точно таким же образом можно получить односторонние разностные производные и-„, и и„ь Далее, вычисляя вторую производную многочлена 1.,;(х), получим приближенное выражение для и" (х) при х~(х, ь хы,]: -и„, й„, Ь; На равномерной сетке это выражение совпадает со второй разностной производной и„-„ г Ясно, что для приближенного вычисления дальнейших производных уже недостаточно многочлена Е, <(х),.
надо привлекать многочлены более высокого порядка и тем самым увеличивать число узлов, участвующих в аппроксимации. Порядок погрешности аппроксимации зависит как от порядка интерполяционного многочлена, так и от расположения узлов интерполирования. Получим выражение для погрешности аппроксимации, возникающей при замене и'(х) выражением Ь'гз(х).
Будем считать, что х~(х; „х,+,] и что величины Ьь Й,~, имеют один и тот же порядок малости при измельчении сетки. По формуле Тейлора в предположении ограниченности и'" (х) получим иие = и (х) + (х;,к — х) и' (х) + 2 6 что на равномерной сетке в точке х=х, имеет место аппроксимация ч'.)(А'). Покажем, что на неравномерной сетке (А,МА,+,) погрешность аппроксимации будет иметь только первый порядок. Подставляя разложения (11), (12) в выражение (10) для 1.,х(х), получим 1,,„ (х) = й (х) + ( х; — х + '" з ) и'" (х) + О (Ьз). з Здесь даже на равномерной сетке второй порядок аппроксимации имеет место лишь в точке х=х,, а относительно других точек (например, точек х=х,, и х=х,+,) выполняется аппроксимация только первого порядка.