Амосов А.А., Дубинский В.А., Копченова Н.В. Вычислительные методы для инженеров (1994) (1095853), страница 74
Текст из файла (страница 74)
403 функция считается фиксированной. В то же время ~(х) может быть произвольной достаточно гладкой функцией. Примерами весовых функций могут служить постоянный вес р (х) = : — 1, весовые функции Якоби р (х) = (х — а)о(Ь вЂ” а)р (а < х < Ь), Лагерра' р (х) = х е г(0 < г < ) и Эрмита р (х) = е г2 (- < х < ), ь 6 соответствующие интегралам вида (Ц (х)с1х, 1(х — а)о(х — Ь)В~ (х)6х, о 0 ) гас-г~(х)йх, ~е-г2~(х)дг. о Методы приближенного вычисления интегралов, рассмотренные в предыдущих параграфах, применимы и к задаче вычисления интегралов с весом. Пусть Рм; — интерполяционные многочлены (13.17). Приближенная замена.
интеграла (13.48) суммой: ! Х= [ — У(х)дх (13.50) Заменяя функцию У на элементарном отрезке [х; 1, х,] постоянной Д ! ~2 и учитывая, что 1 ' 1 2Ь вЂ” ПВ '~ — А-гл4х= А-!д, 4гх ' 4!х [~.! + д псм!учим следующую квадратурную формулу: ! и 2 [ — у(х)с1хм Ф = Ь Х А-!а ~хе! + Д (13.51) Пример 13.11. Применим квадратурную формулу (13.51) для вычисления интеграла (13А5) при тех же значениях шага, что и в примере 13.9. В рассматриваемом случае формула (13.51) принимает вид 1 " 2 [ — е х сохе ЬХ е (13.52) '!Д +~ Полученные с ее помощью результаты приведены в табл. 13.4.
Сравнение с результатами примера 13.9 показывает, что для вычисления интеграла (13.45) формула (13.52) имеет безусловное преимущество перед формулой прямоуголь- ников (13.46). Т а б л и ц а 13.4 Для вычисления и!интегралов (13.48) применяют и квадратурные 6 И формулы Гаусса /р (х)1'(х)!1х м Е А!~(х;), точные для многочленов 6 !=! наиболее высокой степени. Они строятся аналогично тому, как было сделано в случае постоянного веса р (х) = 1 (см.
3 13.4). Пример 13.12. Для вычисления интеграла (13.50) построим квадратурную формулу Гаусса с одним узлом: 404 0.200 0.100 0.050 0.025 1.686276 1.688958 1.689521 1.689642 3.4 ° 10 з 7.2 10 ! 1.6 10 4 35 106 1 ( —,1 (х)дх РУ с1~(х1). О,Г (13.53) Потребуем, чтобы формула (13.53) была точна для многочленов первой степе- 1 2 1 х ни. Это эквивалентно выполнению равенств 2 = ) — с1х = с1, — = ! — дх = 4х = с1х1. Таким образом с1 — — 2, х1 = 1(3 и формула (13.53) принимает вид 1 Ы ( — Х(.й" 2/ ц.
о 4г- (13.54) Хотя формула (13.54) и кажется примитивной, применяя ее для вычисления интеграла (13.45), получаем значение 1 ру 1.789679„абсолютная погрешность которого равна 0.1 и практически совпадает с погрешностью значения, найденного в примере 13.9 по формуле прямоугольников с шагом Ь = 0.025. Замечательно то, что формула Гаусса (13.54) достигает точности Я = 0.1 при называемую формулой Эрмиупа. Узлами этой формулы являются нули (21 — 1) х многочлена Чебышева Туу(х), т.е. числа х, = сов, 1 ~ г ~ и.
2В 4. Интегрирование быстро осциллирувэщих функций. В задачах радиотехники часто встречается проблема вычисления интегралов вида' ь ь Ь ~ Д(х)е ох = / ~(х) сов1 ух с1х+ 1Цх)в1п1 ух сь. (13.55) 1 Например, Р'(х) = ~(х)е11"х отвечает несущему высокочастотному колебанию епу1х с модулированной амплитудой ~(х). 405 использовании только одного вычисления значения функции 1 (х) = е х . В то г же время формула (13.46) для достижения той же точности требует вычисления 40 значений функции. 3. Формула Эрмита. Для вычисления интегралов вида ~ пх, 4Г- х2 т.а. л олучаа р 1а) = 1Д1 — ат, а = -1, 1 = 1, использую квадратурную формулу Гаусса Здесь м (Ь вЂ” а) > 1, 1(х) — некоторая достаточно гладкая функция, а с — мнимая единица. Функции 1(х)соас,с х и 1(х)в1пы х являются быстро меняющимися и имеют на отрезке [а, Ь] порядка (Ь вЂ” а)со/х нулей..Если попытаться вычислить интеграл (13.55) с помощью стандартных квадратурных формул, то для обеспечения приемлемой точности на каждый "полупериод" колебаний подынтегральной функции потребуется поместить хотя бы несколько (например, порядка десяти) точек.'Так как на отрезок [а, Ь] приходится примерно (Ь вЂ” а)сс/х таких "полупериодов", то необходимо по меньшей мере порядка со (Ь вЂ” а) > 1 узлов интегрирования.
Следовательно, стандартный подход к вычислению интегралов вида (13.55) потребует слишком больших затрат машинного времени. Для существенного уменьшения объема вычислений в равенстве (13.55) полезно рассматривать функцию р (х) = евах как весовую. Тогда кусочно-полиномиальная интерполяция функции 1(х) приводит к квадратурным формулам интерполяцнонного типа, которые принято называть форлсулалси Филона. Выведем одну из таких формул, основанную на интерполяции фУнкЦии 1(х) на кажДом из элементаРных отРезков [х1с1, х1с] линейной функцией Р1 Дх) = Д1 + (Д вЂ” Я, 1)(х — ц,1)/Ь| и являющуюся аналогом составной квадратурной формулы трапеций, Положим 1Л = '1,1 (х)е с1х сс 1 = 1 Р1 1с (х)е с1х.
~7с-1 хсс 1 Л Вычислив интеграл 1, получаем формулу 1с Л 1 = — ~ (АЛД.1 + ВЛДс)е 2 Здесь в1вРсс ЯсоаРсс — в1пРь В в1вР1с . РК~~1с Вша РЛ РЬ ' ' РЛ Й ай| 2 ' В результате приходим к составной формуле вида ых [1(х)е Йхсс Š— (АЛЯ 1+ Вуале а ,=1 2 406 5. Адцитивиое выделение особенности. Иногда подынтегральную функцию удается представить в виде суммы Р (х) = у (х) + ф (х), где функция у (х) содержит особенность, но интегрируется аналитически, а функция 4 (х) является достаточно гладкой. Тогда интеграл от функции г' представляют в виде суммы двух интегралов; ь ь ь Г Е'(х)с1 = Г И( М + Г Ф(х)д' = Е'" + Е'" Первый из них вычисляется аналитически, а значение второго можно найти с помощью той или иной квадратурной формулы.
Пример 13.13. Указанный прием можно использовать для вычисления интеграла (13.45). Представим интеграл в виде 1 11 — хз 1ех — 1 + х~ 1 — е х~йх = ~ — с1х+ ~ 4~= Ры -~- Есг>. — о ~ — о Интеграл Е~|1 вычисляется аналитически: Е'1~ = 1.6. В то же время функция (е х — 1 + хз)/~гх трижды непрерывно дифференцируема на отрезке [0, 1). Поэтому интеграл Е~т~ можно вычислить по формуле прямоугольников. В результате приходим к формуле 1+ ';1 т). Найденные по ней приближенные значения интеграла приведены в табл.
13.5: Т а б л и ц а 13 5 Е.Ел Еа Конечно, отмеченные приемы представляют лишь небольшую часть тех средств, которые применяются при вычислении интегралов в нере- гулярных случаях. Иногда, например, оказывается полезной замена 407 0.200 0.100 0.050 0.025 1.687874 1.689227 1.689565 1.689649 1.8 ° 10 з 4.5 ° 10 4 1.1 10 4 2.8 10 5 ь переменных х = ср (1), приводящая интеграл к виду / г' (х)с1х а Р = [ ~(Ю(~)) Ю'(~М1.
3 13.6. Дополнительные замечания 1. Мы не рассматриваем проблему вычисления кратного интеграла х = // ." /У( ь а, -, )4 Ф С (13.56) (13.57) ',. 1У ~ Ар ( х1 х2 " 'в ). у=1 Среди формул (13.57) есть кубатурные формулы интерполяционного типа и кубатурные формулы Гаусса. Иногда для вычисления кратного интеграла оказывается целесообразным сведение его к повторному вычислению однократных интегралов, Для первоначального знакомства с мегодами вычисления кратных интегралов можно рекомендовать книги [9], [43].
2. Вычисление кратных интегралов уже при не очень больших значениях ш 1 6 является очень сложной задачей. Применение для вычисления таких интегралов кубатурных формул типа (13.57) требует (даже при очень скромных запросах к точности) такого большого числа Л вычислений значений функции что решение задачи даже при использовании самых 'современных ЭВМ становится нереальным. Привлекательной альтернативой в такой ситуации становится использование метода Мон1ив — Харфо.
Простейшее представление об этом методе (на примере вычисления однократного интеграла) можно получить из учебника [21]. Мы все же рекомендуем обратиться и к весьма содержательному обсуждению метода Монте — Карло, проведенному в книге [9]. 3. Иногда возникает необходимость по известной функции г(х), заданной на отрезке [а, Ь], восстановить ее первообразную 1 Впрочем, формулы (13.57) называют также и квадратурными. 408 поскольку это потребовало бы привлечения достаточно сложного математического аппарата.
Ограничимся указанием на то, что в принципе вычисление интегралов (13.56) можно проводить методами, аналогичными рассмотренным в этой главе. Соответствующие тсубатурнме формулм1 для вычисления кратНых интегралов имеют вид (13.58) При каждом фиксированном х функцию (13.58) можно рассматривать как определенный интеграл вида (13,1) и вычислять с помощью одного из известных методов. Однако если требуется находить значен, я у (,т) в большом числе различных точек, то такой подход становится нецелесобразным.
Оказывается более выгодным разбить отрезок 1а, 8~ на элементарные отрезки точками а = = л~ < х1 < вт < ... <х„= К а затем составить таблицу значений у, в у (т;), Ь,. 0 ~ 1~ а Значения у; можно найти, например, по формуле у; = у, ~ -~- 1 Ь. тф 1 < ~' «< и. Здесь Уо = О, а 1 — пРиближение к интегРалУ 1 1'(х)дх, в-1 полученное с помощью одной из квадратурных формул. Значение у (х) в любой из промежуточных точек можно затем приближенно восстановить, используя интерполяцию. Так как значения у (х;) = г(т,) фактически также известны, то весьма подходящим для интерполяции на каждом элементарном отрезке ~т; ь х~ является кубический многочлен Эрмита (см.
т 11.5). Использование этого способа интерполяции позволяет находить значения у (х) с довольно высокой точностью по сравнительно редкой таблице значений. 4. В данной главе в основном обсуждались не вычислительные алгоритмы, а методы дискретизации, т.е. методы замены определенных интегралов соответствующими квадратурными суммами. Как бы ни бьи организован алгоритм, он все же предполагает вычисление квадратурной суммы, С увеличением числа слагаемых возрастает влияние вычислительной погрешности на результат суммирования.
При очень больших значениях Ф даже для хорошо обусловленных квадратурных формул соответствующий вычислительный алгоритм может стать плохо обусловленным. Тем не менее при умеренном значении числа узлов влияние ошибок округления невелико и им часто можно пренебречь. Глава Ц ЧИСЛЕННЫЕ МЕТОДЫ РЕШЕНИЯ ЗАДАЧИ КОШИ ДЛЯ ОБЫКНОВЕННЫХ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ Инженеру часто приходится иметь дело с техническими системами и технологическими процессами, характеристики которых непрерывным образом меняются со временем' 1.
Соответствующие явления, как правило, подчиняются физическим законам, которые формулируются в виде дифференциальных уравнений. Одной из основных математических задач, которые приходится решать для таких уравнений, является задача Коши (или начальная задача), Чаще всего к ней приходят тогда, когда начальное состояние некоторой физической системы в момент времени 1о считается известным, и требуется предсказать ее поведение при 1 ) 1о.