Funções de interpolação spline

O SMath dispõe de três funções de interpolação spline:

  • linterp('X-vector','Y-vector','x') devolve o valor interpolado linearmente em x para os vetores de dados X-vector e Y-vector, que têm de ter o mesmo tamanho.
  • cinterp('X-vector','Y-vector','x') devolve o valor interpolado por spline cúbica em x para os vetores de dados X-vector e Y-vector, que têm de ter o mesmo tamanho.
  • ainterp('X-vector','Y-vector','x') devolve o valor interpolado por spline de Akima em x para os vetores de dados X-vector e Y-vector, que têm de ter o mesmo tamanho.

Eis um exemplo que mostra estas funções:

Exemplo de interpolação spline

Repare como todas estas funções são enganadoras fora do intervalo dos pontos de dados originais, ou seja, abaixo de x=1 e acima de x=5. Utilize-as apenas para interpolar, e não para extrapolar.

O vetor X pode estar ordenado por ordem crescente:

Vetor X ordenado por ordem crescente

O vetor X também pode ficar por ordenar. Como a principal utilização da interpolação é estimar um valor de y para um valor de x que não está na tabela, isto não é aconselhável:

Vetor X por ordenar

Esta página baseia-se num artigo da antiga wiki, escrito por Greg Locock.