Интерполируйте 2D или 3-D данные, имеющий разброс
Используйте scatteredInterpolant
выполнять интерполяцию на 2D или 3-D наборе данных данных, имеющий разброс. scatteredInterpolant
возвращает interpolant
F
для набора определенных данных. Можно оценить F
в наборе точек запроса, таких как (xq,yq)
в 2D, чтобы произвести интерполированные значения vq = F(xq,yq)
.
Используйте griddedInterpolant
выполнять интерполяцию с данными с координатной сеткой.
создает пустые данные, имеющий разброс 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
использует Триангуляцию Делоне данных, так может быть чувствительно к масштабированию проблем в точках выборки x
Y
Z
, или P
. Когда это происходит, можно использовать normalize
повторно масштабировать данные и улучшить результаты. Смотрите Нормируют Данные с Отличающимися Величинами для получения дополнительной информации.
scatteredInterpolant
использует Триангуляцию Делоне рассеянных точек выборки, чтобы выполнить интерполяцию [1].
[1] Amidror, Айзек. “Методы интерполяции данных, имеющий разброс для электронных систем обработки изображений: обзор”. Журнал Электронной Обработки изображений. Издание 11, № 2, апрель 2002, стр 157–176.
griddata
| griddatan
| griddedInterpolant
| meshgrid
| ndgrid