Полиномиальная интерполяция и аппроксимация
Полиномиальная интерполяция и аппроксимация
Для решения задач интерполяции и аппроксимации функций, заданных рядом узловых точек, в Mathematica используются следующие функции:
- InterpolatingFunctionfrange, table] — возвращает интерполирующую функцию, позволяющую вычислять промежуточные значения в заданном диапазоне range для таблицы table;
- InterpolatingPolynomial [data, var] — возвращает полином (степенной многочлен) по переменной var, значения которого в узловых точках точно совпадают с данными из списка data. Он может иметь форму { {xl, f1}, {х2, f2},...} или {fl, f2,...} (во втором случае xi принимают значения 1, 2,...). Вместо fi может быть список {fi, dfi, ddfi,...}, указывающий значения производных в точках xi;
- Interpolation [data] — конструирует объект InterpolatingFunction.
funi = Interpolation[data] InterpolatingFunctionf{{1, 5}}, 0] {funi [1.5], funi[3], funi[4.5]} {3.25, 10, 21.25} Таким образом, на заданном отрезке изменения х функция Interpolation позволяет найти любое промежуточное значение функции funi [x], в том числе значения в узловых точках. Теперь рассмотрим часто используемую полиномиальную аппроксимацию, при которой ищется полином, график которого точно проходит через узловые точки данных. Степень интерполирующего (и аппроксимирующего) полинома всегда на 1 меньше числа узловых точек интерполяции или аппроксимации. Аппроксимация отличается от интерполяции тем, что предполагает получение аппроксимирующей функции в явном виде. При полиномиальной аппроксимации такой функцией является степенной многочлен. Пример на рис. 5.13 иллюстрирует технику проведения полиномиальной аппроксимации с применением интерполирующего степенного многочлена.