Интерполяция на неравномерной сетке
Интерполяция на неравномерной сетке
Для интерполяции на неравномерной сетке используется функция griddata:
-
ZI = griddata(x.y.z.XI.YI) — преобразует поверхность вида z = f(x. у), которая определяется векторами (x.y.z) с (обычно) неравномерно распределенными элементами. Функция griddata аппроксимирует эту поверхность в точках, определенных векторами (XI.YI) в виде значений ZI. Поверхность всегда проходит через заданные точки. XI и YI обычно формируют однородную сетку (созданную с помощью функции meshgrid).
XI может быть вектором-строкой, в этом случае он определяет матрицу с постоянными столбцами. Точно так же YI может быть вектором-столбцом, тогда он определяет матрицу с постоянными строками.
-
[XI.YI.ZI] = griddata(x,y,z,xi ,yi ) — возвращает аппроксимирующую матрицу ZI, как описано выше, а также возвращает матрицы XI и YI, сформированные из вектора-столбца xi и вектора-строки yi . Последние аналогичны матрицам, возвращаемым функцией meshgrid;
-
[...] = griddata (....method) — использует определенный метод интерполяции:
-
'nearest' — ступенчатая интерполяция;
-
'linear' — линейная интерполяция (принята по умолчанию);
-
'cubic' — кубическая интерполяция;
-
' v4 ' — метод, используемый в МATLAB 4.
-
Метод определяет тип аппроксимирующей поверхности. Метод 'cubic 1 формирует гладкие поверхности, в то время как 'linear' и 'nearest' имеют разрывы первых и нулевых производных соответственно. Все методы, за исключением v4, основаны на триангуляции Делоне. Метод ' v4 ' включен для обеспечения совместимости с версией 4 системы MATLAB.