N-мерная табличная интерполяция
N-мерная табличная интерполяция
MATLAB позволяет выполнить даже n-мерную табличную интерполяцию. Для этого используется функция interpn:
-
VI = interpn(X1.X2,X3,... ,V,Y1.Y2.Y3....)- интерполирует, чтобы найти VI, значение основной многомерной функции V в точках массивов Y1, Y2, Y3,.... Функции interpn должно передаваться 2ЛГ+1 аргументов, где N — размерность интерполируемой функции. Массивы X1, Х2, ХЗ,... определяют точки, в которых задано значение V. Параметры Y1, Y2, Y3,... могут быть матрицами, в этом случае interpn возвращает значения VI, соответствующие точкам (YKi, j) ,Y2(i, j), Y3(i, j),...). В качестве альтернативы можно передать векторы yl, y2, уЗ,... В этом случае interpn интерпретирует их, как если бы использовалась команда ndgrid(y1. У2.у3....);
-
VI = interpn(V.Yl,Y2,Y3,...) - подразумевает Xl=1size(V.l), X2=l:size(V,2), X3=l:size(V,3) и т. д.;
-
VI = Interpn(V.ntimes) — осуществляет интерполяцию рекурсивным методом с числом шагов ntimes;
-
VI = interpn(...method) — позволяет указать метод интерполяции:
-
'nearest' — ступенчатая интерполяция;
-
'linear' — линейная интерполяция;
-
'cubic' — кубическая интерполяция.
В связи с редким применением такого вида интерполяции, наглядная трактовка которой отсутствует, примеры ее использования не приводятся.