Интерполяция 2-D или 3-D данных , имеющих разбросов
Использование scatteredInterpolant
для выполнения интерполяции на 2-D или 3-D наборе данных данного , имеющего разброса. scatteredInterpolant
возвращает
F интерполяции для данного набора данных. Можно оценить
F
в наборе точек запроса, таких как (xq,yq)
в 2-D, для получения интерполированных значений vq = F(xq,yq)
.
Использование griddedInterpolant
для выполнения интерполяции с использованием данных сетки.
создает пустой данный , имеющий разброс.F
= scatteredInterpolant
задает метод интерполяции: F
= scatteredInterpolant(___,Method
)'nearest'
, 'linear'
, или 'natural'
. Задайте Method
как последний входной параметр в любом из первых трех синтаксисов.
задает как методы интерполяции, так и экстраполяции. Передайте F
= scatteredInterpolant(___,Method
,ExtrapolationMethod
)Method
и ExtrapolationMethod
вместе как последние два входных параметров в любом из первых трех синтаксисов.
Method
может быть: 'nearest'
, 'linear'
, или 'natural'
.
ExtrapolationMethod
может быть: 'nearest'
, 'linear'
, или 'none'
.
Использование scatteredInterpolant
чтобы создать интерполяцию, 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)
Чтобы изменить значения интерполяционной выборки или метод интерполяции, более эффективно обновить свойства интерполяционного объекта F
чем создать новую scatteredInterpolant
объект. Когда вы обновляете Values
или Method
базовая триангуляция входных данных по Делоне не меняется, поэтому можно быстро вычислить новые результаты.
Данный , имеющий разброс с scatteredInterpolant
использует Триангуляцию Делоне данных, поэтому может быть чувствительным к проблемам масштабирования в точки выборки x
, y
, z
, или P
. Когда это происходит, вы можете использовать normalize
для пересмотра данных и улучшения результатов. Для получения дополнительной информации см. раздел «Нормализация данных с различными Величинами».
scatteredInterpolant
использует Триангуляцию Делоне рассеянных точек выборки для выполнения интерполяции [1].
[1] Амидрор, Айзек. «Данные , имеющие разбросы для систем электронной визуализации: опрос». Журнал электронной визуализации. Том 11, № 2, апрель 2002, стр. 157-176.
griddata
| griddatan
| griddedInterpolant
| meshgrid
| ndgrid