Ajude a manter o site livre, gratuito e sem propagandas. Colabore!
Seja dado um intervalo , . O espaço vetorial das funções afins em é definido por
| (1.1) |
Observamos que dado , temos que é unicamente determinada pelos valores
| (1.2) | ||||
Como consequência, existe exatamente uma única função para quaisquer dados valores e . Desta observação, introduzimos a chamada base nodal (base lagrangiana111Joseph-Louis Lagrange, 1736 - 1813, matemático italiano. Fonte: Wikipédia: Joseph-Louis Lagrange.) para , definida por
| (1.3) |
com . Consulte a Figura 1.1.
Com esta base, toda função pode ser escrita como uma combinação linear das funções e com coeficientes e (graus de liberdade), i.e.
| (1.4) |
Além disso, observamos que
| (1.5) | |||
| (1.6) |
Uma extensão do espaço é o espaço das funções afins por partes. Dado , , consideramos uma partição (malha) de com pontos
| (1.7) |
e, portanto, com células de comprimento (tamanho da malha) , . Na malha definimos o seguinte espaço das funções afins por partes
| (1.8) |
Observamos que toda função é unicamente determinada por seus valores nodais . Reciprocamente, todo conjunto de valores nodais determina unicamente uma função . Desta observação, temos que os valores nodais determinam os graus de liberdade com a base nodal para definida pelas funções afins por partes tais que
| (1.9) |
com . Ou seja, temos que
| (1.10) |
Podemos verificar que
| (1.11) |
consulte, Figura 1.2. É notável que tem suporte compacto .
Interpolação é uma técnica de aproximação de funções. Dada uma função contínua em , definimos o operador de interpolação por
| (1.12) |
Observamos que é igual a nos nodos , .
O Código 1 implementa a interpolação da função no espaço de elementos finitos das funções afins por partes com células sobre o intervalo .
A visualização da função pode ser feita usando o Paraview. Alternativamente, podemos usar o Matplotlib para esboçar os gráficos de e em Python. O código para isso é mostrado a seguir e produz o gráfico da Figura 1.3.
Agora, vamos buscar medir o erro de interpolação, i.e. . Para tanto, podemos usar a norma definida por
| (1.13) |
Lembramos que valem a desigualdade triangular
| (1.14) |
e a desigualdade de Cauchy-Schwarz222Também conhecida como desigualdade de Cauchy–Bunyakovsky–Schwarz. Augustin-Louis Cauchy, 1789 - 1857, matemático francês. Viktor Yakovlevich Bunyakovsky, 1804 - 1889, matemático Russo. Karl Hermann Amandus Schwarz, 1843 - 1921, matemático alemão.
| (1.15) |
para qualquer funções .
O interpolador satisfaz as estimativas
| (1.16) | ||||
| (1.17) |
onde é uma constante e .
Denotemos o erro de interpolação por . Do teorema fundamental do cálculo, temos
| (1.18) |
onde . Daí, usando a desigualdade de Cauchy-Schwarz (1.15), temos
| (1.19) | ||||
| (1.20) | ||||
| (1.21) | ||||
| (1.22) | ||||
| (1.23) |
donde
| (1.24) |
Então, integrando em obtemos
ou seja, temos a seguinte desigualdade
| (1.25) |
com .
Agora, observando que , o teorema de Rolle333Michel Rolle, 1652 - 1719, matemático francês. Fonte: Wikipédia: Michel Rolle. garante a existência de um ponto tal que , donde do teorema fundamental do cálculo e da desigualdade de Cauchy-Schwarz, segue que
| (1.26) | ||||
| (1.27) | ||||
| (1.28) | ||||
| (1.29) |
Então, elevando ao quadrado e integrando em , obtemos
| (1.30) |
a qual, observando que , equivale a segunda estimativa procurada, i.e.
| (1.31) |
Por fim, de (1.30) e de (1.25), obtemos a primeira estimativa desejada
| (1.32) |
∎
Vamos, agora, generalizar o resultado da Proposição 1.1.1 para a interpolação no espaço das funções lineares por parte.
O seguinte resultado fornece uma estimativa do erro de interpolação em relação ao tamanho de cada elemento da malha.
O interpolador satisfaz as estimativas
| (1.33) | ||||
| (1.34) |
Ambas desigualdades seguem da desigualdade triangular e da Proposição 1.1.1. Por exemplo, para a primeira desigualdade, temos
| (1.36) | ||||
| (1.37) |
∎
A Tabela 1.1 apresenta uma análise numérica da convergência de malha na interpolação da função no espaço das funções afins por partes. A estimativa da taxa de convergência é dada assumindo que
| (1.38) |
onde é o operador de interpolação e é o tamanho da malha. Assim, a taxa pode ser estimada por
| (1.39) |
com e sendo dois tamanhos de malha distintos. Da Proposição 1.1.2, esperamos que .
| — | |||
O cálculo aproximado do erro pode ser feito pelo seguinte código.
Dada uma função , definimos o operador de projeção por
| (1.40) |
Como é um espaço de dimensão finita (), a condição (1.40) é equivalente a
| (1.41) |
para todo . Além disso, como , temos
| (1.42) |
onde , , são incógnitas a determinar. Logo,
| (1.43) | |||
| (1.44) | |||
| (1.45) | |||
| (1.46) |
para .
Observamos que (1.46) consiste em um sistema de equações lineares para as incógnitas , . Este, por sua vez, pode ser escrito na seguinte forma matricial
| (1.47) |
onde é chamada de matriz de massa
| (1.48) |
o vetor das incógnitas é e é chamado de vetor de carga
| (1.49) |
A Figura 1.4 ilustra a projeção da função no espaço das funções lineares por partes em uma malha uniforme do intervalo com células. A projeção é obtida pela solução do sistema linear (1.47) usando o Código 3.
O próximo teorema mostra que é a função que melhor aproxima dentre todas as funções do espaço .
A projeção satisfaz
| (1.51) |
Dado , temos
| (1.52) | |||
| (1.53) | |||
| (1.54) | |||
| (1.55) | |||
| (1.56) |
donde segue o resultado. ∎
O próximo teorema fornece uma estimativa a-priori do erro em relação ao tamanho da malha.
A projeção satisfaz
| (1.57) |
A Tabela 1.2 apresenta uma análise numérica da convergência de malha na projeção da função no espaço das funções afins por partes. A estimativa da taxa de convergência é dada assumindo que
| (1.60) |
Verifique!
| — | |||
Faça um código para verificar as estimativas da Proposição 1.1.1 para o caso da interpolação da função no espaço das funções lineares.
Faça um código para verificar as estimativas da Proposição 1.1.2 no caso da interpolação da função no espaço das funções lineares por partes.
Faça um código para interpolar a função no espaço das funções quadráticas
| (1.61) |
Então, verifique as estimativas de erro de interpolação para este caso.
Faça um código para interpolar a função no espaço das funções quadráticas por partes
| (1.62) |
Então, verifique as estimativas de erro de interpolação para este caso.
Faça um código para computar a projeção da função no espaço das funções lineares por partes em uma malha com células no intervalo . Para , faça o esboço dos gráficos de e e compute o erro . Estime a taxa de convergência do erro.
Faça um código para computar a projeção da função no espaço das funções quadráticas por partes em uma malha com células no intervalo . Para , faça o esboço dos gráficos de e e compute o erro . Estime a taxa de convergência do erro.
Aproveito para agradecer a todas/os que de forma assídua ou esporádica contribuem enviando correções, sugestões e críticas!

Este texto é disponibilizado nos termos da Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional. Ícones e elementos gráficos podem estar sujeitos a condições adicionais.