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