Está en la página 1de 13

Notas de Aula

Diferencas Finitas
Rodney Josue Biezuner
1
Departamento de Matematica
Instituto de Ciencias Exatas (ICEx)
Universidade Federal de Minas Gerais (UFMG)
Notas de aula para o seminario Equac oes Diferenciais Parciais Numericas: Diferencas Finitas.
24 de agosto de 2010
1
E-mail: rodney@mat.ufmg.br; homepage: http://www.mat.ufmg.br/rodney.
Sumario
0 Introducao: Diferencas Finitas 2
1 Equacao do Calor 4
1.1 Esquemas de Diferencas Finitas Explcitos para a Equacao do Calor . . . . . . . . . . . . . . 5
1.1.1 Esquema FTCS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1.2 Esquema CTCS ou esquema do pulo do sapo (leapfrog) . . . . . . . . . . . . . . . . . 5
1.1.3 Esquema de Du Fort-Frankel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.1.4 Convergencia, Consistencia e Estabilidade . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.1.5 Escolhas Especiais de x e t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2 Esquemas de Diferencas Finitas Implcitos para a Equacao do Calor . . . . . . . . . . . . . . 10
1.2.1 Esquema BTCS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2.2 Esquema de Crank-Nicolson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.3 Dissipacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.4 Condicoes de Fronteira de Neumann e de Robin . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.5 Programas Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1
Captulo 0
Introducao: Diferencas Finitas
Seja x > 0. Considere as seguintes expansoes de Taylor de uma funcao u em torno de um ponto ponto x
0
,
respectivamente `a direita e `a esquerda de x
0
:
u(x
0
+ x) = u(x
0
) +
du
dx
(x
0
)x +
1
2!
d
2
u
dx
2
(x
0
)x
2
+
1
3!
d
3
u
dx
3
(x
0
)x
3
+ . . .
e
u(x
0
x) = u(x
0
)
du
dx
(x
0
)x +
1
2!
d
2
u
dx
2
(x
0
)x
2

1
3!
d
3
u
dx
3
(x
0
)x
3
+ . . .
onde escolhemos denotar x
n
= (x)
n
. Isolando a derivada primeira nestas expressoes, respectivamente,
temos:
du
dx
(x
0
) =
u(x
0
+ x) u(x
0
)
x

1
2!
d
2
u
dx
2
(x
0
)x
1
3!
d
3
u
dx
3
(x
0
)x
2
. . . (1)
e
du
dx
(x
0
) =
u(x
0
) u(x
0
x)
x
+
1
2!
d
2
u
dx
2
(x
0
)x
1
3!
d
3
u
dx
3
(x
0
)x
2
+ . . . (2)
Imediatamente obtemos duas aproximac oes possveis para a primeira derivada de u em x
0
:
du
dx
(x
0
)
u(x
0
+ x) u(x
0
)
x
(3)
e
du
dx
(x
0
)
u(x
0
) u(x
0
x)
x
. (4)
A primeira e chamada diferenca nita progressiva e a segunda e chamada diferenca nita regressiva.
Pela Formula de Taylor com Resto, o erro desta aproximacao e dado por
=
1
2
d
2
u
dx
2
()x = O(x),
onde x
0
x
0
+ x no primeiro caso, e x
0
x x
0
no segundo caso.
Por outro lado, se somarmos (1.15) e (1.17), obtemos
du
dx
(x
0
) =
u(x
0
+ x) u(x
0
x)
2x

1
3!
d
3
u
dx
3
(x
0
)x
2

1
5!
d
5
u
dx
5
(x
0
)x
4
. . .
o que da uma outra aproximacao possvel para a primeira derivada de u em x
0
:
du
dx
(x
0
)
u(x
0
+ x) u(x
0
x)
2x
(5)
2
Rodney Josue Biezuner 3
com erro
=
1
6
d
3
u
dx
3
()x
2
= O(x
2
),
para algum x
0
x x
0
+ x. Esta aproximacao por diferenca nita e chamada diferenca nita
centrada. Ela e uma melhor aproximacao que as aproxima coes laterais (progressiva e regressiva).
Se, ao inves, subtrairmos (1.17) de (1.15), obtemos
d
2
u
dx
2
(x
0
) =
u(x
0
+ x) + u(x
0
x) 2u(x
0
)
x
2

