Interpolação
No campo matemático da análise numérica, interpolação é um tipo de estimativa, um método de construir (encontrar) novos pontos de dados com base no intervalo de um conjunto discreto de pontos de dados conhecidos.
Na engenharia e na ciência, muitas vezes temos um número de pontos de dados, obtidos por amostragem ou experimentação, que representam os valores de uma função para um número limitado de valores da variável independente. Muitas vezes é necessário interpolar; ou seja, estimar o valor dessa função para um valor intermediário da variável independente.
Um problema intimamente relacionado é a aproximação de uma função complicada por uma função simples. Suponha que a fórmula para uma determinada função seja conhecida, mas muito complicada para avaliar com eficiência. Alguns pontos de dados da função original podem ser interpolados para produzir uma função mais simples que ainda seja bastante próxima da original. O ganho resultante em simplicidade pode superar a perda de erro de interpolação e proporcionar melhor desempenho no processo de cálculo.
Exemplo
Esta tabela dá alguns valores de uma função desconhecida f(x)(x)}.
xNão. | f(x)(x)} | ||||
---|---|---|---|---|---|
0 | 0 | ||||
1 | 0 | . | 8415 | ||
2 | 0 | . | 9093 | ||
3 | 0 | . | 1411 | ||
4 | - 0 | . | 7568 | ||
5 | - 0 | . | 9589 | ||
6 | - 0 | . | 2794 |
A interpolação fornece um meio de estimar a função em pontos intermediários, como x= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =2.5.- Sim.
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.
Interpolação constante por partes
O método de interpolação mais simples é localizar o valor de dados mais próximo e atribuir o mesmo valor. Em problemas simples, é improvável que esse método seja usado, pois a interpolação linear (veja abaixo) é quase tão fácil, mas na interpolação multivariada de dimensão superior, essa pode ser uma escolha favorável por sua velocidade e simplicidade.
Interpolação linear
Um dos métodos mais simples é a interpolação linear (às vezes conhecida como lerp). Considere o exemplo acima de estimativa de f(2.5). Como 2,5 está no meio do caminho entre 2 e 3, é razoável tomar f(2,5) no meio do caminho entre f(2) = 0,9093 e f(3) = 0,1411, que resulta em 0,5252.
Geralmente, a interpolação linear usa dois pontos de dados, digamos (xa,ya) e (xb,yb), e o interpolante é dado por:
- Sim.= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =Sim.um+(Sim.b)- Sim. - Sim. Sim.um)x- Sim. - Sim. xumxb)- Sim. - Sim. xumno ponto(x,Sim.)Não. y=y_{a}+left(y_{b}-y_{a}right){frac {x-x_{a}}{x_{b}-x_{a}}}{text{ no ponto }}left(x,yright)}
- Sim.- Sim. - Sim. Sim.umSim.b)- Sim. - Sim. Sim.um= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =x- Sim. - Sim. xumxb)- Sim. - Sim. xumNão. {y-y_{a}}{y_{b}-y_{a}}}={frac {x-x_{a}}{x_{b}-x_{a}}}}
- Sim.- Sim. - Sim. Sim.umx- Sim. - Sim. xum= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =Sim.b)- Sim. - Sim. Sim.umxb)- Sim. - Sim. xumNão. {y-y_{a}}{x-x_{a}}}={frac {y_{b}-y_{a}}{x_{b}-x_{a}}}}
Esta equação anterior afirma que a inclinação da nova linha entre (xum,Sim.um)(x_{a},y_{a})} e (x,Sim.)(x,y)} é o mesmo que a inclinação da linha entre (xum,Sim.um)(x_{a},y_{a})} e (xb),Sim.b))(x_{b},y_{b})}
A interpolação linear é rápida e fácil, mas não é muito precisa. 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 esteja entre xa e xb e que g é duas vezes continuamente diferenciável. Então o erro de interpolação linear é
- |f(x)- Sim. - Sim. g(x)|≤ ≤ C(xb)- Sim. - Sim. xum)2Onde?C= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =18máx.R∈ ∈ Não.xum,xb)]|g"(R)|.{displaystyle |f(x)-g(x)|leq C(x_{b}-x_{a})^{2}quad {text{where}}quad C={frac {1}{8}}max _{rin [x_{a},x_{b}]}|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 spline (descrito abaixo), é proporcional a potências mais altas da distância entre os pontos de dados. Esses métodos também produzem interpolantes mais suaves.
Interpolação polinomial
A interpolação polinomial é uma generalização da interpolação linear. Observe que o interpolante linear é uma função linear. Agora, substituímos esse interpolante por um polinômio de grau mais alto.
Considere novamente o problema dado acima. O seguinte polinômio de sexto grau passa por todos os sete pontos:
- f(x)= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =- Sim. - Sim. 0,0001521x6- Sim. - Sim. 0.003130x5+0,07321x4- Sim. - Sim. 0,3577x3+0,2255x2+0,9038x.{displaystyle f(x)=-0,0001521x^{6}-0.003130x^{5}+0.07321x^{4}-0.3577x^{3}+0.2255x^{2}+0.9038x}
Substituindo x = 2,5, descobrimos que f(2,5) = ~0,59678.
Geralmente, se tivermos n pontos de dados, existe 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 à 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, a interpolação polinomial também tem algumas desvantagens. Calcular o polinômio de interpolação é computacionalmente caro (consulte 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).
A interpolação polinomial pode estimar máximos e mínimos locais que estão fora do intervalo 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, esses máximos e mínimos podem exceder o alcance teórico 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 assíntotas verticais.
De forma mais geral, a forma da curva resultante, especialmente para valores muito altos ou baixos da variável independente, pode ser contrária ao senso comum; isto é, ao que se sabe sobre o sistema experimental que gerou os pontos de dados. Essas desvantagens podem ser reduzidas usando interpolação spline ou restringindo a atenção aos polinômios de Chebyshev.
Interpolação spline
Lembre-se que a interpolação linear usa uma função linear para cada um dos intervalos [xk,xk+1]. A interpolação spline usa polinômios de baixo grau em cada um dos intervalos e escolhe as peças polinomiais de forma que elas se encaixem perfeitamente. A função resultante é chamada de spline.
Por exemplo, o spline cúbico natural é cúbico por partes e duas vezes continuamente diferenciável. Além disso, sua segunda derivada é zero nos pontos finais. A spline cúbica natural interpolando os pontos na tabela acima é dada por
- f(x)= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =(- Sim. - Sim. 0,1522x3+0,9937x,sex∈ ∈ Não.0,1],- Sim. - Sim. 0,01258x3- Sim. - Sim. 0x2+1.426x- Sim. - Sim. 0,1396,sex∈ ∈ Não.1,2],0,1403x3- Sim. - Sim. 1.3.59x2+3.2467x- Sim. - Sim. 1.3.23,sex∈ ∈ Não.2,3],0,1579x3- Sim. - Sim. 1.445x2+3.7225x- Sim. - Sim. 1,83,sex∈ ∈ Não.3,4],0.05375x3- Sim. - Sim. 0,250x2- Sim. - Sim. 1.275.x+4.8259,sex∈ ∈ Não.4,5],- Sim. - Sim. 0,1871x3+3.3673x2- Sim. - Sim. 19.3370x+34.9282,sex∈ ∈ Não.5,6].{displaystyle f(x)={begin{cases}-0.1522x^{3}+0.9937x,&{text{if }}xin [0,1],\-0.01258x^{3}-0.4189x^{2}+1.4126x-0.1396,&{text{if }}xin [1,2],.1403x^{3}-1.3359x^{2}+3.2467x-1.3623,&{text{if }}x83xin [2,3],.151x [3,4],\0.05375x^{3}-0.2450x^{2}-1.2756x+4.8259,&{text{if }}xin [4,5],-0.1871x^{3}+3.3673x^{2}-19.3370x+34.9282,&{text{if }}xin [5,6].
Nesse caso, obtemos f(2,5) = 0,5972.
Como a interpolação polinomial, a interpolação spline incorre em um erro menor do que a interpolação linear, enquanto o interpolante é mais suave e 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 básicas leva ao mau condicionamento. Isso é completamente mitigado pelo uso de splines de suporte compacto, como os implementados no Boost.Math e discutidos no Kress.
Interpolação mimética
Dependendo da discretização subjacente dos campos, diferentes interpolantes podem ser necessários. Ao contrário de outros métodos de interpolação, que estimam funções em pontos alvo, a interpolação mimética avalia a integral de campos em linhas alvo, áreas ou volumes, dependendo do tipo de campo (escalar, vetorial, pseudovetor ou pseudoescalar).
Uma característica-chave da interpolação mimética é que as identidades de cálculo vetorial são satisfeitas, incluindo Stokes' teorema e o teorema da divergência. Como resultado, a interpolação mimética conserva integrais de linha, área e volume. A conservação das integrais de linha pode ser desejável ao interpolar o campo elétrico, por exemplo, uma vez que a integral de linha fornece a diferença de potencial elétrico nas extremidades do caminho de integração. A interpolação mimética garante que o erro de estimativa da integral de linha de um campo elétrico seja o mesmo que o erro obtido pela interpolação do potencial nos pontos finais do caminho de integração, independentemente do comprimento do caminho de integração.
Interpolação linear, bilinear e trilinear também são consideradas miméticas, mesmo que sejam os valores do campo que são conservados (não a integral do campo). Além da interpolação linear, a interpolação de área ponderada pode ser considerada um dos primeiros métodos de interpolação mimética desenvolvidos.
Aproximação de função
A interpolação é uma maneira comum de aproximar funções. Dada uma função f:Não.um,b)]→ → R{displaystyle f:[a,b]to mathbb Não. com um conjunto de pontos x1,x2,...... ,xn∈ ∈ Não.um,b)]{displaystyle x_{1},x_{2},dotsx_{n}in [a,b]} um pode formar uma função S:Não.um,b)]→ → R{displaystyle s:[a,b]to mathbb Não. tal que f(xEu...)= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =S(xEu...)(x_{i})=s(x_{i})} para Eu...= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =1,2,...... ,n- Sim. (isto é, que SNão. interpolar fNão. nesses pontos). Em geral, um interpolante não precisa ser uma boa aproximação, mas há condições bem conhecidas e muitas vezes razoáveis onde vai. Por exemplo, se f∈ ∈ C4(Não.um,b)])([a,b])} (quatro vezes continuamente diferenciável) então interpolação de linha cúbica tem um erro limitado ‖ ‖ f- Sim. - Sim. S‖ ‖ ∞ ∞ ≤ ≤ C‖ ‖ f(4)‖ ‖ ∞ ∞ h4Não. |f-s|_{infty }leq C|f^{(4)}|_{infty }h^{4}} Onde? hmáx.Eu...= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =1,2,...... ,n- Sim. - Sim. 1|xEu...+1- Sim. - Sim. xEu...|{displaystyle hmax _{i=1,2,dotsn-1}|x_{i+1}-x_{i}|}}}} e CNão. C. é uma constante.
Através de processos Gaussianos
O processo gaussiano é uma poderosa ferramenta de interpolação não linear. Muitas ferramentas de interpolação populares são realmente equivalentes a determinados processos Gaussianos. Os processos gaussianos podem ser usados não apenas para ajustar um interpolante que passe exatamente pelos pontos de dados fornecidos, mas também para regressão; isto é, para ajustar uma curva por meio de dados ruidosos. Na comunidade geoestatística, a regressão do processo Gaussiano também é conhecida como Kriging.
Outras formas
Outras formas de interpolação podem ser construídas escolhendo uma classe diferente de interpolantes. Por exemplo, a interpolação racional é a interpolação por funções racionais usando a aproximação de Padé, e a interpolação trigonométrica é a interpolação por polinômios trigonométricos usando a série de Fourier. Outra possibilidade é usar wavelets.
A fórmula de interpolação de Whittaker–Shannon pode ser usada se o número de pontos de dados for infinito ou se a função a ser interpolada tiver suporte compacto.
Às vezes, sabemos não apenas o valor da função que queremos interpolar, em alguns pontos, mas também sua derivada. Isso leva a problemas de interpolação de Hermite.
Quando cada ponto de dados é uma função, pode ser útil ver o problema de interpolação como um problema de advecção parcial entre cada ponto de dados. Essa ideia leva ao problema de interpolação de deslocamento usado na teoria de transporte.
Em dimensões superiores
A interpolação multivariada é a interpolação de funções de mais de uma variável.
Os métodos incluem interpolação bilinear e interpolação bicubic em duas dimensões, e interpolação trilinear em três dimensões.
Eles podem ser aplicados em dados gradeados ou dispersos. A interpolação mítica generaliza-se para nNão. espaços dimensionais onde 3}" xmlns="http://www.w3.org/1998/Math/MathML">n>3Não.3" aria-hidden="true" class="mwe-math-fallback-image-inline" src="https://wikimedia.org/api/rest_v1/media/math/render/svg/257030caae597fd034c2cbcff2cff9dfc4272d20" style="vertical-align: -0.338ex; width:5.656ex; height:2.176ex;"/>.
No processamento de sinal digital
No domínio do processamento de sinal digital, o termo interpolação refere-se ao processo de conversão de um sinal digital amostrado (como um sinal de áudio amostrado) para uma taxa de amostragem mais alta (Upsampling) usando várias técnicas de filtragem digital (por exemplo, convolução com um sinal de impulso limitado em frequência). Nesta aplicação, há um requisito específico de que o conteúdo harmônico do sinal original seja preservado sem criar conteúdo harmônico com alias do sinal original acima do limite de Nyquist original do sinal (ou seja, acima de fs/2 da taxa de amostragem do sinal original). Uma discussão inicial e bastante elementar sobre esse assunto pode ser encontrada no livro Multirate Digital Signal Processing de Rabiner e Crochiere.
Conceitos relacionados
O termo extrapolação é usado para encontrar pontos de dados fora do intervalo de pontos de dados conhecidos.
Em problemas de ajuste de curva, a restrição que o interpolante tem de passar exatamente pelos pontos de dados é relaxada. Só é necessário aproximar os pontos de dados o mais próximo possível (dentro de algumas outras restrições). Isso requer a parametrização dos potenciais interpoladores e ter alguma forma de medir o erro. No caso mais simples, isso leva à aproximação de mínimos quadrados.
A teoria da aproximação estuda como encontrar a melhor aproximação para uma determinada função por outra função de alguma classe predeterminada e quão boa é essa aproximação. Isso claramente produz um limite de quão bem o interpolante pode aproximar a função desconhecida.
Generalização
Se considerarmos xNão. como variável em um espaço topológico, e a função f(x)(x)} mapear para um espaço Banach, então o problema é tratado como "interpolação de operadores". Os resultados clássicos sobre a interpolação dos operadores são o teorema de Riesz-Thorin e o teorema de Marcinkiewicz. Há também muitos outros resultados subsequentes.
Contenido relacionado
Análise funcional
Telecomunicações no Chade
Equilíbrio