Интерполируйте 2D или 3-D данные, имеющий разброс
Используйте scatteredInterpolant, чтобы выполнить интерполяцию на 2D или 3-D наборе данных данных, имеющий разброс. scatteredInterpolant возвращает interpolant
F для набора определенных данных. Можно оценить F в наборе точек запроса, таких как (xq,yq) в 2D, чтобы произвести интерполированные значения vq = F(xq,yq).
Используйте griddedInterpolant, чтобы выполнить интерполяцию с данными с координатной сеткой.
F = scatteredInterpolantF = scatteredInterpolant(x,y,v)F = scatteredInterpolant(x,y,z,v)F = scatteredInterpolant(P,v)F = scatteredInterpolant(___,Method)F = scatteredInterpolant(___,Method,ExtrapolationMethod) создает пустые данные, имеющий разброс interpolant объект.F = scatteredInterpolant
задает метод интерполяции: F = scatteredInterpolant(___,Method)'nearest', 'linear' или 'natural'. Задайте Method как последний входной параметр в любом из первых трех синтаксисов.
задает и методы интерполяции и экстраполяции. Передайте F = scatteredInterpolant(___,Method,ExtrapolationMethod)Method и ExtrapolationMethod вместе как последние два входных параметра в любом из первых трех синтаксисов.
Method может быть: 'nearest', 'linear' или 'natural'.
ExtrapolationMethod может быть: 'nearest', 'linear' или 'none'.
Используйте scatteredInterpolant, чтобы создать interpolant, F. Затем можно оценить F в отдельных моментах с помощью любого из следующих синтаксисов:
Vq = F(Pq)
Vq = F(Xq,Yq)
Vq = F(Xq,Yq,Zq)
Vq = F({xq,yq})
Vq = F({xq,yq,zq})
Vq = F(Pq) задает точки запроса в матричном Pq. Каждая строка в Pq содержит координаты точки запроса.
Vq = F(Xq,Yq) и Vq = F(Xq,Yq,Zq) задайте точки запроса как две или три матрицы равного размера.
Vq = F({xq,yq}) и Vq = F({xq,yq,zq}) задайте точки запроса как векторы сетки. Используйте этот синтаксис, чтобы сохранить память когда это необходимо, чтобы запросить большую сетку точек.
Это более быстро, чтобы оценить объект scatteredInterpolant F во многих различных наборах точек запроса, чем это должно вычислить интерполяции отдельно с помощью функций griddata или griddatan. Например:
% Fast to create interpolant F and evaluate multiple times F = scatteredInterpolant(X,Y,V) v1 = F(Xq1,Yq1) v2 = F(Xq2,Yq2) % Slower to compute interpolations separately using griddata v1 = griddata(X,Y,V,Xq1,Yq1) v2 = griddata(X,Y,V,Xq2,Yq2)
Чтобы изменить демонстрационные значения интерполяции или метод интерполяции, более эффективно обновить свойства interpolant объекта F, чем это должно создать новый объект scatteredInterpolant. Когда вы обновляете Values или Method, базовая Триангуляция Делоне входных данных не изменяется, таким образом, можно вычислить новые результаты быстро.
scatteredInterpolant использует Триангуляцию Делоне рассеянных точек выборки, чтобы выполнить интерполяцию [1].
[1] Amidror, Айзек. “Методы интерполяции данных, имеющий разброс для электронных систем обработки изображений: обзор”. Журнал Электронной Обработки изображений. Издание 11, № 2, апрель 2002, стр 157–176.
griddata | griddatan | griddedInterpolant | meshgrid | ndgrid