Двумерная сплайн-интерполяция приводит к построению поверхности z (х,у), проходящей через массив точек, описывающий сетку на координатной плоскости
(х,у). Поверхность создается участками двумерных кубических сплайнов, являющихся функциями
(х,у) и имеющих непрерывные первые и вторые производные по обеим координатам.
Многомерная интерполяция строится с помощью тех же встроенных функций, что и одномерная (см. разд. 13.1.2), но имеет в качестве аргументов не векторы, а соответствующие матрицы. Существует одно важное ограничение, связанное с возможностью интерполяции только квадратных
NxN массивов данных:
- s — вектор вторых производных, созданный одной из сопутствующих функций cspline, pspline или lspline;
- х — матрица размерности Nх2, определяющая диагональ сетки значений аргумента (элементы обоих столбцов соответствуют меткам х и у и расположены в порядке возрастания);
- z — матрица действительных данных размерности NxN;
- v — вектор из двух элементов, содержащий значения аргументов х и у, для которых вычисляется интерполяция.
ПРИМЕЧАНИЕ
Вспомогательные функции построения вторых производных имеют те же матричные аргументы, что и interp:
lspline (X, Y), pspline (X, Y), cspline (X, Y).
Пример исходных данных приведен на рис. 13.12 в виде графика линий уровня, программная реализация двумерной интерполяции показана в листинге 13.6, а ее результат — на рис. 13.13.
Листинг 13.6. Двумерная интерполяция
Рис. 13.12. Исходное двумерное поле данных (продолжение листинга 13.6)
Рис. 13.13. Результат двумерной интерполяции (продолжение листинга 13.6)