* Данный текст распознан в автоматическом режиме, поэтому может содержать ошибки
506
Приближение функций и прогноз
6.6.3. Полиномиальная интерполяция
Для реализации полиномиальной аппроксимации (интерполяции) в СКМ Mathematica 4/5 используются следующие функции: • InterpolatingFunction[range, table] – возвращает объект – интерполирую щую функцию, позволяющую вычислять промежуточные значения в за данном диапазоне range для таблицы table. • InterpolatingPolynomial[data, var] – возвращает полином по переменной var, значения которого в узловых точках точно совпадают с данными из списка data. Он может иметь форму {{x1, f1}, {x2, f2}, ...} или {f1, f2, ...}, тогда во втором случае xi принимают значения 1, 2, .... Вместо fi может быть{fi, dfi, ddfi, ...}, указывая производные в точках xi. • Interpolation[data] – конструирует объект InterpolatingFunction. • InterpolationOrder – опция к Interpolation, которая указывает степень подходящего полинома. Применение основной функции Interpolation поясняет следующий пример:
data=Table[{x,x^2+1},{x,1,5}] {{1,2},{2,5},{3,10},{4,17},{5,26}} funi=Interpolation[data] InterpolatingFunction[{{1,5}},<>] {funi[1.5],funi[3],funi[4.5]} {3.25,10,21.25}
Таким образом, на заданном отрезке изменения x функция Interpolation по зволяет найти любое промежуточное значение функции funi[x], в том числе зна чения в узловых точках. Теперь рассмотрим полиномиальную аппроксимацию, при которой полином ищется в явном виде и используется в качестве приближающей функции для дан ных, представленных списком координат узловых точек некоторой зависимости. Степень полинома в этом случае всегда на 1 меньше числа узловых точек интер поляции или аппроксимации. Пример на рис. 6.31 иллюстрирует технику прове дения полиномиальной аппроксимации с применением интерполирующего сте пенного многочлена. Как и следовало ожидать, степень аппроксимирующего многочлена равна трем, поскольку заданы всего четыре пары данных. На рис. 6.31 представлено так же сравнение данных полиномиальной аппроксимации с исходными данными. Исходные данные построены на графике в виде точек, а зависимость, представ ленная аппроксимирующим полиномом, построена на графике сплошной линией. Полезно обратить внимание на технику построения графика аппроксимирую щей функции одновременно с построением узловых точек. На рис. 6.31 для этого используются два графических объекта: g1 – график полинома, g2 – график узло вых точек, представленных списком data, и строящийся графической функцией ListPlot с опцией, задающей размеры точек. Функция Show[g1, g2] строит объек ты g1 и g2 как порознь, так и совместно. Построения отдельно объектов из рис. 6.6 удалены, оставлен только график полинома вместе с узловыми точками. Этот прием мы будем в последующем использовать неоднократно.