2
4!
d
4
u
dx
4
(x
0
)x
2

2
5!
d
6
u
dx
6
(x
0
)x
4
. . .
o que da uma aproximacao para a derivada segunda de u em x
0
:
d
2
u
dx
2
(x
0
)
u(x
0
+ x) + u(x
0
x) 2u(x
0
)
x
2
(6)
com erro
=
1
12
d
4
u
dx
4
()x
2
= O(x
2
),
onde x
0
x x
0
+x. Esta aproxima cao e tambem chamada uma diferenca nita centrada para
a derivada segunda.
Captulo 1
Equacao do Calor
Considere o problema de Dirichlet para a equacao do calor unidimensional
_
_
_
u
t
= Ku
xx
(x, t) (0, L) (0, T) ,
u(0, t) = T
1
, u(L, t) = T
2
t [0, T],
u(x, 0) = f(x) x [0, L],
(1.1)
onde K e uma constante positiva. Utilizando uma malha uniforme, dividimos o intervalo [0, L] em n
subintervalos de mesmo comprimento x = L/n escolhendo os pontos x
0
= 0, x
1
= x, x
2
= 2x, ...,
x
n1
= (n 1)x, x
n
= L; similarmente, dividimos o intervalo [0, T] em m subintervalos de mesmo com-
primento t = T/m escolhendo os pontos t
0
= 0, t
1
= t, t
2
= 2t, ..., t
m1
= (m 1)t, t
m
= T.
Denotamos a solucao discretizada por
u
j
i
= u(ix, jt) = u(x
i
, t
j
) ,
para i = 1, . . . , n 1, j = 1, . . . , m1; a condicao inicial discretizada por
u
0
i
= f(x
i
) = f
i
, (1.2)
para i = 0, . . . , n; e a condicao de fronteira discretizada por
u
j
0
= u(0, t
j
) = T
1
,
u
j
n
= u(L, t
j
) = T
2
,
(1.3)
para j = 0, . . . , m.
Na verdade, se quisermos, podemos considerar o problema de Dirichlet mais geral:
_
_
_
u
t
= c
2
u
xx
(x, t) [0, L] [0, T],
u(0, t) = g(t), u(L, t) = h(t) t [0, T],
u(x, 0) = f(x) x [0, L],
(1.4)
de modo que a condicao de fronteira e discretizada por
u
j
0
= u(0, t
j
) = g (t
j
) = g
j
,
u
j
n
= u(L, t
j
) = h(t
j
) = h
j
,
(1.5)
para j = 0, . . . , m.
4
Rodney Josue Biezuner 5
1.1 Esquemas de Diferencas Finitas Explcitos para a Equacao do
Calor
1.1.1 Esquema FTCS
No esquema FTCS (forward-time, central-space) aproximamos a derivada parcial de primeira ordem no
tempo u
t
por uma diferenca nita progressiva e a derivada parcial de segunda ordem no espaco u
xx
por uma
diferenca nita centrada:
u
t
(x
i
, t
j
)
u(x
i
, t
j
+ t) u(x
i
, t
j
)
t
=
u
j+1
i
u
j
i
t
,

