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(paravvetor).
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')
ans = 17.5000
ans = 1×2
NaN NaN
ans = 1×2
0 45
ans = 17.5000
ans = 17.1875