Método das diferenças finitas

Fonte: testwiki
Saltar para a navegação Saltar para a pesquisa

Predefinição:Mais fontes O método das diferenças finitas (MDF) é um método de resolução de equações diferenciais que se baseia na aproximação de derivadas por diferenças finitas. A fórmula de aproximação obtém-se da série de Taylor da função derivada.[1] Hoje, os MDFs são a abordagem dominante das soluções numéricas de equações diferenciais parciais.[2]

O operador de diferenças finitas para derivada pode ser obtido a partir da série de Taylor para as seguintes funções:

f(x+h)=f(x)+f(x)h+f(x)h22+f(x)h36+o(h4)
f(xh)=f(x)f(x)h+f(x)h22f(x)h36+o(h4)

Portanto, a derivada primeira pode ser escrita de três formas distintas como uma diferença-quociente mais um termo de erro, obtido ao desprezar-se termos de ordem superior :

f(x)=f(x+h)f(x)h+o(h) , que é conhecida como fórmula das diferenças progressivas, ou
f(x)=f(x)f(xh)h+o(h) , que é conhecida como fórmula das diferenças regressivas, ou ainda
f(x)=f(x+h)f(xh)2h+o(h2) , que é conhecida como fórmula das diferenças centradas.
Além disso, é possível obter derivadas de ordem superior. A derivada de segunda ordem é obtida a partir de
f(x+h)+f(xh)=2f(x)+f(x)h2+o(h4)

e é dada por f(x)=f(x+h)2f(x)+f(xh)h2+o(h2)

Método das diferenças finitas para problemas lineares

A partir das aproximações por diferença-quociente para derivadas de qualquer ordem, é possível transformar equações diferenciais em problemas lineares. Para isso, é necessário ignorar o termo de erro e tornar h um número muito pequeno, mas grande o suficiente para que não cause instabilidades nas aproximações das derivadas.

Resolução de problemas de contorno

Para uma equação diferencial do tipo y(x)=f(x)y(x)+g(x)y(x)+z(x), onde x varia de a até b, y(a)=α e y(b)=β.

A equação é aproximada pelo método das diferenças finitas, com um erro de truncamento igual a o(h2), substituindo-se as derivadas pelas suas representações numéricas, que são dadas por:

y(x)=y(x+h)y(xh)2h

y(x)=y(x+h)2y(x)+y(xh)h2

Como é possível perceber, necessita-se definir um valor para h. Este valor pode ser definido pela divisão do intervalo em que se está interessado para a resolução do problema em N intervalos menores. Assim, o valor de h é dado por: h=baN.

As extremidades destes subintervalos são dadas por x(i)=a+(i1)h, para i=1,2,...,N.

Para a resolução do problema, a equação é escrita na forma y(x)f(x)y(x)g(x)y(x)=z(x), que após a substituição das derivadas, torna-se:

y(x(i)+h)2y(x(i))+y(x(i)h)h2f(x(i))[y(x(i)+h)y(x(i)h)2h]g(x(i))y(x(i))=z(x(i)) , para i=2,3,...,N.

Como x(i+1)=x(i)+h e x(i1)=x(i)h, aquela equação pode ser reescrita como

y(x(i+1))2y(x(i))+y(x(i1))h2f(x(i))[y(x(i+1))y(x(i1))2h]g(x(i))y(x(i))=z(x(i)).

Isolando os termos y(x(i+1)), y(x(i)) e y(x(i1)) na fórmula acima, obtêm-se

y(x(i1))[1h2+f(x(i))2h]+y(x(i))[2h2g(x(i))]+y(x(i+1))[1h2f(x(i))2h]=z(x(i))

A partir desta equação é possível resolver o sistema linear a partir de uma matriz A de coeficientes que multiplica os valores de y, sendo que a solução deste sistema é dada por B. Esse sistema linear é representado a seguir.

A=[10001h2+f(x(2))2h2hg(x(2))1h2f(x(2))2h000001h2+f(x(N1))2h2hg(x(N))1h2f(x(N+1))2h00001]

B=[αz(x(2))z(x(3))β]

Onde a aproximação para y é dada pelos pontos que são solução do sistema Ay=B.

Resolução de problemas de valor inicial e o método de Euler

A partir do método das diferenças finitas também é possível obter o método de Euler, que é usado para obter soluções de problemas de valor inicial bem-posto. Leonhard Euler (1707 - 1783) foi o primeiro matemático de sua época a apresentar o uso do método de diferenças finitas para encontrar aproximações de soluções de equações diferenciais. Entretanto, o método de Euler não é usado na prática, pois possui pouca precisão. Alternativamente a este, são utilizados com maior frequência o método de Euler modificado ou o método de Runge-Kutta para solução de problemas de valor inicial.

Para um dado problema de valor inicial bem posto

y(t)=f(t,y), atb , y(a)=α .

Divide-se o intervalo [a,b] em N subintervalos e define-se que t(i)=a+(i1)h, para i=1,2,...,N. Onde h é o espaçamento da malha.

A partir disto, temos que h=(ba)N=t(i+1)t(i), para i=1,2,...,N.

Aproximando a equação diferencial pelo método das diferenças finitas, desprezando-se o termo de erro, temos

y(t(i+1))y(t(i))h=f(t(i),y(i))

y(t(i+1))=y(t(i))+hf(t(i),y(i)), que é usada para i=1,2,3,...,N.

A equação acima é conhecida como equação de diferença associada ao método de Euler.

O sistema linear é inicializado com y(1)=α e é de fácil solução.

Método das diferenças finitas para problemas não lineares

O método das diferenças finitas é análogo ao utilizado para problemas lineares. Entretanto, é utilizado um processo iterativo para a obtenção da solução do problema, que não é linear.

Resolução de problemas de contorno não-lineares

Para um problema de contorno não-linear geral, dado por y=f(x,y,y) com x variando de a até b, e sendo as condições de contorno y(a)=α e y(b)=β,

há garantia de solução única se as seguintes condições forem satisfeitas.

  • f e suas derivadas parciais em relação a y e y são contínuas em D= { (x,y,y)|a xb, - < y < , - < y < };
  • f(x,y,y) > δ, para um certo δ > 0 ;
  • Existem constantes P e Q tais que: P é o valor máximo que o módulo da derivada parcial de f em relação a y atinge em D e Q é o valor máximo que o módulo da derivada parcial de f em relação a y atinge em D.

Como no caso anterior, a aproximação para a equação é obtida quando os termos de erro são desprezados.

Assim, y=f(x,y,y) torna-se y(x+h)2y(x)+y(xh)h2=f(x,y,y(x+h)y(xh)2h), que com a mesma divisão em intervalos anterior, é dada por y(x(i+1))2y(x(i))+y(x(i1))h2=f(x(i),y(i),y(x(i+1))y(x(i1))2h), para i=2,3,...,N.

As condições de contorno são y(1)=α e y(N+1)=β.

A partir da equação y(x(i+1))2y(x(i))+y(x(i1))h2+f(x(i),y(i),y(x(i+1))y(x(i1))2h)=0, para i=2,3,...,N e das condições de contorno, obtemos um sistema não linear que pode ser resolvido via Método de Newton para sistemas não-lineares. Sendo que o sistema terá solução única se h < 2/Q. Se a aproximação inicial utilizada no método de Newton for suficientemente próxima da solução e se a matriz Jacobiana do sistema for não-singular, o sistema converge para a solução exata.

Predefinição:Referências

Ver também

Predefinição:Portal3 Predefinição:Esboço-matemática Predefinição:Controle de autoridade