interp1

Interpolação unidimensional de dados tabelados.

Categoria: Mathematics > Interpolation

Sintaxe

vq = interp1(x, v, xq)

Interpolação linear das amostras v(x) nos pontos de consulta xq.

vq = interp1(v, xq)

Assume os pontos de amostra como 1:numel(v).

vq = interp1(x, v, xq, method)

Usa o método de interpolação indicado.

vq = interp1(x, v, xq, method, extrapolation)

Também controla os valores fora do intervalo de x: 'extrap' ou um valor de preenchimento escalar.

Descrição

interp1 ajusta uma função aos pontos (x, v) e a avalia em xq. O método linear liga vizinhos por segmentos de reta; 'nearest', 'previous' e 'next' dão funções em degraus; 'pchip' e 'makima' produzem curvas suaves que evitam oscilações; 'spline' dá uma spline cúbica com condição not-a-knot nas pontas e o resultado mais suave.

Em um empate, 'nearest' arredonda para o maior ponto de amostra. Pontos de consulta fora do intervalo de x retornam NaN, a menos que se indique extrapolação.

Argumentos de entrada

x
Pontos de amostra, um vetor de valores distintos.
v
Valores de amostra. Uma matriz é interpolada coluna a coluna.
xq
Pontos de consulta.
method
'linear' (padrão), 'nearest', 'next', 'previous', 'pchip', 'cubic', 'v5cubic', 'makima' ou 'spline'.
extrapolation
'extrap' para extrapolar com o mesmo método, ou um número usado em todo ponto fora do intervalo dos dados. O padrão é NaN.

Argumentos de saída

vq
Valores interpolados, com a forma de xq (para v vetor).

Exemplo

Métodos e consultas fora do intervalo

x = [1 2 3 4];
v = [10 20 15 30];
interp1(x, v, 2.5)
interp1(x, v, [0 5])
interp1(x, v, [0 5], 'linear', 'extrap')
interp1(x, v, 2.5, 'pchip')
interp1(x, v, 2.5, 'spline')
Saída
ans = 17.5000
ans = 1×2

   NaN   NaN
ans = 1×2

     0    45
ans = 17.5000
ans = 17.1875

Veja também

interp2 spline pchip makima griddedInterpolant polyfit