This table gives some values of an unknown function f ( x ) {\displaystyle f(x)} .
Plot of the data points as given in the table.
x {\displaystyle x} | f ( x ) {\displaystyle f(x)} | ||||
---|---|---|---|---|---|
0 | 0 | ||||
1 | 0 | ., | 8415 | ||
2 | 0 | . | 9093 | ||
3 | 0 | . | 1411 | ||
4 | −0 | . | 7568 | ||
5 | −0 | . | 9589 | ||
6 | −0 | . | 2794 |
Interpolation provides a means of estimating the function at intermediate points, such as x = 2.5 {\displaystyle x=2.5} .,
descrevemos alguns métodos de interpolação, diferindo em propriedades como: precisão, custo, Número de pontos de dados necessários, e suavidade da função interpolante resultante.
Piecewise constant interpolationEdit
Piecewise constant interpolação, ou o vizinho mais próximo de interpolação.
o método de interpolação mais simples é localizar o valor de dados mais próximo e atribuir o mesmo valor., Em problemas simples, este método é improvável de ser usado, como interpolação linear (ver abaixo) é quase tão fácil, mas em interpolação multivariada de dimensão superior, esta pode ser uma escolha favorável para a sua velocidade e simplicidade.,lamento leva dois pontos de dados, digamos (xa,ya) e (xb,yb), e o interpolant é dada por:
y = y + ( y b − y a ) x − x x b − x no ponto ( x , y ) {\displaystyle y=y_{a}+\left(y_{b}-y_{a}\right){\frac {x-x_{a}}{x_{b}-x_{a}}}{\text{ no ponto }}\left(x,y\right)}
y − y a y b − y a = x − x x b − x a {\displaystyle {\frac {y-y_{a}}{y_{b}-y_{a}}}={\frac {x-x_{a}}{x_{b}-x_{a}}}}
y − y x − x = y b − y a x b − x a {\displaystyle {\frac {y-y_{a}}{x-x_{a}}}={\frac {y_{b}-y_{a}}{x_{b}-x_{a}}}}
a interpolação Linear é rápido e fácil, mas ele não é muito preciso., Outra desvantagem é que o interpolante não é diferenciável no ponto xk.
a seguinte estimativa de erro mostra que a interpolação linear não é muito precisa. Denote a função que queremos interpolar por g, e suponha que x está entre xa e xb e que g é duas vezes continuamente diferenciável. Em seguida, o erro de interpolação linear é
/ f (x) − g ( x) | ≤ C ( x b-x a) 2, em que C = 1 8 max R ∈ | g ” ( r)|. {\displaystyle |f (x)-g(x)|\leq C(x_{B} – x_{a})^{2}\quad {\text{where}}\quad c={\frac {1}{8}}}\max _{r\in} |g”(r)|., em palavras, o erro é proporcional ao quadrado da distância entre os pontos de dados. O erro em alguns outros métodos, incluindo interpolação polinomial e interpolação de curva (descrito abaixo), é proporcional a potências superiores da distância entre os pontos de dados. Estes métodos também produzem interpolantes mais suaves.,
o Polinômio interpolationEdit
Plot dos dados com o polinômio de interpolação aplicada
o Polinômio de interpolação é uma generalização de interpolação linear. Note que o interpolante linear é uma função linear. Agora substituímos este interpolante por um polinômio de grau superior.
considere novamente o problema dado acima. O seguinte polinômio de sexto grau passa por todos os sete pontos:
f (x) = – 0.,0001521 x 6-0, 003130 x 5 + 0, 07321 x 4 − 0, 3577 x 3 + 0, 225 x 2 + 0, 9038 x . {\displaystyle f(x)=-0.0001521 x^{6}-0.003130 x^{5}+0.07321 x^{4}-0.3577 x^{3}+0.2255 x^{2}+0.9038 x.}
Substituindo x = 2.5, vemos que f(2.5) = ~0.59678.
geralmente, se temos N pontos de dados, há exatamente um polinômio de grau no máximo n−1 passando por todos os pontos de dados. O erro de interpolação é proporcional à distância entre os pontos de dados para a potência N. Além disso, o interpolante é um polinômio e, portanto, infinitamente diferenciável. , Assim, vemos que a interpolação polinomial supera a maioria dos problemas da interpolação linear.
no entanto, interpolação polinomial também tem algumas desvantagens. Calculando o polinômio interpolar é computacionalmente caro (ver complexidade computacional) em comparação com a interpolação linear. Além disso, a interpolação polinomial pode exibir artefatos oscilatórios, especialmente nos pontos finais (ver fenômeno de Runge).
interpolação polinomial pode estimar os máximos e mínimos locais que estão fora da Gama das amostras, ao contrário da interpolação linear., Por exemplo, o interpolante acima tem um máximo local em x ≈ 1.566, f(x) ≈ 1.003 e um mínimo local em x ≈ 4.708, f (x) ≈ -1.003. No entanto, estes máximos e mínimos podem exceder a gama teórica da função—por exemplo, uma função que é sempre positiva pode ter um interpolante com valores negativos, e cujo inverso portanto contém falsas assintotas verticais.mais geralmente, a forma da curva resultante, especialmente para valores muito altos ou baixos da variável independente, pode ser contrária ao senso comum, i.e., ao que se sabe sobre o sistema experimental que gerou os pontos de dados. Estas desvantagens podem ser reduzidas usando interpolação de linha ou restringindo a atenção aos polinômios de Chebyshev.
Spline interpolationEdit
Plot dos dados com interpolação aplicada
Lembre-se de que a interpolação linear utiliza uma função linear para cada um dos intervalos ., Interpolação Spline usa polinômios de baixo grau em cada um dos intervalos, e escolhe as peças polinomiais de tal forma que eles se encaixam suavemente juntos. A função resultante é chamada de spline.
Por exemplo, a linha cúbica natural é em trechos cúbicos e duas vezes continuamente diferenciável. Além disso, o seu segundo derivado é zero nos pontos finais. A spline cúbica natural interpolando os pontos da tabela acima é dado por
f ( x ) = { − 0.1522 x 3 + 0.9937 x , se x ∈ , − 0.01258 x 3 − 0.4189 x 2 + 1.4126 x − 0.1396 , se x ∈ , 0.1403 x 3 − 1.3359 x 2 + 3.2467 x − 1.,3623 , if x ∈ , 0.1579 x 3 − 1.4945 x 2 + 3.7225 x − 1.8381 , if x ∈ , 0.05375 x 3 − 0.2450 x 2 − 1.2756 x + 4.8259 , if x ∈ , − 0.1871 x 3 + 3.3673 x 2 − 19.3370 x + 34.9282 , if x ∈ . {\displaystyle f(x)={\begin{cases}-0.1522x^{3}+0.9937x,&{\text{if }}x\in ,\\-0.01258x^{3}-0.4189x^{2}+1.4126x-0.1396,&{\text{if }}x\in ,\\0.1403x^{3}-1.3359x^{2}+3.2467x-1.3623,&{\text{if }}x\in ,\\0.1579x^{3}-1.4945x^{2}+3.7225x-1.8381,&{\text{if }}x\in ,\\0.05375x^{3}-0.2450x^{2}-1.2756x+4.,8259,&{\text{se }}x\in\\-0.1871 x^{3}+3.3673 x^{2}-19.3370 x+34.9282,&{\text{se }}x\in .\end{cases}}
neste caso temos f (2.5) = 0.5972.
tal como a interpolação polinomial, a interpolação de curvas incorre num erro menor do que a interpolação linear, enquanto o interpolante é mais suave e mais fácil de avaliar do que os polinômios de alto grau usados na interpolação polinomial. No entanto, a natureza global das funções de base leva a um mau condicionamento., Isto é completamente mitigado pelo uso de splines de suporte compacto, tais como são implementados em impulso.Math and discussed in Kress.