Matlab справка
yi = interp1(x, y, xi) yi = interp1(x, y, xi, ‘’)
Функцията yi = interp1(x, y, xi) изгражда интерполираща крива за едномерен масив y, даден върху решетка x; изходният масив yi може да бъде дефиниран на по-фина мрежа xi. Ако Y е двуизмерен масив, тогава за всяка колона се изгражда интерполираща крива. Линейната интерполация е реализирана по подразбиране.
Функцията yi = interp1(x, y, xi, ‘ ‘) ви позволява да зададете метода на интерполация:
"линеен" | линеен |
'кубичен' | кубичен |
"сплайн" | кубични сплайни |
Приема се, че аргументът x се променя монотонно; в допълнение, за кубична интерполация се приема, че мрежата в x е равномерна.
Пример:
Ние дефинираме синусоида само с 10 точки и интерполираме с помощта на фина решетка.
х = 0:10; y = sin(x); xi = 0:.25:10; yi = interp1(x, y, xi); plot(x, y, 'o', xi, yi, 'g'), задръжте yi = interp1(x, y, xi, 'spline'); графика (x, y, 'ob', xi, yi, 'm'), решетка, задържане
Методите за линейна и кубична интерполация са доста лесни за изпълнение; Що се отнася до сплайн интерполацията, в този случай се използват помощни функции ppval, mkpp, unmkpp, които образуват малък пакет за работа с гладки полиноми на части.
Значително по-големи възможности за потребителите за решаване на проблеми с интерполация и апроксимация предоставя специализираният пакет Spline Toolbox [1].
1. Кутия с инструменти за сплайни. Ръководство на потребителя. Natick: The MathWorks, Inc., 1992 г.