2
u
x
2
(x
i
, t
j
) =
u(x
i
x, t
j
) 2u(x
i
, t
j
) + u(x
i
+ x, t
j
)
x
2
=
u
j
i1
2u
j
i
+ u
j
i+1
x
2
,
obtendo o esquema de diferencas nitas explcito
u
j+1
i
u
j
i
t
= K
u
j
i1
2u
j
i
+ u
j
i+1
x
2
(1.6)
ou
u
j+1
i
= u
j
i
+ K
t
x
2
_
u
j
i+1
2u
j
i
+ u
j
i1
_
, (1.7)
para i = 1, . . . , n 1, j = 1, . . . , m1. Este e um esquema de primeira ordem em t e de segunda ordem em
x.
Denotando
= K
t
x
2
, (1.8)
ele pode ser escrito na forma mais compacta
u
j+1
i
= (1 2)u
j
i
+
_
u
j
i+1
+ u
j
i1
_
. (1.9)
1.1.2 Esquema CTCS ou esquema do pulo do sapo (leapfrog)
No esquema CTCS (central-time, central-space), tambem popularmente conhecido como esquema do pulo
do sapo (leapfrog scheme), aproximamos ambas as derivadas parciais, de primeira ordem no tempo u
t
e de
segunda ordem no espaco u
xx
por diferencas nitas centradas:
u
t
(x
i
, t
j
)
u(x
i
, t
j
+ t) u(x
i
, t
j
t)
2t
=
u
j+1
i
u
j1
i
2t
,

2
u
x
2
(x
i
, t
j
) =
u(x
i
x, t
j
) 2u(x
i
, t
j
) + u(x
i
+ x, t
j
)
x
2
=
u
j
i1
2u
j
i
+ u
j
i+1
x
2
,
obtendo o esquema de diferencas nitas explcito
u
j+1
i
u
j1
i
2t
= K
u
j
i1
2u
j
i
+ u
j
i+1
x
2
(1.10)
ou
u
j+1
i
= u
j1
i
+ 2K
t
x
2
_
u
j
i+1
2u
j
i
+ u
j
i1
_
, (1.11)
para i = 1, . . . , n 1, j = 1, . . . , m1. Este e um esquema de segunda ordem em ambos t e x.
Denindo como antes, ele pode ser escrito mais compactamente como
u
j+1
i
= u
j1
i
+ 2
_
u
j
i+1
2u
j
i
+ u
j
i1
_
. (1.12)
Observe que o esquema CTCS e um esquema de tres nveis no tempo. Para inicia-lo, pode-se usar no
primeiro passo o esquema FTCS.
Rodney Josue Biezuner 6
1.1.3 Esquema de Du Fort-Frankel
O esquema Du Fort-Frankel pode ser visto com uma modicacao do esquema do pulo do sapo:
u
j+1
i
u
j1
i
2t
= K
u
j
i1

_
u
j+1
i
u
j1
i
_
+ u
j
i+1
x
2
(1.13)
ou
(1 + 2) u
j+1
i
= (1 2) u
j1
i
+ 2
_
u
j
i+1
+ u
j
i1
_
. (1.14)
Ele e da ordem de O
_
t
2
_
+ O
_
x
2
_
+ O
_
t
2
/x
2
_
.
1.1.4 Convergencia, Consistencia e Estabilidade
Denotaremos por v = v (x, t) a solucao exata do problema de Dirichlet para a equacao do calor e por u = u
j
i
a
solucao aproximada dada por um esquema de diferencas nitas. Observe que a solucao exata v esta denida
para todos os pontos do domnio [0, L] [0, T], enquanto que a solucao aproximada so existe em pontos da
malha {x
0
, x
1
, . . . , x
n1
, x
n
}{t
0
, t
1
, . . . , t
m
}. Portanto, so faz sentido comparar a solucao aproximada com
a solucao exata nos pontos da malha. Para efetuar esta comparacao, denotaremos tambem
v
j
i
= v (x
i
, t
j
) .
Dizer que a solucao aproximada e uma boa aproximacao para a solucao exata e equivalente a dizer que
v u

<
onde e uma tolerancia pequena especicada e a norma do sup (ou norma do maximo) e denida por
z

= max
_

z
j
i

