1626435587-51311eae4652e8ad616b5bdef025cbb3 (844239), страница 14
Текст из файла (страница 14)
Написать программу для вычисления Φ0,1 () по формуле (42) впроизвольной точке с абсолютной погрешностью не выше 10−10 .5. Написать программный код для вычисления функции Бесселя целого порядка с абсолютной погрешностью не выше 10−10 . Какследует вычислять интеграл (43) при ≫ 1 и (или) || ≫ 1?1 () =∫︁cos( − sin ) , = 0, 1, 2, . . .(43)06. Может ли погрешность численного интегрирования при использовании квадратурной формулы Симпсона убывать быстрее, чемℎ4 ? Медленнее, чем ℎ4 ? (Здесь ℎ — шаг равномерной сетки).687. Вычислить значение интеграла85/2∫︁1 (︂0√ + sin −√sin − sin − √8. Вычислить несобственный интеграл∫︀ ∞0)︂,3 = 105 .−1/3 exp[− + sin ] .9.
Построить график зависимости периода осцилляций от ампли˙ = 1 2 ˙2 + cos ,туды для физического маятника: (, )2√︀√∫︀ = 2 / − ().10. Вычислить интеграл Кирхгофа в параксиальном приближениии построить двумерный график распределения интенсивности вплоскости на расстоянии за непрозрачным экраном с отверстием квадратной / круглой / треугольной формы.5. Интерполяция полиномамиВ математической физике функции () обычно являются отображением некоторого непрерывного множества значений аргумента (например, всей числовой оси) на множество значений .
Функция может быть вычислена в любой точке из области определения. Однако на практике при решении большого количества научно-технических69задач приходится иметь дело с функциями, заданными конечным набором значений ( ), = 0, . . . . Вычисление функции в большемчисле точек может оказаться нежелательным ввиду значительных затрат времени или иных ресурсов.
Например, каждое значение ( )может получаться в результате решения некоторой сложной математической задачи, либо быть результатом длительного и дорогостоящего эксперимента. Зачастую в решении задачи возникают специальныефункции, заданные в виде интеграла либо как решение дифференциального уравнения. Если значения таких функций необходимо вычислять многократно, это может быть сопряжено со значительными затратами времени. В таких случаях желательно вычислить функцию в некотором относительно небольшом наборе точек, и затем использовать вместо () в расчётах некоторую другую функцию () ≈ (),значения которой могут быть относительно легко и быстро вычисленыв любой нужной точке. Процесс построения и вычисления () называют.
В случае, если () в точности проходит черезимеющиеся точки , ( ), говорят о частном случае аппроксимации —. Нередко (хотя и далеко не всегда) на практике дляинтерполяции используются полиномы (либо кусочно-полиномиальнаяинтерполяция — сплайны), поэтому знакомство с задачей интерполяции мы начнём именно с полиномов.Пусть значения функции () известны на сетке 0 , 1 , .
. . , . Необходимо найти полином степени , который бы совпадал с () во всехузлах указанной сетки:аппроксимациейинтерполяции () = 0 + 1 + . . . + , ( ) = ( ) ∀ = 0, 1, . . . , , (44)корректностьДокажемпоставленной задачи.Теорема. В случае если все различны, решение задачи о построении интерполяционного полинома (44) существует и единственно.Прежде чем приступать к доказательству данного утверждения, докажем вначале следующую лемму.. Определитель Вандермонда (∆ ≡ | |, = ) можетбыть представлен в виде произведения 21 ( + 1) сомножителей:⃒⃒⃒ 1 0 20 . . . 0 ⃒⃒⃒⃒ 1 1 21 .
. . 1 ⃒∏︁⃒⃒∆ = ⃒ .=( − ).(45)⃒....... . . . .. ⃒⃒ ..⃒ 0≤<≤⃒⃒ 1 2 . . . ⃒ЛеммаДоказательство.Используем метод математической индукции.70Для этого рассмотрим исходное утверждение при = 2 (базис индукции):⃒⃒⃒ 1 0 ⃒⃒⃒ = 1 − 0 ,∆2 = ⃒1 1 ⃒что совпадает с общей формулой (45).Предположение индукции: пусть формула (45) доказана для = 2,3, .
. . , − 1. Тогда для = − 1 можем записать:⃒⃒⃒ 1⃒020. . . −10⃒⃒∏︁⃒ ..⃒.........∆−1 = ⃒ .( − ). (46)⃒=⃒⃒−1 ⃒0≤<≤−1⃒ 1 −1 2−1 . . . −1Сделаем шаг индукции — докажем (45) для = . Запишем определитель (45) для = , при этом вычитая из -го столбца ( − 1)-й,умноженный на 0 , последовательно для = + 1, , − 1, . . . , 2.Поскольку данное преобразование не изменяет значение определителя∆ , получим⃒⃒⃒⃒ 100...0⃒⃒−1 ⃒⃒ 1 1 − 0(1 − 0 )1 . . .
(1 − 0 )1⃒⃒∆ = ⃒ .⃒.......⃒⃒ .....⃒⃒⃒ 1 − 0 ( − 0 ) . . . ( − 0 )−1 ⃒Разложим этот определитель по⃒⃒ 1 − 0(1 − 0 )1⃒⃒ 2 − 0(2 − 0 )1⃒∆ = ⃒....⃒..⃒⃒ − 0 ( − 0 )Вынесем из первой(2 − 0 ) и т. д.:⃒⃒⃒⃒⃒∆ = ⃒⃒⃒⃒первой строке:(1 − 0 )21(2 − 0 )22.........(1 − 0 )−11(2 − 0 )−12...( − 0 )2...( − 0 )−1⃒⃒⃒⃒⃒⃒.⃒⃒⃒строки множитель (1 − 0 ), из второй — разность11...11...2122.... . .
−11. . . −12...12...−1⃒⃒⃒⃒ ∏︁⃒( − 0 ).⃒·⃒⃒ =1⃒Полученный определитель матрицы × может быть вычислен поиндукционному предположению (46), совпадающему с полученным выражением с точностью до переобозначения 0 на 1 , 1 на 2 и т. д. до71−1 на . Это приводит нас к⎛⎞ ⎛⎞∏︁∏︁∆ = ⎝( − )⎠ · ⎝ ( − 0 )⎠ =1≤<≤=1∏︁( − ).0≤<≤Лемма доказана.Докажем теперь теорему о существовании и единственности.
Дляпостроения полинома (44) необходимо найти коэффициенты 0 , . . . , ,используя условия интерполяции (0 ) = 0 , (1 ) = 1 , . . ., ( ) = , где ≡ ( ). Это приводит к системе линейных алгебраических уравнений на коэффициенты 0 , 1 , . . . , :⎧0 + 1 · 0 + 2 · 20 + . . . + · 0 = 0⎪⎪⎨0 + 1 · 1 + 2 · 21 + . . . + · 1 = 1...= ...⎪⎪⎩0 + 1 · + 2 · 2 + .
. . + · = .Определитель данной системы есть определитель Вандермонда (45).Поскольку все различны, определитель (45) отличен от нуля. Следовательно, система линейных алгебраических уравнений на коэффициенты 0 , . . . , имеет решение при любых , причём это решениеединственно. Корректность поставленной задачи доказана.Ниже будут показаны два наиболее часто встречающихся способазаписи интерполяционных полиномов. В силу доказанной выше теоремы очевидно, что разные способы отличаются друг от другой лишьформой записи, при этом сами полиномы совпадают.5.1. Полиномы ЛагранжаОдним из наиболее очевидных способов записи интерполяционныхполиномов являются. Рассмотрим вначале вспомогательный полином степени :∏︁ () =( − ) =(47)полиномы Лагранжа0≤≤,̸==( − 0 ) · ( − 1 ) · . .
. · ( − −1 ) · ( − +1 ) · . . . · ( − ).Данный полином, очевидно, зануляется в узлах сетки 0 , 1 , . . ., —в каждом узле, за исключением -го. Нормируя значение полинома ()в -м узле и суммируя по , получим требуемый интерполяционныйполином:∑︁ () () =( ) ·.(48) ( )=072Выражения (47), (48) дают решение поставленной задачи об интерполяции полиномами. Важным достоинством интерполяционных полиномов Лагранжа является их простота — ответ в форме (47), (48) можетбыть выписан сразу. К недостаткам следует отнести относительно большое число операций, которые необходимо выполнить для построенияполиномов и их вычисления — в ряде случаев это заставляет отдатьпредпочтение другим формам записи интерполяционных полиномов.Оценим число операций, которые необходимо выполнить для построения интерполяционных полиномов Лагранжа.
Для вычислениякаждого из () по формуле (47) необходимо выполнить операцийвычитания и − 1 умножение. Хотя выполнение данных операций может требовать различного машинного времени, для простоты далее будем игнорировать этот факт и считать их вместе как 2 − 1 арифметическую операцию. Для вычисления значения () по формуле (48)нужно умножить каждый из () на нормировочный множитель и сложить +1 значений, итого получаем 22 +3 = (2 ) арифметическихопераций.Для построения интерполяционного полинома Лагранжа необходимо, кроме того, вычислить ещё + 1 нормировочных коэффициентов ( ); для вычисления каждого из них, очевидно, требуется выполнить ещё 2 − 1 операцию и умножить результат на .
Итого получаем2( + 1) = 22 + 2 арифметических операций для вычисления коэффициентов перед первым вычислением значений интерполяционногополинома.Ниже будет рассмотрена другая широко распространённая формазаписи интерполяционных полиномов, требующая меньшего числа операций.5.2. Полиномы НьютонаДля построения альтернативной формы записи интерполяционныхполиномов введём вначале понятие разделённой разности..первого порядка ( , )для функции () называется величина ( , ) ≡ (( ) − ( ))//( − ).
Разделённой разностью второго порядка называется отношение ( , , ) ≡ (( , )−( , ))/( − ). Аналогично определяются разделённые разности третьего (( , , , ) ≡ (( , , ) −− ( , , ))/( − )) и более высоких порядков. Можно показать,Определение Разделённой разностью73что разделённая разность представима в виде(1 , 2 , . . . , ) =∑︁∏︀=1( ).( − )(49)̸=Из последнего выражения немедленно следует, что разделённая разность симметрична по всем перестановкам своих аргументов 1 , . . .
, .Разделённые разности имеют размерности производных функции.В п. 5.4 будет показано, что разделённая разность порядка аппроксимирует -ю производную функции: !(0 , 1 , . . . , ) = () + (ℎ).Покажем, как разделённые разности могут быть использованы дляпостроения интерполяционного полинома. Рассмотрим интерполяционный полином () степени , принимающий в узлах 0 , 1 , . .
. , значения, совпадающие со значениями интерполируемой функции : ( ) = ( ).Вычислим для полинома () разделённую разность (, 0 ) = () − (0 ) − 0⇒ () = (0 ) + ( − 0 ) · (, 0 ). (50)Выражение в числителе является полиномом степени , который зануляется в точке = 0 . Следовательно, данный полином может бытьразделен нацело на − 0 , а полученная в результате разделённая разность (, 0 ) является полиномом степени −1. Аналогично, для разделённой разности второго порядка: (, 0 , 1 ) = (, 0 ) − (0 , 1 ) − 1⇒ (, 0 ) = (0 , 1 ) + ( − 1 ) · (, 0 , 1 ).(51)Числитель дроби вновь зануляется в силу симметрии разделённой разности по перестановкам аргументов. Следовательно, разделённая разность второго порядка является полиномом степени − 2.