griddata
Interpola dados espalhados em pontos de consulta.
Categoria: Mathematics > Interpolation
Sintaxe
vq = griddata(x, y, v, xq, yq)
Interpolação linear das amostras espalhadas v(x,y) nos pontos (xq,yq).
vq = griddata(x, y, v, xq, yq, method)
Usa o método indicado, como 'nearest', 'linear', 'natural', 'cubic' ou 'v4'.
vq = griddata(x, y, z, v, xq, yq, zq)
O mesmo para amostras em três dimensões.
Descrição
griddata constrói uma triangulação de Delaunay dos pontos de amostra e interpola dentro de cada triângulo. Os dados não precisam estar em grade regular, o que a diferencia de interp2.
O método linear é exato para dados que vêm de um plano. O método vizinho mais próximo copia o valor da amostra mais perto e é o único que retorna valores finitos fora do fecho. Para consultas repetidas sobre os mesmos dados, scatteredInterpolant evita refazer a triangulação.
Argumentos de entrada
x, y- Coordenadas dos pontos de amostra, vetores de mesmo comprimento.
v- Valores das amostras nesses pontos.
xq, yq- Coordenadas de consulta. Vetores de mesma forma dão valores nesses pontos; um vetor linha e um coluna definem uma grade.
method- Método de interpolação, padrão
'linear'.
Argumentos de saída
vq- Valores interpolados. Pontos fora do fecho convexo das amostras dão
NaN, exceto no método'nearest'.
Exemplo
Interpolando amostras de um plano
[x, y] = meshgrid(0:2);
v = x + 2*y;
griddata(x(:), y(:), v(:), 0.5, 1.5)
griddata(x(:), y(:), v(:), [0.4 1.6], [0.4 1.6], 'nearest')
Saída
ans = 3.5000
ans = 1×2
0 6