: 0 i n e 0 j m
_
.
1.1 Denicao. Dizemos que um esquema de diferencas nitas e (puntualmente) convergente se, para
todos (x, t), u
j
i
converge para v (x, t) quando (ix, jt) (x, t) `a medida que x, t convergem para
0.
1.2 Proposicao. O esquema FTCS e convergente se

1
2
.
Prova: Sejam v a solucao exata do problema de Dirichlet para a equacao do calor e u a solucao aproximada
dada pelo esquema de diferencas nitas FTCS. Da serie de Taylor (veja a Introducao), segue que
v
t
(x
i
, t
j
) =
v
j+1
i
v
j
i
t
+ O(t) ,
v
xx
(x
i
, t
j
) =
v
j
i1
2v
j
i
+ v
j
i+1
x
2
+ O
_
x
2
_
,
de modo que
v
t
(x
i
, t
j
) Kv
xx
(x
i
, t
j
) =
v
j+1
i
v
j
i
t
K
v
j
i1
2v
j
i
+ v
j
i+1
x
2
+ O(t) + O
_
x
2
_
.
Mas v e solucao da equacao do calor, logo v
t
(x
i
, t
j
) Kv
xx
(x
i
, t
j
) = 0.Multiplicando a equacao resultante
por t temos
0 = v
j+1
i
v
j
i
K
t
x
2
_
v
j
i1
2v
j
i
+ v
j
i+1
_
+ O
_
t
2
_
+ O
_
tx
2
_
,
Rodney Josue Biezuner 7
donde
v
j+1
i
= (1 2)v
j
i
+
_
v
j
i+1
+ v
j
i1
_
+ O
_
t
2
_
+ O
_
tx
2
_
. (1.15)
Denote
z
j
i
= v
j
i
u
j
i
. (1.16)
Como
u
j+1
i
= (1 2)u
j
i
+
_
u
j
i+1
+ u
j
i1
_
, (1.17)
subtraindo (1.17) de (1.15) obtemos
z
j+1
i
= (1 2)z
j
i
+
_
z
j
i+1
+ z
j
i1
_
+ O
_
t
2
_
+ O
_
tx
2
_
.
Se
1
2
, entao 1 2 0 e podemos escrever

z
j+1
i

(1 2)

z
j
i

+
_

z
j
i+1

z
j
i1

_
+ C
_
t
2
+ tx
2
_
(1 2) z

+ (z

+z

) + C
_
t
2
+ tx
2
_
=
_
_
z
j
_
_

+ C
_
t
2
+ tx
2
_
,
onde C e uma constante positiva. Mas i e arbitrario, logo conclumos que
_
_
z
j+1
_
_


_
_
z
j
_
_

+ C
_
t
2
+ tx
2
_
. (1.18)
Aplicando esta desigualdade iterativamente, obtemos
_
_
z
j+1
_
_


_
_
z
j
_
_

+ C
_
t
2
+ tx
2
_

_
_
z
j1
_
_

+ 2C
_
t
2
+ tx
2
_

_
_
z
j2
_
_

+ 3C
_
t
2
+ tx
2
_
.
.
.

_
_
z
0
_
_

+ C (j + 1)
_
t
2
+ tx
2
_
.
Como z
0
= 0 (v e u satisfazem a mesma condicao inicial nos pontos da malha), temos
_
_
z
j+1
_
_

C (j + 1) t
_
t + x
2
_
Mas
(j + 1) t t
quando t 0, portanto conclumos que
_
_
z
j+1
_
_

0
quando t, x 0.
1.3 Denicao. Dizemos que um esquema de diferencas nitas e consistente se a solucao exata da EDP
satisfaz o esquema no limite quando x, t convergem para 0.
1.4 Proposicao. O esquema FTCS e consistente.
Prova: Ja vimos na demonstracao da proposicao anterior que se v e a solucao exata, entao
v
j+1
i
= (1 2)v
j
i
+
_
v
j
i+1
+ v
j
i1
_
+ O
_
t
2
_
+ O
_
tx
2
_
.
Tomando o limite quando x, t 0 segue que (xado )
v
j+1
i
= (1 2)v
j
i
+
_
v
j
i+1
+ v
j
i1
_
.

Rodney Josue Biezuner 8


1.5 Denicao. Dizemos que um esquema de diferencas nitas e estavel se pequenas mudancas na condicao
inicial implicam em pequenas mudan cas na solucao.
1.6 Teorema. (Teorema da Equivalencia de Lax) Um esquema de diferencas nitas e convergente se e
somente se ele e consistente e estavel.
1.7 Proposicao. O esquema FTCS e condicionalmente estavel. Mais precisamente, o esquema FTCS e
estavel se e somente se

1
2
. (1.19)
Prova: (Analise de Estabilidade de Von Neumann) Usando series de Fourier, podemos escrever
u
j
i
=

k=1
b
j
k
sen
k
L
ix. (1.20)
Note que
u
0
i
= f
i
=

k=1
b
0
k
sen
k
L
ix. (1.21)
Escrevendo o esquema FTCS na forma
u
j+1
i
= u
j
i
+
_
u
j
i+1
2u
j
i
+ u
j
i1
_
(1.22)
e usando series de Fourier, segue que

k=1
b
j+1
k
sen
k
L
ix
=

k=1
b
j
k
sen
k
L
ix +
_

k=1
b
j
k
sen
k
L
(i 1) x 2

k=1
b
j
k
sen
k
L
ix +

k=1
b
j
k
sen
k
L
(i + 1) x
_
,
donde, para cada k,
b
j+1
k
sen
k
L
ix
= b
j
k
_
sen
k
L
ix +
_
sen
k
L
(i 1) x 2 sen
k
L
ix + sen
k
L
(i + 1) x
__
e da
b
j+1
k
= b
j
k
_

_1 +
_
_
_
sen
k
L
(i 1) x 2 sen
k
L
ix + sen
k
L
(i + 1) x
sen
k
L
ix
_
_
_
_

_.
Mas
sen
k
L
(i 1) x 2 sen
k
L
ix + sen
k
L
(i + 1) x
= sen
k
L
ixcos
k
L
x sen
k
L
xcos
k
L
ix
2 sen
k
L
ix
+ c cos
k
L
x + sen
k
L
xcos
k
L
ix
= 2
_
1 cos
k
L
x
_
sen
k
L
ix
= 2 sen
2
k
2L
xsen
k
L
ix,
Rodney Josue Biezuner 9
logo obtemos
b
j+1
k
=
_
1 4 sen
2
k
2L
x
_
b
j
k
. (1.23)
Iterando esta equacao, conclumos que
b
j
k
=
_
1 4 sen
2
k
2L
x
_
j
b
0
k
. (1.24)
A condicao de estabilidade implica portanto que o esquema e estavel se e somente se

1 4 sen
2
k
2L
x

1,
(caso contrario a solucao explode quando j ) isto e, se e somente se
1 4 sen
2
k
2L
x 1,
o que e equivalente a
sen
2
k
2L
x
1
2
que por sua vez e equivalente a (ja que |sen| 1)

1
2
.

1.8 Corolario. O esquema FTCS e convergente se e somente se



1
2
. (1.25)
Consequentemente, ao usarmos o esquema FTCS, nao podemos escolher x e t independentemente. Pior
que isso: como a priori precisamos escolher x relativamente pequeno para obter uma boa aproxima cao e a
condicao necessaria para o esquema convergir e
t
1
2K
x
2
,
segue que t sera muito pequeno. Precisaremos de percorrer muitos passos temporais (muitas iteracoes do
metodo) para calcular a solucao aproximada em qualquer instante de tempo nito.
1.9 Proposicao. O esquema BTCS e instavel.
1.10 Proposicao. O esquema Du Fort-Frankel e incondicionalmente estavel, mas e consistente somente se
t/x 0 quando x, t 0.
1.11 Teorema. Um esquema explcito de diferencas nitas para a equacao do calor e convergente somente
se t/x 0 quando x, t 0.
Rodney Josue Biezuner 10
1.1.5 Escolhas Especiais de x e t
Expandindo os termos no esquema FTCS com mais cuidado, vemos que uma escolha especial de x e t
transforma este esquema de primeira ordem no tempo e segunda ordem no espaco, em um esquema de
segunda ordem no tempo e segunda ordem no espaco. De fato,
_
u
t
c
2
u
xx
_
j
i

_
u
j+1
i
u
j
i
t
c
2
u
j
i+1
2u
j
i
+ u
j
i1
x
2
_
=
t
2
(u
tt
)
j
i

t
2
3!
(u
ttt
)
j
i
... + c
2
_
2x
2
4!
(u
xxxx
)
j
i
+
2x
4
6!
(u
xxxxxx
)
j
i
+ ...
_
,
e como
u
tt
= c
2
u
xxt
= c
2
(u
t
)
xx
= c
4
u
xxxx
,
segue que
_
u
t
c
2
u
xx
_
j
i

_
u
j+1
i
u
j
i
t
c
2
u
j
i+1
2u
j
i
+ u
j
i1
x
2
_
=
t
2
c
4
(u
xxxx
)
j
i

t
2
3!
(u
ttt
)
j
i
... + c
2
_
2x
2
4!
(u
xxxx
)
j
i
+
2x
4
6!
(u
xxxxxx
)
j
i
+ ...
_
=
_
c
2
2x
2
4!

t
2
c
4
_
(u
xxxx
)
j
i

t
2
3!
(u
ttt
)
j
i
... + c
2
_
2x
4
6!
(u
xxxxxx
)
j
i
+ ...
_
=
_
c
2
x
2
4!

t
2
c
4
_
(u
xxxx
)
j
i
+ O(t
2
) + O(x
4
),
de modo que se escolhermos
t =
x
2
6c
2
,
obteremos
_
u
t
c
2
u
xx
_
j
i

_
u
j+1
i
u
j
i
t
c
2
u
j
i+1
2u
j
i
+ u
j
i1
x
2
_
= O(t
2
) + O(x
4
).
1.2 Esquemas de Diferencas Finitas Implcitos para a Equacao do
Calor
1.2.1 Esquema BTCS
No esquema BTCS (backward-time, central-space) aproximamos a derivada parcial de primeira ordem no
tempo u
t
por uma diferenca nita regressiva e a derivada parcial de segunda ordem no espaco u
xx
por uma
diferenca nita centrada:
u
t
(x
i
, t
j
)
u
j
i
u
j1
i
t
,

2
u
x
2
(x
i
, t
j
) =
u
j
i1
2u
j
i
+ u
j
i+1
x
2
,
obtendo o esquema de diferencas nitas implcito
u
j
i
u
j1
i
t
= K
u
j
i1
2u
j
i
+ u
j
i+1
x
2
(1.26)
Rodney Josue Biezuner 11
ou
u
j
i+1
+ (1 + 2) u
j
i
u
j
i1
= u
j1
i
, (1.27)
para i = 1, . . . , n 1, j = 1, . . . , m1. Este e um esquema de primeira ordem em t e de segunda ordem em
x. Ele e incondicionalmente estavel.
1.2.2 Esquema de Crank-Nicolson
Este esquema pode ser visto como uma modicacao do esquema anterior
u
j
i
u
j1
i
t
= K
_
u
j
i1
2u
j
i
+ u
j
i+1
2x
2
+
u
j1
i1
2u
j1
i
+ u
j1
i+1
2x
2
_
(1.28)
ou
u
j
i+1
+ 2 (1 + ) u
j
i
u
j
i1
= 2 (1 ) u
j1
i
+
_
u
j1
i1
+ u
j1
i+1
_
.
Este e um esquema de segunda ordem em t e x. Ele e incondicionalmente estavel.
1.3 Dissipacao
1.4 Condicoes de Fronteira de Neumann e de Robin
Considere agora que uma das extremidades esta mantidas `a temperatura xa 0 e a outra esta isolada
termicamente:
_

