Интерполяция - разновидность аппроксимации. Однако, в отличие от аппроксимации по методу наименьших квадратов, которая дает уравнение функции с графиком, проходящим на минимальном расстоянии от каждой из данных точек, задача интерполяции состоит в том, чтобы найти уравнение функции, график которой проходит точно через все заданные точки.
Существуют различные виды интерполяции. Wolfram|Alpha использует полиномиальную интерполяцию, и выполняет ее по запросу interpolating polynomial
interpolating polynomial{(1,1),(2.5,8),(3.5,2),(4.5,5),(6,-3),(7.5,4),(8,-3)}
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjB5TLxwr67IbqCb-kVhlPmYkD1e_cR5rGcv5kI7zwFqATQQB8pJdYqNDcX7wVWUJ7-a8abedbd5tXz3yhRSs6oDkBFeALaITtX67Swz_mMK3pIXudauA8bQzFjRPoOdOpXOUgp9eLvtU/s1600/interpolation-polynomial-0.png)
Полученные интерполяционные многочлены обычно используют для вычисления значений функции в промежутках между экспериментальными точками. Чтобы вычислить значение интерполяционного полинома, например, в точке x=4, нужно (а) щелкнуть мышью выражение полинома, которое выведет Wolfram|Alpha (при наведении мыши это выражение выделяется подчеркиванием, как гиперссылка):
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggESrPmxxT8okUZ9Rk9wZZoFPryXIU2fwVms6X1AgOPSTChBZrdUiKy7u9WUoGDnLSwSs0efO-cwjZdoN-tjYUV4lQsuzhMNMPX3OpRolUrKI3vMqIrRyCrHnnJW46Z10JlilB3QBrLjM/s1600/interpolation-polynomial-plotting.png)
В ответ 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
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJ33qnfpxMWiretlnnD_Q19TrsCmVD3rvLxBhJ2j0vvLjKlYY0my0vW0UwxSuAXnE4NJqweUQlVjV55aEYMl_rjFzrybFYFa7Txfu5oQHTzWq4zo8RfrETaz9AYynAbBzNlulPxf-PcgM/s1600/interpolation-polynomial-plotting-result.png)
Наконец (в), чтобы вычислить значение интерполяционного полинома в заданной точке (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
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgprtSxFz-ihAnyynXRTQnkiFSIehwU_2ZamBhxznMSenb1hGgUPxmRJTaY2ON7rvHanmRHM2hLp_SK3obp1e_gLif6F4Y963fC5nzK07vVOrQLeONTcjW_nQNzwcDUKhp5pncRbzE4-dM/s1600/interpolation-polynomial-point-result-3.png)
Аппроксимация по тому же самому набору точек, когда не указан ни тип ни порядок модели аппроксимации, дает следующее:
fit{(1,1),(2.5,8),(3.5,2),(4.5,5),(6,-3),(7.5,4),(8,-3)}
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBVN2Ns56RrwF8bCc7s8I6a9beN4cenvB1CvYbn8vPdjdeNLg8EW2px2bkiFVzgSai1fLD9-N9OTKlYNF4FDQlEY5VZRJY35j4fWUabUo-7o53eGtrRoP8q2HfCyrg8vSnQN6fKtGzLMo/s1600/interpolation-fit-2.png)
Можно получить результат аппроксимации, совпадающий с результатом полиномиальной интерполяции. Для этого нужно выбрать полиномиальную модель и указать ее порядок на 1 меньше, чем количество данных точек:
polynomial of degree 6 fit {(1,1),(2.5,8),(3.5,2),(4.5,5),(6,-3),(7.5,4),(8,-3)}
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWeNLhe6QCywqeZVSv1b_zXCg-wDnzPMA3Ccirn_oxhNcH2-pmPgawLl_A02ZF7YPmb4wF5Lpb5lwKNbVgDMJ8PVz-7hyvOQ-ZfXmum3xWDlySdy-UDL49oQyFW4q150ZWcRI-OmWv7R8/s1600/interpolation-fit-3.png)
Для выполнения интерполяции важно, чтобы абсциссы заданных точек не совпадали. Например, вот такой запрос (это НЕПРАВИЛЬНО!)
interpolating polynomial {{1,2},{1,8},{3,5}}
где первая и вторая точка имеют одинаковую абсциссу, дает результат на первый взгляд правдоподобный, но абсолютно неправильный:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWBTssdKjBaFXL8OIn0XoEG0kBrdj6gBJ1tKMMv5lYsWO0brCUbMkow1e4MesEgX3ZT5csA5arSclTISE48-gAZcd-kjWwe3AgpKRCYHQ603iFClD_0wxXqs8bUrG1XtjVe8ZgQsXViBY/s1600/interpolation-polynomial-1-mistake.png)
Здесь, как видите, Wolfram|Alpha интерпретирует координаты 3-х данных точек, как последовательность из 6-ти чисел - значений функции, а в качестве абсцисс использует номера членов этой последовательности.
Если же абсциссы всех точек хоть немного, но отличаются, то получим абсолютно верный результат (это ПРАВИЛЬНО!):
interpolating polynomial (1,2), (1.005,8), (4,5), (7,-3)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_zHajr2CgS2JASvrF-ywya_j4W2OAOm5rpTdWzXhBypi8cvAhSEbEDvMGudTY3pMm3Rm9-dmTE9PqAnzeeE-NMcYCQecT9KJ01r_kTp_1rIdmtqUnBsyikuu1bR6Pf3oqxiKMJEfU3pw/s1600/interpolation-polynomial-4.png)
Существуют различные виды интерполяции. Wolfram|Alpha использует полиномиальную интерполяцию, и выполняет ее по запросу interpolating polynomial
interpolating polynomial{(1,1),(2.5,8),(3.5,2),(4.5,5),(6,-3),(7.5,4),(8,-3)}
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjB5TLxwr67IbqCb-kVhlPmYkD1e_cR5rGcv5kI7zwFqATQQB8pJdYqNDcX7wVWUJ7-a8abedbd5tXz3yhRSs6oDkBFeALaITtX67Swz_mMK3pIXudauA8bQzFjRPoOdOpXOUgp9eLvtU/s1600/interpolation-polynomial-0.png)
Полученные интерполяционные многочлены обычно используют для вычисления значений функции в промежутках между экспериментальными точками. Чтобы вычислить значение интерполяционного полинома, например, в точке x=4, нужно (а) щелкнуть мышью выражение полинома, которое выведет Wolfram|Alpha (при наведении мыши это выражение выделяется подчеркиванием, как гиперссылка):
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggESrPmxxT8okUZ9Rk9wZZoFPryXIU2fwVms6X1AgOPSTChBZrdUiKy7u9WUoGDnLSwSs0efO-cwjZdoN-tjYUV4lQsuzhMNMPX3OpRolUrKI3vMqIrRyCrHnnJW46Z10JlilB3QBrLjM/s1600/interpolation-polynomial-plotting.png)
В ответ 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
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJ33qnfpxMWiretlnnD_Q19TrsCmVD3rvLxBhJ2j0vvLjKlYY0my0vW0UwxSuAXnE4NJqweUQlVjV55aEYMl_rjFzrybFYFa7Txfu5oQHTzWq4zo8RfrETaz9AYynAbBzNlulPxf-PcgM/s1600/interpolation-polynomial-plotting-result.png)
Наконец (в), чтобы вычислить значение интерполяционного полинома в заданной точке (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
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgprtSxFz-ihAnyynXRTQnkiFSIehwU_2ZamBhxznMSenb1hGgUPxmRJTaY2ON7rvHanmRHM2hLp_SK3obp1e_gLif6F4Y963fC5nzK07vVOrQLeONTcjW_nQNzwcDUKhp5pncRbzE4-dM/s1600/interpolation-polynomial-point-result-3.png)
Аппроксимация по тому же самому набору точек, когда не указан ни тип ни порядок модели аппроксимации, дает следующее:
fit{(1,1),(2.5,8),(3.5,2),(4.5,5),(6,-3),(7.5,4),(8,-3)}
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBVN2Ns56RrwF8bCc7s8I6a9beN4cenvB1CvYbn8vPdjdeNLg8EW2px2bkiFVzgSai1fLD9-N9OTKlYNF4FDQlEY5VZRJY35j4fWUabUo-7o53eGtrRoP8q2HfCyrg8vSnQN6fKtGzLMo/s1600/interpolation-fit-2.png)
Можно получить результат аппроксимации, совпадающий с результатом полиномиальной интерполяции. Для этого нужно выбрать полиномиальную модель и указать ее порядок на 1 меньше, чем количество данных точек:
polynomial of degree 6 fit {(1,1),(2.5,8),(3.5,2),(4.5,5),(6,-3),(7.5,4),(8,-3)}
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWeNLhe6QCywqeZVSv1b_zXCg-wDnzPMA3Ccirn_oxhNcH2-pmPgawLl_A02ZF7YPmb4wF5Lpb5lwKNbVgDMJ8PVz-7hyvOQ-ZfXmum3xWDlySdy-UDL49oQyFW4q150ZWcRI-OmWv7R8/s1600/interpolation-fit-3.png)
Для выполнения интерполяции важно, чтобы абсциссы заданных точек не совпадали. Например, вот такой запрос (это НЕПРАВИЛЬНО!)
interpolating polynomial {{1,2},{1,8},{3,5}}
где первая и вторая точка имеют одинаковую абсциссу, дает результат на первый взгляд правдоподобный, но абсолютно неправильный:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWBTssdKjBaFXL8OIn0XoEG0kBrdj6gBJ1tKMMv5lYsWO0brCUbMkow1e4MesEgX3ZT5csA5arSclTISE48-gAZcd-kjWwe3AgpKRCYHQ603iFClD_0wxXqs8bUrG1XtjVe8ZgQsXViBY/s1600/interpolation-polynomial-1-mistake.png)
Здесь, как видите, Wolfram|Alpha интерпретирует координаты 3-х данных точек, как последовательность из 6-ти чисел - значений функции, а в качестве абсцисс использует номера членов этой последовательности.
Если же абсциссы всех точек хоть немного, но отличаются, то получим абсолютно верный результат (это ПРАВИЛЬНО!):
interpolating polynomial (1,2), (1.005,8), (4,5), (7,-3)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_zHajr2CgS2JASvrF-ywya_j4W2OAOm5rpTdWzXhBypi8cvAhSEbEDvMGudTY3pMm3Rm9-dmTE9PqAnzeeE-NMcYCQecT9KJ01r_kTp_1rIdmtqUnBsyikuu1bR6Pf3oqxiKMJEfU3pw/s1600/interpolation-polynomial-4.png)