Амосов А.А., Дубинский В.А., Копченова Н.В. Вычислительные методы для инженеров (1994) (1095853), страница 69
Текст из файла (страница 69)
Пусть Р„(х) — интерполяционный многочлен степени я с узлами интерполяции хо < х~ < хг < ... ... < х„и хЕ[хо, х ). В этом случае формула (12.12) принимает вид (12.13) Хотя простейшие формулы численного дифференцирования можно получить сравнительно элементарно, для вывода и анализа таких формул в более сложных случаях необходимо использовать значительно более серьезный математический аппарат. Заметим, что основой для построения различных приближенных формул вычисления производных являются методы теории приближения функций, элементы которой были изложены в предыдущей главе. Предположим, что в окрестности точки х функция ~ аппроксимируется некоторой другой функцией у, причем производная у~ "~ в точке х легко вычисляется. Естественно в такой ситуации попытаться воспользоваться приближенной формулой При этом справедлива следующая оценка ног реши ости формулы (12.13): ~~ "~ (х) — Р< Ь~ (х) / < С„~Мр,.~Ь"„1 Ь, О < Ь ~< п.
(12.14) Здесь С„у, — положительные числа, а М„,~ — пъах ~)~"(х) ~. 1хо *1 3 а м е ч а н и е 1. Порядок точности формулы (12.13) относительно Ь „равен разности между числом узлов интерполяции и порядком вычисляемой производной. 3 а м е ч а н и е 2. Если формула (12.13) применяется для вычисления производной в точке, относительно которой узлы таблицы расположены симметрично, и число и — Й четно, то порядок точности формулы повышается на единицу по сравнению с порядком п + + 1 — Ь, гарантируемым оценкой (12.14).
Таковы, например, формулы (12.6), (12.8), (12,9), (12.11). Заметим, что Р~"'(х) = и'. 7 (хо, х1, ..., х„) (это следует, в частности, из формулы (11.52)). Таким образом, справедлива приближенная формула (она вытекает и из (11.50)) ~ ">(х) а и! ~(хо, х1, ..., х„), (12.15) имеющая по крайней мере первый порядок точности. Ее частными случаями являются следующие формулы: (12.16) ~"'(х) в 2~(хо х1 хг) хг-хо 1 х~-хо (12.17) При выборе в качестве узлов интерполяции значений.хо — — х, х1— = х+ Ь формула (12,16) превращается в формулу (12.1).
При выборе хо — х — Ь, х1 — х из (12.16) получается формула (12.2), а при хо— = х — Ь, х1 — — х + Ь вЂ” формула (12.6). Аналогично из формулы (12.17) получается формула (12.9). 2. Использование таблиц с посеянным шагом. Наиболее простой вид принимают формулы численного дифференцирования при исполь- 370 зовании таблиц у; = 1(х,) с постоянным шагом. Например, формула (12.15) в этом случае выглядит так: ~т "~ (х) и —. Ьоуо Дй ' В тех случаях, когда значение производной необходимо вычислять в крайних для таблицы точках хо и ха, используются односторонние фар.аулы численнаьа дифференцирования ~ ">(ха) и Р~ ~с'(хо) и Р ">(х„) й м Р~~ ~1 (х„).
Приведем односторонние формулы (их легко получить дифференцированием многочленов Ньютона (11.57) и (11.58)) для вычисления первой производной 1': (12.18) Пха) ~- ~ -~7Ъ, Ь,=~ з (12.19) имеющие а-й порядок точности. При а = 2 из (12.18), (12.19) получаются формулы П ) д( 3У( )+4Я 1) — Л )), 1 ~'(хд) ~ — Д(хп-2) — 4~(хи-1) + 3~ (га)), (12.20) (12.21) имеющие второй порядок точности. Пример 12.3. Вычисление значений производной функции ~ (х) = ех, заданной табл.
12.1, по формулам (12.20), (12.21) дает значения ~'(О.О) ~ 0.98445, ~'(1.0) ~ 2.68700 с погрешностями, равными 0.001555 и 0.03128. Для сравнения напомним, что погрешности значений, найденных в примере 12.1 по простейшим формулам (12.1), (12.2) соответственно равны — 0.10700 и 0.25458. 371 3. Другие подходы. Применение формулы (12.13) для вычисления производной 7 ~' фактически основано на кусочно-полиномиальной интерполяции. Полученная таким образом производная в точке "стыка" двух соседних многочленов может иметь разрыв. Поэтому, если требуется глобально на отрезке (а, а] аппроксимировать производную гладкой функцией, то целесообразно использовать сплайны. Производ- ная Я~~Ь'(х),сплайна Я~(х) при Й ~ тв — г (где т — дефект сплайна) дает гладкую глобальную аппроксимацию для ~ "> (г).
В случае, когда значения функции сильно "зашумлены" случайными ошибками, полезным может оказаться использование метода наименьших квадратов. З 12.3. Обусловленность формул численного дифференцирования Пусть Ь вЂ” верхняя граница абсолютной погрешности Ь(Д'(х)) = = ~ ~(х) — ~*(т) ~ используемых значений функции. Тогда погрешность т„оценивается следующим образом: 2Ь 1 г„~ ~ ~—. (12.22) Оценка (12.22) означает, что чувствительность формулы (12.1) к погрешностям входных данных характеризуется абсолютным числом 372 Несмотря на внешнюю простоту формул численного дифференцирования, их применение требует особой осторожности.
Отметим, что используемые при численном дифференцировании значения ~~(з) функции ~(з) непременно содержат ошибки. Поэтому к погрешности аппроксимации формул численного дифференцирования добавляется неустранимая погрешность, вызванная погрешностями вычисления функции ~ Для того чтобы погрешность аппроксимации была достаточно малой, требуется использование таблиц с малыми шагами Ь. Однако, к сожалению, при малых шагах формулы численного дифференцирования становятся плохо обусловленными и результат их применения может быть полностью искажен неустранимой ошибкой. Важно понимать, что действительная причина этого явления лежит не в несовершенстве предложенных методов вычисления производных, а в некорректности самой операции дифференцирования приближенно заданной функции (см.
гл. З,пример 3.5), Поясним сказанное на примере использования формулы (12.1), Полная погрешность г*(х, Ь) = ~'(г) „реально вычисляемого значения правой разностной производной представляет собой сумму погрешности аппроксимации г,(х, Ь) ~(х + Ь) — ~(г) = ~ (х) и неустранимой погрешности г„(т, Ь) Ь г обусловленности 2уа — Ь. Так как и, -+ при Ь -у О, то формула (12.1) при малых Ь становится очень плохо обусловленной.
Поэтому несмотря на то, что погрешность аппроксимации стремится к нулю при Ь ~ О (см. оценку (12.4)), следует ожидать, что полная погрешность будет неограниченно возрастать при Ь ~ О. Во всяком случае так ведет себя верхняя граница 1 полной погрешности т (Ь) = — МтЬ + 2 2Л + — (график функции т (Ь) для случая, рассмотренного в примере 12.4, приведен на рис.
12.2). Выберем оптимальное значение шага Рис. 1ЙЯ Ь, при котором величина г (Ь) достигает минимального значения. 1 2Л Приравнивая производную г "(Ь) = — М2 — — к нулю получаем 2 Ь2 Пример 12.4. Рассмотрим результаты применения формулы (12.1) с разными значениями шага Ь для вычисления производной функции 1(х) = е~ в точке х = 1. В табл. 12.4 приведены значения приближений (1') * к 1 "(1) = е ~ 2.71828, полученные на б-разрядной десятичной ЭВМ и отвечающие значениям Ь = = 10 2, 10 2, ..., 10 е.
Для удобства анализа указаны также значения погрешностей г*. 373 ен че ие. 2 е = 2е' 'е'рте, атарову отеоч~ет веничнна ~~ = е еЬ~„) = Г— = 241~М2 Таким образом, при использовании формулы (12.1) для вычисления производной функции 1, заданной с погрешностью, следует обратить особое внимание на выбор шага Ь. Однако даже при оптимальном выборе шага полная погрешность окажется величиной, пропорциональной лишь у."2. Формулы для вычисления производных порядка Й > 1 обладают еще большей чувствительностью к ошибкам задания функций.
Поэтому значения производных высокого порядка, найденные с помощью таких формул, могут быть очень неточными. Т а б л и ц а 12,4 Ь 10 1 10 г 10-3 10 4 10 5 10 в (г"') * 2,85890 2.73200 2.72000 2.70000 3.00000 0.00000 14. 10-г 14, 10-з 17. 10-4 18 . 10-з 28. 10-г 27, 10-1 Из таблицы видно, что погрешность г* с уменьшением Ь сначала убывает по модулю, а затем начинает резко возрастать.
При Ь = 10 е значения функции в точках х = 1 + Ь и т = 1, найденные с шестью знаками мантиссы, совпадают, и поэтому вычисление по формуле (12.1) дает приближение к Х'(1), равное нулю. Ясно, что при Ь < 10 е будет получаться тот же результат. На рис. 12.2 точками помечены значения модуля погрешности г', отвечающие различным Ь из диапазона 10 4 ~ Ь ~ 10 г. Сплошной линией изображен 10-~ график функции г (Ь) = 1.4Ь +, являющейся верхней оценкой для Ь' )г'(Ь)~ (в данном случае Мг = гпах )ет! ~ ~2.8 и Ь = 5.10 е).
Отметим, [1, 1. 01] что хотя реальное значение погрешности г* и оказывается меньше получаемо- го с помощью оценки. г, все же функция г (Ь) правильно отражает основные особенности поведения погрешности. З 12.4. Дополнительные замечания 1. Формулы численного дифференцирования применяются и для приближенного вычисления частных производных функций многих переменных. Для их построения используются различные приемы. Среди них последовательное применение одномерных формул численного дифференцирования и дифференцирование интерполяционных формул. Распространенным является и метод неопределенных коэффициентов [9] (иногда он используется и в одномерном случае).
2. При наличии в значениях функции случайных ошибок нередко применяют некоторые процедуры предварительного сглаживания. В последнее время получила распространение группа методов численного, дифференцирования, в которых используются идеи регуляризации (см.
[79, гл. 4, г 6]. 3. Дополнительную информацию о методах численного дифференцирования можно найти, например, в [43]. Глава 13 ЧИСЛЕННОЕ ИНТЕГРИРОВАНИЕ $13.1. Простейшие квадратурные. формулы 1. Постановка задачи. В прикладных исследованиях часто возникает необходимость вычисления значения определенного интеграла ь 1 = (~(х)с$х (13.1) ь У(х)с1х = Г(Ь) — К(а). а (13.2) К сожалению, в подавляющем большинстве случаев получить значение определенного интеграла с помощью формулы (13.2) или других ана- литических методов не удается. х 2 Пример 13.1. Интеграл ) е ~ сИ широко используется при исследовании о процессов теплообмена и диффузии, в статистической физике и теории вероятностей.
Однако его значение не может быть выражено в виде конечной комбинации элементарных функций. ' Готфрид Вильгельм Лейбниц (1646 — 1716) — немецкий математик, физик и философ. Один из создателей дифференциального и интегрального исчислений. 375 Этот интеграл может выражать площадь, объем, работу переменной силы и т.д. Если функция ~(х) непрерывна на отрезке [а, в] и ее первообразную г (х) удается выразить через известные функции, то для вычисления интеграла (13.1) можно воспользоваться фор иулой Ньютона-Лейбница1: Заметим, что даже в тех случаях, когда удается получить первообразную функцию Г (х) в аналитической форме, значительные усилия, затраченные на это, часто оказываются чрезмерно высокой платой за окончательный результат.