logo
Интерполирование функций

Введение

Цель работы: изучение и сравнительный анализ методов интерполяции функций; реализация этих методов в виде машинных программ на языке высокого уровня и практическое решение задач интерполяции на ЭВМ.

При разработке математического обеспечения САПР часто приходится иметь дело с функциями f(x), заданными в виде таблиц, когда известны некоторое конечное множество значений аргумента и соответствующие им значения функции. Аналитическое выражение функции f(x) при этом неизвестно, что не позволяет определять ее значения в промежуточных точках аргумента, отсутствующих в таблице. В таком случае решается задача интерполирования, которая формулируется следующим образом.

На отрезке [a, b] заданы n + 1 точки x0, x1, ..., xn, которые называются узлами интерполяции, и значения некоторой функции f(x) в этих точках f(x0) =  y0, f(x1) =  y1, ..., f(xn) =  yn. Требуется построить интерполирующую функцию F(x), принимающую в узлах интерполяции те же значения, что и f(x), т.е. такую, что F(x0) = y0, F(x1) = y1, ..., F(xn) = yn.

Геометрически это означает, что нужно найти кривую y = F(x) некоторого определенного типа, проходящую через заданную систему точек Mi(xi, yi) для i = . Полученная таким образом интерполяционная формула y = F(x) обычно используется для вычисления значений исходной функции f(x) для значений аргумента x, отличных от узлов интерполяции. Такая операция называется интерполированием функции f(x). При этом различают интерполирование в узком смысле, когда x принадлежит интервалу [x0, xn], и экстраполирование, когда x не принадлежит этому интервалу.

В такой общей постановке задача интерполирования может иметь бесчисленное множество решений. Чтобы получить единственную функцию F(x), необходимо предположить, что эта функция не произвольная, а удовлетворяет некоторым дополнительным условиям.

В простейшем случае предполагается, что зависимость y = f(x) на каждом интервале (xi, xi+1) является линейной. Тогда для каждого участка (xi, xi+1) в качестве интерполяционной формулы y = F(x) используется уравнение прямой, проходящей через точки Mi(xi, yi) и Mi+1(xi+1, yi+1), которое имеет вид

. (1)

При программировании процедур линейной интерполяции следует учитывать, что процесс решения задачи интерполирования с использованием формулы (1) включают два этапа: выбор интервала (xi, xi+1), которому принадлежит значение аргумента х; собственно вычисление значения y = F(x) по формуле (1).

На практике в качестве интерполирующей функции F(x) обычно используется алгебраический многочлен

Pn(x) = a0 + a1x + a2x2 + ... + anxn

степени не выше n, такой, что Pn(x0) = y0, Pn(x1) = y1, ..., Pn(xn) = yn. Наиболее известными методами построения интерполяционного многочлена Pn(x) являются метод Лагранжа, итерационные и разностные методы.