1626435584-7c6402f545ecf856225d6cf8d21519c9 (844233), страница 18
Текст из файла (страница 18)
Поэтому такие сетки и называют квазиравномерными или почти равномерными. Однако отношение длин далеких друг от друга интервалов 111/11; - $' (11)19' (11) может быть большим. Для того чтобы сгустить квазиравномерную сетку хь надо сгуст11ть равномерную сетку 11 (увеличить И) и по ней вычислить новую сетку. Середину интервала хг„ы квазиравномерной сетки надо вычислять при помощи того же преобразования, полагая х1,н,=в( + ~ )1 брать х;.,1а равной полусумме соседних узлов х1, х;„нельзя. рассмотрим некоторые примеры.. а) Если надо детзльно передать поведение функции вблизи одного из концов отрезка [и, Ь[, то удобно преобразование х = а+ (б — а) (еаг — 1)1(еа — 1). (19) Значение а~О соответствует малому шагу сетки у левого конца отрезка, значение и ~0 — у право~о.
Шаги этой сетки составляют геометрическую прогресси1о со знаменателем Ч=йг ПЬ1=е . Отношение первого и последнего а!и шага сетки примерно равно е"; при большом а оио может быть очень большим. Такая сетка полезна, например, в задачах атомной физики, где вояновые функции наиболее быстро меняются вблизи ядра. б) На полупрямой [а, со) то1ке можно построить квазиравномерную сетку; например, таким преобразованием: (20) х=а+а 1д(лМ2), 0 — 1(1. Параметр а управляет сеткой; чем он меньше, тем гуще узлы сетки при х — ьа н реже прн х- со.
Последяий интервал этой сетки (х, х,) бесконечно велик, ибо точка х,— бесконечно удаленная [огсюда ясно, что середину интер. вала квазиравномерной сетки надо находить при помощи основного преобразования)). Эта сетка полезна прн вычислении интегралов с бесконечным верхним пределом. в) Преобразование х=а1й(пМ2) при — 1(1<1 позволяет построить кзазнрааномерную сетку на бесконечной прямой, Первый и последний интервалы этой сетки бесконечны, г) Преобразование х= П, 0 ~ Г~~ 1, определяет не квазиравномерную сетку.
Здесь не выполнено условие строгой положительности й'(1). Поэтому преобразованию строится такая сетка: ха=О, х1=11Мз, ха=4)Мз, ...; Йа— - 1)Мз, Из=а)Мз, ... В результате разность двух соседних шагов — первого и второго — вдвое больше одного из них при любом М. Значит, вблизи точки х=О сетка не стремится к равномерной при М -ь со. Если сетка квазиравномерна, то производные на ней вычисляются либо проще, либо точнее, чем на произвольной неравномерной сетке. Например, если на такой сетке взять подряд три Узла х„х, х„то хз = (ха+ ха)/2+ ()та — Лз)/2 = (ха+ха)/2+ 0 (Ьз) (гл. Ин ЧИСЛЕННОЕ ДИФФЕРЕНЦИРОВАНИЕ и аналогично х, = (ха+ х, +ха)/3+0 (/гз).
Это означает, что узел х, расположен вблизи точкй повышенной точности для этих узлов, в окрестности размером 0(Ьз). Из сделанного в п. 2 замечания следует, что одночленные формулы (2), рассчитанные на произвольную сетку". Уг У (хо хз) уг 2У (х„х„х,), в узлах квазиравномерной сетки обеспечивают точность О(/ге). Пользоваться в этом случае формулами типа (7), рассчитанными на равномерную сетку, не следует — на квазиравномериой сетке их точность будет хуже.
На квазиравномерных сетках справедливо разложение остаточного члена в ряд (17), если порождающее сетки преобразование Х=$(/) достаточное число раз непрерывно дифференцируемо. В этом случае для повышения точности расчетов можно употреблять метод Рунге — Ромберга, подставляя в формулы (16) — (18) вместо /г величину 1/й/. Для квазиравномерных сеток этот метод особенно выгоден, ибо для них прямые формулы высокого порядка точности очень громоздки.
Только в одном пункте квазиравномерные сетки уступают равномерным. На них ряд для остаточного члена (17) даже в случае симметричной формулы содержит обычно все степени 1/Ж, поэтому каждая лишняя сетка позволяет повысить порядок точности лишь на единицу, а не на двойку.
Квазиравномерные сетки часто используют при решении сложных задач математической физики, когда необходимо при малом числе узлов детально передать особенности решения. 5. Быстроперемениые функции. Если функция (точнее, ее разделенные разности) значительно меняется на протяжении нескольких интервалов сетки, то интерполяция обобщенным многочленом обычно недостаточно точна для дифференцирования этой функцир.
Для таких функций особенно полезна квазилинейная интерпоз/яцня, производимая при помощи выравнивающих переменных. Если $(х), т) (у) — выравнивающие переменные, то для искомой производной справедливо соотношение (21) у = акт)4/т(д Выравнивающие преобразования подбирают несложными, чтобы их производные $,', т),' находились точно. Остается только численно найти т)..' способами, изложенными в предыдущих пунктах.
Например, пусть имеются таблицы энергии Е(Т, р) многократно ионизованной плазмы тяжелых атомов. Рассмотрим нахождение теплоемкости с = (оЕ/дТ); она отличается от теплоемкости идезльного газа, поскольку в иее входит энергия, идущая на отрыв от ионного остова новых электронов при повышении температуры. Ранее упоминалось, что зависимость Е(Т) напоминает степенную Оо слабо переменным показателем и выравнивающим является пре- 81 ГЛ !Щ ЧИСЛЕННОЕ ДнфФЕРЕИЦИРОВАНИЕ образование т)=!п Е, $=1п Т.
Легко видеть, что формула (21) принимает вид с„= (Е/Т) и,'=-(Е/Т) (д (!п Е)/д (1и Т)1; последнюю производную находят численным дифференцированием (см. задачу Т). Если в исходных переменных сетка была равномерной или квазиравномерной, то обычно она квазиравномерна и в выравнивающих переменных, ибо выравнивающее преобразование на ограниченном отрезке почти всегда обладает требуемыми свойствами производных. В этом случае результат можно уточнять методом Рунге — Ромберга. Формула двукратного дифференцирования при помощи выравнивающих переменных достаточно сложна: У."р = [$"-Ч'+ ($')' т)11 — т)" (Ыт)1/Чр)')/т)' (22) и ее применение не всегда обеспечивает хорошую точность.
Но для быстропеременной функции двукратное дифференцирование интерполяционного многочлена Лагранжа еще более ненадежно. Поэтому вторую и более высокие производные быстропеременной функции трудно найти численно. 6. Регуляризация дифференцирования. При численном дифференцировании приходится вычи- // тать друг из друга близкие значе- г+г ния функции. Это приводит к уничтожению первых значащих цифр, т. е. к потере части достоверных ° ° " ./гр/ду знаков числа. Если значения функции известны с малой точностью, то встает естественный вопрос— останется ли в ответе хоть один достоверный знак? Для ответа на этот вопрос исследуем ошибки при численном дифференцировании. При интерполировании обобщенным многочленом производная /т-го порядка определяется согласно (2) †(3) формулой типа уга> (х) =//-а ~~ Ср(х) у(хе)+)/а (х).
Сд(х) =0(1). (23) Если формула имеет порядок точности р, то, значит, ее остаточный член равен )г,(х)--С(х) /!Р. Этот остаточный член определяет погрешность метода, и он неограниченно убывает при й- О. Его зависимость от шага изображена на рис. 15 жирной линией. числениоа ди ьФсганциРОВлние !гл. гп Но есть еще неустранимая погрешность, связанная с погрешностью функции бу(х).
Поскольку точный вид этой погрешности неизвестен, можно оценить только мажоранту неустранимой погрешности ге=6 йгл ~ (Сч !, она неограниченно возрастает при !г-~0 (тонкая линия на рис. 15). Фактически же неустранимая погрешность будет нерегулярно зависеть от величины шага, беспорядочно осциллируя в грани!!ах, определяемых мажорантой (точки на рис.
15). Пока шаг достаточно велик, при его убывании неустранимая погрешность мала по сравнению с погрешностью метода; поэтому полная погрешность убывает. При дальнейшем уменьшении шага неустранимая погрешность становится заметной, что проявляется в не вполне регулярной зависимости результатов вычислений от величины шага. Наконец, при достаточно малом шаге неустранимая погрешность становится преобладающей, и при дальнейшем уменынении шага результат вычислений становится все менее достоверным.
Полная погрешность мажорируется суммой Яь+г„(штриховая кривая на рисунке), Оптимальным будет шаг, соответствующий минимуму этой кривой. Нетрудно подсчитать, что 6,(6) =(убоях; ~С,урС)п!'+"=О(6' +м), ппп (Кь+ гь) = СЬ~ (1 )- ~~ ) = О (6л!!л+'!). (224) Меньший шаг невыгоден, а меньшая погрешность, вообще говоря, недостижима (хотя отдельные вычисления случайно окажутся более точными, но мы этого не сможем узнать). Эта минимальная ошибка тем меньше, чем меньше погрешность входных данных и порядок вычисляемой производной и чем выше порядок точности формулы. Очевидно, ори бу(х)-ь-О можно получить сколь угодно высокую точность результата, если !иаг с!премится к нулю, будучи всегда не менее йь(6), Но если допустить й<п,(6), то результат предельного перехода может быть неправильным.
Эта тонкость связана с некорректностью задачи дифференцирования. Рассмотрим погрешность входных данных вида бу(х) == =-т-'згп'х. Она приводит к погрешности первой производной бу' (х) = т соз т'х. При !и -~ оэ погрешность функции в ~! (!с неограниченно убывает, а погрешность производной в той же норме неограниченно растет. Значит, нет непрерывной зависимости производной от функции, т. е. дифферен!1ирование некорректно. Особенно сильно это сказывается при нахождении производных высокого порядка. вз ЧИСЛЕННОЕ ДИФФЕРЕНЦИРОВАНИЕ !л. Нп Изложенный выше способ определения оптимального шага и запре>цение вести расчет шагом.мейьше оптимального есть некоторый способ регуляризации дифференцирования, так называемая регуляризаиил по шагу.