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