1611688890-f641c9ec8276824e4686da772eb56520 (826652), страница 9
Текст из файла (страница 9)
Например, sin иcos для аргументов, кратных нескольким угловым минутам. Подобныетаблицы составлялись квалифицированными вычислителями, иногдаспециально создаваемыми для этой цели организациями, а затем широко распространялись, в частности, по библиотекам и научным и техническим центрам, так что к ним всегда имели доступ люди, занимающиеся практическими вычислениями. Но как, имея подобную таблицу,найти значение интересующей нас функции для аргумента, который непредставлен точно в таблице? Скажем, синус угла 17◦ 23′ по таблице,где аргумент идёт с шагом 6′ , т. е.
шесть угловых минут?3Здесь на помощь приходит интерполяция — восстановление значения функции в промежуточных точках по ряду известных значенийв некоторых фиксированных опорных точках. Собственно, сам термин«интерполирование» («интерполяция») был впервые употреблён в 1656году Дж. Валлисом при составлении астрономических и математических таблиц. Он происходит от латинского слова interpolo, означающего «переделывать», «подновлять», «ремонтировать».Для целей практических вычислений таблицы значений различныхфункций составлялись и издавались вплоть до середины XX века.
Вершиной этой деятельности стал выпуск многих томов капитальных таблиц, в которых были тщательно затабулированы все основные функции, встречающиеся в математической и инженерной практике (см., к3 Именно таковы, к примеру, популярные «Четырехзначные математические таблицы» В.М. Брадиса [4].492.2. Интерполирование функцийпримеру, [38] и им аналогичные таблицы для других целей).Интересно, что с появлением и развитием электронных цифровыхвычислительных машин описанное применение интерполяции не кануло в лету. В начальный период развития ЭВМ преобладал алгоритмический подход к вычислению элементарных функций, когда основной упор делался на создании алгоритмов, способных «на голом месте» вычислить функцию, исходя из какого-нибудь её аналитическогопредставления, например, в виде быстросходящегося ряда и т.
п. (см., кпримеру, [22, 23]). Но затем, по мере удешевления памяти ЭВМ и повышения её быстродействия, постепенно распространился подход, оченьсильно напоминающий старый добрый табличный способ, но уже нановом уровне. Хранение сотен килобайт или даже мегабайт цифровойинформации и быстрый доступ к ним никаких проблем сейчас не представляет, и потому в современных компьютерах программы вычисления функций (элементарных и специальных), как правило, включаютв себя библиотеки затабулированных значений функции для фиксированных аргументов.
Опираясь на них, строится значение в нужной намточке.yx0x1.......xnРис. 2.2. Задача интерполяции может иметь неединственное решение.Ещё один источник возникновения задачи интерполирования — этожелание иметь просто вычисляемое выражение для сложных функциональных зависимостей, которые могут быть заданы как явно, так инеявно, но в исходной форме требуют очень большого труда для своего502.
Численные методы анализавычисления.Если класс G интерполирующих функций достаточно широк, то решение задачи интерполяции может быть неединственным (см. Рис. 2.2).Напротив, если G узок, то у задачи интерполяции может вовсе не бытьрешений. На практике выбор класса G обычно диктуется спецификойрешаемой практической задачи.В случае, когда, к примеру, заранее известно, что интерполируемая функция периодична, в качестве интерполирующих функций естественно взять тоже периодические функции. Ими могут быть, в частности, тригонометрические полиномыmXk=0ak cos(kx) + bk sin(kx)(2.4)для некоторого фиксированного m (там, где требуется гладкость), либопилообразные функции или «ступеньки» (в импульсных системах) ит.
п.yxРис. 2.3. Функция, которую лучше интерполироватьс помощью периодических функций.Ниже мы подробно рассмотрим ситуацию, когда в качестве интерполирующих функций берутся алгебраические полиномыa0 + a1 x + a2 x2 + · · · + am xm ,(2.5)которые несложно вычисляются и являются простым и хорошо изученным математическим объектом. При этом мы откладываем до §2.5рассмотрение вопроса о том, насколько подходящими такие полиномы2.2. Интерполирование функций51являются для различных случаев интерполирования.
Вообще, проблема наиболее адекватного выбора класса интерполирующих функцийG не является тривиальной. Для её хорошего решения, как правило,необходимо, чтобы интерполирующие функции были «той же природы», что и интерполируемые функции из класса F (который даже нефигурирует в формальной постановке задачи). Если это условие невыполнено, то задача интерполяции может решаться неудовлетворительно.Определение 2.2.1 Интерполирование функций с помощью алгебраических полиномов называют алгебраической интерполяцией. Алгебраический полином Pm (x) = a0 + a1 x + a2 x2 + · · · + am xm , решающийзадачу алгебраической интерполяции, называется интерполяционнымполиномом или алгебраическим интерполянтом.Как по интерполяционным данным (xi , yi ), i = 0, 1, . .
. , n, найтиинтерполяционный полином вида (2.5), т. е. определить его коэффициенты?Подставляя в выражение (2.5) последовательно значения аргументаx0 , x1 , . . . , xn и учитывая, что получающиеся при этом значения полинома должны быть равны y0 , y1 , . . . , yn , приходим к соотношениямa0 + a1 x0 + a2 x20 + · · · + am xm0 = y0 ,a0 + a1 x1 + a2 x21 + · · · + am xm1 = y1 ,..................(2.6)a0 + a1 xn + a2 x2n + · · · + am xmn = yn .Они образуют систему линейных алгебраических уравнений относительно неизвестных коэффициентов a0 , a1 , a2 , .
. . , am искомого полинома. Решив её, можно построить и сам полином.В самом общем случае, если мы не накладываем никаких ограничений на степень полинома m и количество узлов интерполяции n + 1,система (2.6) может не иметь решения, а если оно существует, то можетбыть неединственным. Имеется, тем не менее, важный частный случайзадачи алгебраической интерполяции, для которого гарантируется однозначная разрешимость.Теорема 2.2.1 Если m = n, т.
е. степень интерполяционного полинома на единицу меньше количества узлов, то решение задачи алгебраической интерполяции существует и единственно.522. Численные методы анализаДоказательство. При m = n в системе линейных алгебраическихуравнений (2.6) число неизвестных совпадает с числом уравнений, аматрица этой системы — квадратная. Она имеет видV (x0 , x1 , . . . , xn ) = x0x20.
. . xn01 x1......1 xnx21...x2n. . . xn1.... ... . . xnn1,(2.7)и является так называемой матрицей Вандермонда (см., к примеру,[17, 34]). Её определитель равен, как известно, произведениюY1≤i<j≤n(xj − xi ),и он не зануляется, если узлы интерполяции попарно отличны другот друга. Следовательно, система линейных уравнений (2.6) однозначно разрешима тогда при любой правой части, т.
е. при любых yi , i =0, 1, . . . , n.Теорема 2.2.1 и предшествующие ей рассуждения дают конструктивный способ построения интерполяционного полинома через решениесистемы линейных алгебраических уравнений, который вполне практичен, особенно при небольших n. Он носит общий характер и пригодендля других сходных случаев, когда применяется так называемая линейная интерполяция. Этим термином мы будем называть задачу интерполяции, в которой интерполирующие функции из класса G линейнозависят от некоторых параметров. В частности, это имеет место, когдаG является линейным пространством с заданным базисом. Если число параметров конечно, т. е. конечна размерность пространства G, тоусловия удовлетворения интерполяционным данным приводят к необходимости решения системы линейных уравнений, аналогично тому,как это получилось выше для алгебраических полиномов фиксированой степени.Если же интерполирующие функций из класса G нельзя представить линейно зависящими от параметров, то соответствующую задачуинтерполяции будем называть нелинейной.
Для определения интерполянта тогда необходимо решать систему нелинейных уравнений.2.2. Интерполирование функций2.2б53Интерполяционный полином ЛагранжаРазвитый в предшествующем разделе способ построения интерполянта через решение системы уравнений в силу ряда причин может неудовлетворить практику. Например, иногда желательно иметь для интерполяционного полинома какое-либо явное аналитическое представление, которого рассмотренный способ не даёт. Далее, при значительном количестве узлов построение интерполянта посредством решениясистемы уравнений невыгодно в вычислительном отношении. Помимотого, что решение систем линейных уравнений само по себе не являетсятривиальной задачей, система (2.6) с матрицей Вандермонда оказывается весьма чувствительной к возмущениям данных или, как принятоговорить, плохо обусловленной (см.
§1.3; конкретную числовую оценкучувствительности решения системы (2.6) можно найти в §§3.5а–3.5б).Поэтому получаемый на этом пути интерполяционный полином можетобладать большой погрешностью.Систему линейных уравнений (2.6) можно попытаться решить в общем виде с помощью правила Крамера, пользуясь удобным выражением для определителя матрицы Вандермонда в знаменателе и разложением определителей в числителе по столбцу свободных членов(y0 , y1 , .
. . , yn )⊤ . Этот путь может быть успешно пройдён, хотя и требует громоздких алгебраических преобразований.На самом деле нам нечасто требуется знать для интерполяционногополинома именно каноническую форму (2.5). Для большинства практических целей достаточно иметь какое-либо конструктивное представление интерполяционного полинома, позволяющее вычислять его значения в любой наперёд заданной точке.Для отыскания такого представления заметим, что при фиксированных узлах x0 , x1 , . .
. , xn результат интерполяции линейным образом зависит от значений y0 , y1 , . . . , yn . Более точно, если полиномP (x) решает задачу интерполяции по значениям y = (y0 , y1 , . . . , yn ), аполином Q(x) решает задачу интерполяции с теми же узлами по значениям z = (z0 , z1 , . . . , zn ), то для любых чисел α, β ∈ R полиномαP (x) + βQ(x) решает задачу интерполяции для значений αy + βz =(αy0 + βz0 , αy1 + βz1 , . . .