1611688890-f641c9ec8276824e4686da772eb56520 (826652), страница 21
Текст из файла (страница 21)
Во-вторых, оценка не стремится к нулю при уменьшении шага h, так как первое слагаемое неограниченно увеличиваетсяпри h → 0. В целом, функция E(h, δ) при фиксированном δ имеет минимум, определяемый условием2δM2∂ 2δ M2 h∂E(h, δ)=− 2 +=+= 0.∂h∂h h2h2То есть, оптимальное значение шага численного дифференцирования,при котором достигается минимальная полная погрешность, равноph∗ = 2 δ/M2 ,(2.80)и брать меньший шаг численного дифференцирования смысла нет.
Са∗мо√ значение достигаемой при этом полной погрешности есть E(h , δ) =2 δM2 .Пример 2.8.4 Пусть в арифметике двойной точности с плавающейточкой, реализованной согласно стандарту IEEE 754/854 (см. §1.2), численно находится производная функции, вычисление выражения для которой требует выполения десяти арифметических операций c числамипорядка единицы. Пусть также модуль второй производной ограничен сверху величиной M2 = 10. Погрешность отдельной арифметической операции можно считать приближённо равной половине расстояния между соседними машинно представимыми числами, т.
е. примерно10−16 в районе единицы. Наконец, пусть абсолютная погрешность вычисления функции складывается из сумм абсолютных погрешностейкаждой операции, так что δ ≈ 10 · 10−16 = 10−15 при аргументах порядка единицы.pТогда в соответствии с формулой (2.80) имеем h∗ = 2 δ/M2 =2 · 10−8 , т. е. брать шаг сетки меньше 10−8 смысла не имеет.Совершенно аналогичная ситуация имеет место и при использовании других формул численного дифференцирования.
Производная kго порядка на равномерной сетке шага h определяется в общем случаеформулой вида17Xci f (xi ) + Rk (f, x),(2.81)f (k) (x) = h−ki17 Дляпримера можно взглянуть на те формулы, которые приведены в §2.8а.1212.8. Численное дифференцированиеE(h, δ) ✻✲0hРис. 2.15. Типичный график полной погрешностичисленного дифференцированиягде ci = O(1) при h → 0. Если эта формула имеет порядок точности p,то её остаточный член оценивается как Rk (f, x) ≈ c(x) hp . Этот остаточный член определяет «идеальную» погрешность численного дифференцирования в отсутствие ошибок вычисления функции, и он неограниченно убывает при h → 0.Но если погрешность вычисления значений функции f (xi ) в узлахравна δ, то в правой части (2.81) возникает ещё член, абсолютная величина которого совершенно аналогично (2.79) оценивается сверху какδh−kXi|ci |.Она неограниченно возрастает при h → 0. В целом график полной вычислительной погрешности численного дифференцирования выглядитв этом случае примерно так, как на Рис.
2.15.Практический вывод из сказанного состоит в том, что существуетоптимальный шаг h численного дифференцирования, минимизирующий полную вычислительную погрешность, и брать слишком маленькое значение шага h в практических расчётах нецелесообразно.Потенциально сколь угодно большое возрастание погрешности численного дифференцирования, в действительности, является отражением более глубокого факта некорректности задачи дифференцирования (см.
§1.3). Её решение не зависит непрерывно от входных данных, и1222. Численные методы анализаРис. 2.16. Возмущение функции добавкой1nsin(nx).это демонстрируют простые примеры. Если f (x) — исходная функция,производную которой нам требуется найти, то возмущённая функцияf (x) + n1 sin(nx) при n → ∞ будет равномерно сходиться к исходной,тогда как её производнаяf ′ (x) + cos(nx)не сходится к производной f ′ (x) (см. Рис.
2.16). При возмущении исходной функции слагаемым n1 sin(n2 x) производная вообще может скольугодно сильно отличаться от производной исходной функции.2.9Алгоритмическое дифференцированиеПусть u = u(x) и v = v(x) — некоторые выражения от переменнойx, из которых далее с помощью сложения, вычитания, умножения илиделения конструируется более сложное выражение. Напомним правиладифференцирования выражений, образованных с помощью элементарных арифметических операций:(u + v)′ = u′ + v ′ ,(u − v)′ = u′ − v ′ ,′′(2.82)(2.83)′(uv) = u v + uv , u ′u′ v − uv ′=.vv2(2.84)(2.85)1232.9. Алгоритмическое дифференцированиеИз них следует, что численное значение производной для сложного выражения мы можем найти, зная лишь значения образующих его подвыражений и их производных.Сделанное наблюдение подсказывает идею ввести на множестве парвида (u, u′ ), которые составлены из значений выражений и их производных, арифметические операции по правилам, следующим из формул (2.82)–(2.85):(u, u′ ) + (v, v ′ ) = (u + v, u′ + v ′ ),′′′′(u, u ) − (v, v ) = (u − v, u − v ),(u, u′ ) · (v, v ′ ) = (uv, u′ v + uv ′ ),(u, u′ )u u′ v − uv ′.=,(v, v ′ )vv2(2.86)(2.87)(2.88)(2.89)Первые члены пар преобразуются просто в соответствии с применяемой арифметической операцией, а операции над вторыми членами пар— это в точности копии правил (2.82)–(2.85).
Если для заданного выражения мы начнём вычисления по выписанным формулам (2.86)–(2.89),заменив исходную переменную x на пары (x, 1), а константы c — напары вида (c, 0), то на выходе получим пару, состоящую из численныхзначений выражения и производной от него в точке x.Это рассужднение очевидно обобщается на случай, когда функциязависит от нескольких переменных.Помимо арифметических операций интересующее нас выражениеможет содержать вхождения элементарных функций. Для них в соответствии с формулами дифференциального исчисления можем определить действия над парами следующим образомexp (u, u′ ) = (exp u, u′ exp u),sin (u, u′ ) = (sin u, u′ cos u),2(u, u′ ) = u2 , 2uu′ ,3(u, u′ ) = u3 , 3u2 u′ и т.д.Арифметику пар вида (u, u′ ) с операциями (2.86)–(2.89) называютдифференциальной арифметикой, а основанный на её использованииспособ вычисления значений производных носит название алгоритми-1242.
Численные методы анализаческого дифференцирования. Нередко используют также термин «автоматическое дифференцирование».Строго говоря, мы рассмотрели один из возможных способов организации алгоритмического дифференцирования, который называютпрямым режимом. Существует ещё и обратный режим алгоритмического дифференцирования.Описанную выше идею можно применить к вычислению вторыхпроизводных. Но теперь вместо дифференциальной арифметики парчисел (u, u′ ) нам необходимо будет оперировать с числовыми тройкамивида (u, u′ , u′′ ), поскольку в формулах для вторых производных функции фигурируют значения самой функции и её первых и вторых производных.Идея алгоритмического дифференцирования может быть распространена на вычисление разделённых разностей (наклонов) функций,а также на вычисление интервальных расширений производных и наклонов (см., к примеру, [68]).2.10Приближение функций2.10аОбсуждение постановки задачиВ этом параграфе мы займёмся задачей приближения функций.
Кней естественно приходят в ситуациях, где методы интерполированияпо различным причинам не удовлетворяют практику. Эти причины могут носить чисто технический характер. К примеру, гладкость сплайна может оказаться недостаточной, либо его построение — слишкомсложным. Степень обычного интерполяционного полинома может бытьнеприемлемо высокой для данного набора узлов интерполяции (а высокая степень — это трудности при вычислении значений полинома иего большая изменчивость). Но причины отказа от интерполяции могутиметь также принципиальный характер.
В частности, это происходит,если значения функции в узлах x0 , x1 , . . . , xn известны неточно, либо сами эти узлы нельзя указать явно и однозначно. В этих условияхцелесообразна коррекция постановки задачи.Именно, имеет смысл отказаться от требования, чтобы восстанавливаемая функция g была точно равна значениям fi в узлах x0 , x1 , . . . ,xn , допустив, к примеру, для g принадлежности её значений некоторым интервалам, т.
е. g(xi ) ∈ [f i , f i ], i = 0, 1, . . . , n, f i ≤ f i . Наглядногеометрически это означает построение функции g(x) из заданного2.10. Приближение функций125класса G, которая в каждом узле сетки xi , i = 0, 1, . . . , n, проходитчерез некоторый «коридор» [f i , f i ], см. Рис. 2.17.Рис. 2.17. Интерполяция функции, заданной с погрешностьюБолее общая постановка этой задачи предусматривает наличие некоторой метрики (расстояния), которую мы будем обозначать через dist,и с помощью которой можно измерять отклонение вектора значений(g(x0 ), g(x1 ), . .
. , g(xn ))⊤ функции g(x) в узлах сетки от вектора заданных значений (f0 , f1 , . . . , fn )⊤ . Напомним, что на множестве Y , образованном элементами произвольной природы, расстоянием (или метрикой) называется определённая на декартовом произведении Y × Yфункция dist с неотрицательными вещественными значениями, удовлетворяющая для любых f , g, h ∈ Y следующим условиям:(1) dist (f, g) = 0 тогда и только тогда, когда f = g,(2) dist (f, g) = dist (g, f ) — симметричность,(3) dist (f, h) ≤ dist (f, g) + dist (g, h) — неравенство треугольника.Фактически, в рассмотренной выше ситуации dist — это какое-торасстояние на пространстве Rn+1 всех (n + 1)-мерных вещественныхвекторов. Соответствующая постановка задачи приближения (аппроксимации) будет звучать тогда так:Для заданных набора узлов xi , i = 0, 1, .
. . , n, на интервале [a, b]и соответствующих им значений fi , i = 0, 1, . . . , n, и ǫ > 0, найтифункцию g(x) из класса функций G, такую что dist (f, g) < ǫ,где f = (f0 , f1 , . . . , fn )⊤ и g = (g(x0 ), g(x1 ), . . . , g(xn ))⊤ .1262. Численные методы анализаПри этом g(x) называют приближающей (аппроксимирующей) функцией, Важнейшей модификацией поставленной задачи служит задачанаилучшего приближения, когда величина ǫ не фиксируется и ищутприближающую (аппроксимирующую) функцию g(x), которая доставляет минимум расстоянию dist (f, g).Согласно классификации §2.1, выписанные выше формулировки являются дискретными вариантами общей задачи о приближении функции, в которой дискретный набор узлов x0 , x1 , .
. . , xn уже не фигурирует, а отклонение одной функции от другой измеряется «на всей»области их определения:Для заданных ǫ > 0, функции f (x) из F и метрики dist найтифункцию g(x) из класса функций G, такую что dist (f, g) ≤ ǫ.Соответствующая общая формулировка задачи о наилучшем приближении ставится так:Для заданных функции f (x) из класса функций Fи метрики dist найти функцию g(x) из класса G,на которой достигается нижняя грань расстоянийот f (x) до функций из G, т. е. удовлетворяющуюусловию dist (f, g) = inf h∈G dist (f, h).(2.90)Решение g этой задачи, если оно существует, называется наилучшимприближением для f в классе G. Отметим, что в каждом конкретномслучае существование элемента наилучшего приближения требует отдельного исследования.Задачу приближения функций, значения которых могут быть невполне точными, часто называют (особенно в практических приложениях) задачей сглаживания, поскольку получаемая приближающаяфункция, как правило, действительно «сглаживает» выбросы данных,вызванные случайными ошибками и т.
п.До сих пор ничего не было сказано о выборе классов функций F иG, и в наших формулировках они могут быть весьма произвольными.Но чаще всего предполагают, что F ⊇ G, и, кроме того, наделяют F иG структурой линейного пространства с некоторой нормой k·k. Именнов ней измеряют отклонение функций (непрерывного или дискретногоаргумента) друг от друга, так чтоdist (f, g) = kf − gk.1272.10. Приближение функцийСоответственно, в задаче наилучшего приближения функции f ищетсятакой элемент g ∈ G, на котором достигается inf h∈G kf − hk.Рассмотренные выше постановки задач дают начало большим иважным разделам математики, в совокупности образующим теориюприближения функций (называемую также теорией аппроксимации).Её ветвью является, в частности, теория равномерного приближения,когда отклонение функций оценивается в норме kf k = maxx∈[a,b] |f (x)|(см.