_
u
t
= c
2
u
xx
(x, t) [0, L] [0, T],
u
x
(0, t) = 0 t [0, T],
u(L, t) = 0 t [0, T],
u(x, 0) = f(x) x [0, L].
(1.29)
Como antes, temos a equacao em diferencas nitas
u
j+1
i
= u
j
i
+ c
2
t
x
2
_
u
j
i+1
2u
j
i
+ u
j
i1
_
, (1.30)
a condicao inicial
u
0
i
= f(ix) = f(x
i
) = f
i
para i = 0, . . . , n, (1.31)
e uma condicao de fronteira
u
j
n
= 0 para j = 0, . . . , m. (1.32)
Podemos tratar a condicao de fronteira de Neumann da seguinte maneira:
0 = u
x
(0, jt) =
u(x, jt) u(0, jt)
x
=
u
j
1
u
j
0
x
,
aproximando
u
j
0
= u
j
1
. (1.33)
O unico problema desta aproximacao e que ela e uma aproxima cao da condicao de fronteira de Neumann
de primeira ordem no espaco, enquanto que o nosso esquema de diferencas nitas que aproxima a equacao
diferencial parcial e de segunda ordem no espaco. O resultado nal pode ser de primeira ordem em espaco.
Para aproximar a condicao de fronteira de Neumann de uma maneira consistente com o nosso esquema
de diferenca nita, aplicamos uma diferenca centrada no ponto da fronteira, o que leva necessariamente `a
consideracao de um ponto fantasma: x
1
= x. Assim,
0 = (u
x
)
j
0
=
u
j
1
u
j
1
2x
,
Rodney Josue Biezuner 12
donde
u
j
1
= u
j
1
, (1.34)
e da, usando o nosso esquema de diferencas nitas,
u
j+1
0
= u
j
0
+ c
2
t
x
2
_
u
j
1
2u
j
0
+ u
j
1
_
segue que
u
j+1
0
= u
j
0
+ c
2
t
x
2
_
u
j
1
u
j
0
_
. (1.35)
com u
0
0
obviamente dado pela condicao inicial.
1.5 Programas Matlab
Programa 1.1. Formula dos 3 pontos para a Equacao de Poisson com condicao de Dirichlet
homogenea.
%Resolve a Equac~ao de Poisson com condic~ao de Dirichlet homog^enea atraves da formula dos 3
pontos.
function [] = Poisson(N)
%Inicializac~ao de variaveis.
u = zeros(N+2,1); %Soluc~ao aproximada.
e = zeros(N+2,1); %Soluc~ao exata.
f = zeros(N,1); %-Laplacian u = f.
A = sparse(N,N); %Matriz de discretizac~ao do laplaciano.
h = 1/(N+1); %Espacamento da malha.
%Atribuic~ao de variaveis
%Definic~ao de A.
A(1:N+1:end) = 2;
A(2:N+1:end) = -1;
A(N+1:N+1:end) = -1;
%Definic~ao de f.
for i = 1:N
f(i,1) = h*h*(pi*pi)*sin(i*pi*h);
end
%Calculo da soluc~ao aproximada nos pontos interiores da malha.
v = A\f;
%Atribuic~ao da soluc~ao aproximada.
u(1,1) = 0;
u(N+2,1) = 0;
for i = 1:N
u(i+1,1) = v(i,1);
end
%Atribuic~ao da soluc~ao exata.
for i = 1:N+2
e(i,1) = sin((i-1)*pi*h);
end
%Plotando as soluc~oes aproximada e exata (para comparac~ao).
x = 0:h:1;
plot(x,u,x,e);

También podría gustarte