Интерполяция функций в Wolfram|Alpha

Интерполяция - разновидность аппроксимации. Однако, в отличие от аппроксимации по методу наименьших квадратов, которая дает уравнение функции с графиком, проходящим на минимальном расстоянии от каждой из данных точек, задача интерполяции состоит в том, чтобы найти уравнение функции, график которой проходит точно через все заданные точки.

Существуют различные виды интерполяции. Wolfram|Alpha использует полиномиальную интерполяцию, и выполняет ее по запросу interpolating polynomial

interpolating polynomial{(1,1),(2.5,8),(3.5,2),(4.5,5),(6,-3),(7.5,4),(8,-3)}



Полученные интерполяционные многочлены обычно используют для вычисления значений функции в промежутках между экспериментальными точками. Чтобы вычислить значение интерполяционного полинома, например, в точке x=4, нужно (а) щелкнуть мышью выражение полинома, которое выведет Wolfram|Alpha (при наведении мыши это выражение выделяется подчеркиванием, как гиперссылка):



В ответ Wolfram|Alpha выдаст (б) набор сведений об этом выражении, как если бы вы ввели его вручную:

-293.813+605.642 x-437.886 x^2+152.155 x^3-27.4955 x^4+2.48621 x^5-0.0888052 x^6



Наконец (в), чтобы вычислить значение интерполяционного полинома в заданной точке (x=4), нужно просто указать в окне запроса Wolfram|Alpha, после введенного полинома через запятую, значение аргумента, чтобы получилось такое:

-293.813+605.642 x-437.886 x^2+152.155 x^3-27.4955 x^4+2.48621 x^5-0.0888052 x^6, x=4



Аппроксимация по тому же самому набору точек, когда не указан ни тип ни порядок модели аппроксимации, дает следующее:

fit{(1,1),(2.5,8),(3.5,2),(4.5,5),(6,-3),(7.5,4),(8,-3)}



Можно получить результат аппроксимации, совпадающий с результатом полиномиальной интерполяции. Для этого нужно выбрать полиномиальную модель и указать ее порядок на 1 меньше, чем количество данных точек:

polynomial of degree 6 fit {(1,1),(2.5,8),(3.5,2),(4.5,5),(6,-3),(7.5,4),(8,-3)}



Для выполнения интерполяции важно, чтобы абсциссы заданных точек не совпадали. Например, вот такой запрос (это НЕПРАВИЛЬНО!)

interpolating polynomial {{1,2},{1,8},{3,5}}

где первая и вторая точка имеют одинаковую абсциссу, дает результат на первый взгляд правдоподобный, но абсолютно неправильный:



Здесь, как видите, Wolfram|Alpha интерпретирует координаты 3-х данных точек, как последовательность из 6-ти чисел - значений функции, а в качестве абсцисс использует номера членов этой последовательности.

Если же абсциссы всех точек хоть немного, но отличаются, то получим абсолютно верный результат (это ПРАВИЛЬНО!):

interpolating polynomial (1,2), (1.005,8), (4,5), (7,-3)