Самарский А.А. Гулин А.В. - Численные методы (1078412), страница 35
Текст из файла (страница 35)
(16, т. !, с. 248) ), отметим лишь, что оно основано на использовании интерполяцнонного многочле- на Эрмнта Н(х) с двукратными узлами Н(х,) =)(хл), Н'(х,) =)'(хл), А=1, 2,, и. 5. Частный случай формул Гаусса. Фора!ухали Эрмита называ- ются формулы Гаусса для вычисления интеграла 1 7(х) пх (13) )Т! хл — 1 т. е. когда а= — 6 = — 1, р(х) = (1 — х')-"'. Чтобы определить узлы соответствующей квадратурной форму- лы, надо, согласно теореме 1, найти многочлен (3), для которого 1 м(х) )Ч(х)л(х=0 !' ! — хл -1 для любого многочлена д(х) степени меньше а.
Можно показать (см. 12, с. 117]), что таковым является многочлен Чебышева ! л! (х) = 7 (.т) = — „, соз (и агссоз х). (15) Поэтому узлами квадратурной формулы Эрмнта являются корни этого многочлена (16) 2п Соответствующие коэффициенты вычисляются по формулам (5) Т„(х) пх сл= ф' ! — х' Т„(хл! (х — хл) и оказываются равными сл=л/и, 1=1, 2,, и. Таким образом, формулы Эрмита имеют вид (18) где х„ — корни многочлена Чебышева, определенные согласно (16). 185 5 4. Численное дифференцирование 1.
Некорректность операции численного дифференцирования. Задача численного дифференцирования состоит в приближенном вычислении производных функции и(х) по заданным в конечном числе точек значениям этой функции. Простейшие примеры формул численного дифференцирования рассматривались в и. 1 2 4 ч. 1. Напомним этн примеры. Пусть на [а, 6) введена сетка иа,=(х,=а+с6, с=О, 1,..., ЛС, 6Лс=6 — а) и определены значения и,=и(х,) функции и(х) в точках сетки. В качестве приближенного значения и'(х,) можно взять, например, любое из следующих разностных отношений: ис — и; — а и, — и.
саа с саа с-1 и — ис и-.= ' ', ихл= Л ' ° Л ' «с ЗЛ Возникающая в результате такой замены погрешность характеризуется разложениями и-, с = и' (хс) — — й (ьс' ), и,,с = й(х;) + —,й(с(м), 2 и: = и' (хс) + — сс"' (ьам), (2) (3) где ~сс", 1хх!, 2, 3,— точки из интервала (х, „ха,). Вторую производную в точке х, можно заменить отношением 1 ис„, — зис -с- ис , и- .= — (и, с — и-.) = хх,с Л к' х,с Лк при этом и-х с = их (х,) + — ист (х;) + 0(6а). (4) Четвертая производная йк(ха) с точностью до величины 0(6') аппроксимируется разностным отношением 1 и- — .= — (и- .
— 2и- .+и- . ) = ккхх,с Лх кх,с а хк,а кх,а-а с = — (иы, — 4и;„, +би; — 4и;, +и;,). Ла Как правило, значения функции и(х) в точках сетки ыа вычисляются не точно, а с каким-то приближением. Например, элементарные трансцендентные функции вычисляются с помощью рядов, причем ряды заменяются конечными суммами. Другим источником погрешностей являются погрешности округления, Оказывается, что погрешность, возникающая при вычислении разностных отношений, намного превосходит погрешность в задании значений функции п(х) и даже может неограниченно возрастать при стремлении шага 166 сетки й к нулю.
Поэтому операцию вычисления разностных отношений называют некорректной. Поясним причину некорректности на примере вычисления разностного отношения и-„,. = (и; — иг,)/й. Разностное о~ношение и;, хорошо приближает и'(х,) только в том случае, когда шаг й достаточно мал. Требование малости величины й, находящейся в знаменателе разностного отношения, как раз и является причиной некорректности операции численного дифференцирования, Действительно, пусть вместо точного значения иь и,, вычислены приближенные значения йг=и,+бг, йг г=и, г+бг г. Тогда вместо и„-,.
будет вычислена величина и;х+ (6,— бг,)/й. Следовательно, погрешность в вычислении первой разностной произ. волной окажется равной 6„-г = (6,— 6~ ~)/й. В дальнейшем погрешности такого рода будем называть погрешностями округления (хотя их реальная природа может быть иной). Пусть известна граница 6 погрешностей бь 6, „т. е. ~6;~(6, ~6;,( (6.
Тогда ! 6„-,. ~ ( 26/й, (5) причем эта оценка достигается при 6;= — 6,,=6. Из оценки (5) видно, что вследствие малости й погрешность, возникающая при вычислении первой разиостной производной, значительно превосходит погрешность вычисления самой функции и(х). Если 6 не зависит от й, то погрешность 67г неограниченно возрастает при Ь О. Сказанное не означает, что нельзя пользоваться формулами численного дифференцирования. Чтобы не происходило существенного понижения точности, надо следить за тем, чтобы погрешность округления имела тот же порядок, что и погрешность аппроксимации.
Например, из (1) следует, что погрешность аппроксимации при замене и'(х) отношением и;г не превосходит величины 0,5йМ„ где М,= игах 1и" (х) ~. Естественно потребовать, чтобы и нохем.ы грешность округления 6„-г была бы сравнима с погрешностью аппроксимации, например 26//г(М,й/2, (6) где М, не зависит от й. Это означает, что погрешность 6 при вычислении значений функции и(х,) должна быть величиной 0(й'). С другой стороны, неравенство (6) показывает, что если величина 6 задана и мы не можем ее менять, то вычисления надо проводить не с произвольно малым шагом й, а с шагом, удовлетворяющим условию й~й,, где й,=2)гб/М,. При вычислении производных более высокого порядка, когда в знаменатель разностного отношения входит й', й>1, влияние неточности в задании и(х;) сказывается еще сильнее.
Например, при вычислении разностного отношения и-,„-,„, погрешность округления является величиной 0 (бй-'), где 6 — граница погрешности округления функции и(х). В этом случае для того чтобы погрешность округления б;„-„г была сравнима с погрешностью аппроксимации, 187 (х — х;,) (х — хд+д! Отсюда получим д, д(х) = [2х — х; — х;дд) ]дд[Ь[ + Ьд ,) (2х — х; д — хд! (2х — х; — х, „) и ьл,д Это выражение можно принять за приближенное значение и'(х) в любой точке хан(х; „хд„). Его удобнее записать в виде ! Г и;, — и] и,,— и;, д лмд где 6;=0,5(йд+]]да,), х...,=хд — 0,5йа В частности, прн х=хд получим 2 1 и; ьд„д в[ "д и если сетка равномерна, [д,,=[д,=]д, то приходим к центральной разностной производной, [.,и (хд) = и., х,! 188 надо потребовать, чтооы ][= )]„где йд = О(6" д), либо проводить вы- числение и(хд) с погрешностью 6=0(йа).
Например, если 6=!О '*, то шаг й надо брать примерно равным 0,01. При этом погрешность аппроксимации и погрешность округления будут примерно равны- ми 10 '. Вычисление производной и'(х) по заданной функции и(х) так- же является некорректной операцией в том смысле, что для огра- ниченной функции и(х) производная и'(х) может быть сколь угод- но большой.
Например, для и(х)=з]пидх имеем шах [и(х)~ =1 н х =[а,Ь] шах ) и' (х) ! = ) и] )-+ сдд при ид-д-ои, хы[а, Ь] Строгие определения корректности математической задачи и способы решения некорректных задач изложены в книге (38]. 2. Применение интерполирования. Многие формулы численного дифференцирования можно получить как следствие интерполяцнон- ных формул. Для этого достаточно заменить функцию и(х) ее ин- терполяционным многочленом Е„(х) и вычислить производные мио- гочлена Е.(х), используя его явное представление, В отличие от п.
1 рассмотрим неравномерную сетку и]д = (и = ха ( х~ (хд (... (хх = 6г и обозначим через ]д,=х,— х, „д=!, 2, ..., Лд, шаги этой сетки. В качестве примера получим формулы численного дифференциро- вания, основанные на использовании многочлена Лагранжа Л„(х), построенного для функции и(х) по трем точкам хд „х„хн и Много- член Ь,х(х) имеет вид Едх (х) = [х — х;) (х — х;„! — ьд(ад + аддд) ]ддад,д При использовании интерполяционного многочлена первой степени точно таким же образом можно получить односторонние разностные производные и-,с и и„ь Далее, вычисляя вторую производную многочлена с сс(х), получим приближенное выражение для и" (х) прн хек(х; ь хс,): 'ис„, — ис ссс — ис, ' Ь,.
( Ьс„ Ьс (1Ог На равномерной сетке это выражение совпадает со нторой разностной производной и;,с Ясно, что для приближенного нычисленин дальнейших производных уже недостаточно многочлена Л,,(х), надо привлекать многочлены более высокого порядка и тем самым увеличивать число узлов, участвующих в аппроксимации. Порядок погрешности аппроксимации зависит как от порядка интерполяционного многочлепа, так и от расположения узлов интерполирования. Получим выражение для погрешности аппроксимации, возникающей при замене и'(х) выражением с'',,(х).
Будем считать, что х~[х. ь х„,) и что величины Ьь Ьс., имеют один н тот же порядок малости при измельчении сетки. По формуле Тейлора в предположении ограниченности и'~(х) получим ив ь = и (х) + (хна — х) и' (х) + 2 6 Подставляя (11) и (12) в выражение для (8) и приводя подобные члены, получим 1.,,с (х) = (х хс)й (Ьс 1 Ьс) (х хс) = и' (х)— 2 3 разностной производном й,ьс ~ ию~~ (х) 1 Р () з) 6 хя (хс „хс,).
Отсюда видно, что разностиое выражение (8) аппроксимирует и'(х) со вторым порядком. Несколько хуже обстоит дело с выраже- нием (10), аппроксимирующим вторую производную. Из (4) видно, )вв где Ь=О, -с-1, Ь=тах (Ь„)с,,,). Отсюда приходим к следующим раз- ложениям разностных отношений: ис — ис, ' ' = и' (х) — (х — хс И) и" (х) + Ьс -1 ~ ' и + — ') и'"(х)"+ р(Ь'), (11) ' = и' (х) + (хс, и — х) и" (х) + Ьи, — +"'" ~и" (х)+Р(Ьз). (12У что на равномерной сетке в точке х=х, имеет место аппроксимация О()се).
Покажем, что на неравномерной сетке (А,Ф)г„,) погрешность аппроксимации будет иметь только первый порядок. Подставляя разложения (11), (12) в выражение (10) для Е,х (х), получим Ьзл(х)=и" (х)+(хс — х+ "' ')и'"(х)+О(йз). 3 Здесь даже на равномерной сетке второй порядок аппроксимации имеет место лишь в точке х=х„а относительно других точек (например, точек х=х,, и х=х„,) выполняется аппроксимация только первого порядка.
ГЛАВА 5 РЕШЕНИЕ НЕЛИНЕЙНЫХ УРАВНЕНИЙ И СИСТЕМ УРАВНЕНИЙ В 1. Примеры итерационных методов решения нелинейных уравнений 1. Введение. Пусть задана функция )(х) действительного переменного. Требуется найти корни уравнения 1(х) =0 (1) или, что то же самое, нули функции ) (х). Уже на примере алгебраического многочлена известно, что нули 1(х) могут быть как действительными, так и комплексными. Поэтому более точная постановка задачи состоит в нахождении корней уравнения (1), расположенных в заданной области комплексной плоскости. Можно рассматривать также задачу нахождения действительных корней, расположенных на заданном отрезке. Иногда, пренебрегая точностью формулировок, будем говорить, что требуется решить уравнение (1).