Você está na página 1de 19

ST468 - Cálculo Numérico

Prof. Dr. Varese Salvador Timóteo


Discretização
x

−∞ 0 xa +∞

Infinitos pontos entre dois valores!

−x 2
f(x) = e
Representação discreta para o computador:

Podemos colocar um número finito Np de xa = 3


pontos em um intervalo [xi, xf ] . O tamanho do
intervalo é dado por xf − xi.
Np = Ni + 1
xf − xi xf − xi
Δx = =
Np − 1 Ni Ni = Np − 1
Erro

Erro cometido ao considerar o infinito como sendo 3.

x∞ → xa ϵ = Abs[ f(∞) − f(xa)]

2
−x
f(x) = e xa = 3 ϵ = 1.2341 × 10−4
Convergência
Neste caso, verificar a convergência da aproximação x∞ → xa ,
requer variar xa e observar o que ocorre com o erro ϵ

f(x) = e −x 2 x∞ → xa ϵ = Abs[ f(∞) − f(xa)]

−4
xa = 3 ϵ = 1.2341 × 10

A tabela e a figura mostram o valor de xa que deve

ser escolhido para que se tenha um determinado erro ϵ . {1., 0.367879},

{2., 0.0183156},

Por exemplo, para que o erro seja menor do que 10−6 , {3., 0.00012341},

{4., 1.12535*10^-7},

devemos utilizar xa = 4. {5., 1.38879*10^-11},

{6., 2.31952*10^-16},

{7., 5.24289*10^-22},

{8., 1.60381*10^-28},

{9., 6.63968*10^-36},

{10., 3.72008*10^-44}
Convergência
Neste caso, verificar a convergência da aproximação x∞ → xa ,
requer variar xa e observar o que ocorre com o erro ϵ
1
g(x) = x∞ → xb ϵ = g(xb)
x+1
Raízes de Funções
Alguns problemas podem ser convertidos no encontro das raízes de uma função

Exemplo

Lançamento de projéteis: determinação do alcance e da altura máxima

v 0⃗

θ
0
x
Raízes de Funções
Equações para o movimento do projétil
x
x= xo + v0 t x = xo + t v0 cos θ a=−g
y 1 2 1 2
y= yo + v0 t+ a t y = yo + t v0 sin θ − g t 2
g = 9.8 m/s
2 2
x x x x
v = v0 v = v0
y y y y
v = v0 +a t v = v0 − gt
y

y
v 0⃗ v 0⃗
v0 x
v0 = v0 cos θ
y
θ v0 = v0 sin θ θ
x
v0 0
x
Raízes de Funções
Equações para o movimento do projétil
x
x = xo + t v0 cos θ v = v0 cos θ
1 2
y = yo + t v0 sin θ − g t y
v = y
v0 sin θ −g t
2

y
Altura máxima h: v = 0
y
v0 sin θ − g th = 0
v 0⃗
Alcance d: y = 0
1 2
yo + td v0 sin θ − g td = 0
2 θ
0
x
Raízes de Funções
y
Altura máxima h: v = 0
v0
v0 sin θ − g th = 0 th = sin θ Tempo que a altura máxima é atingida
g

Alcance d: y = 0
1 2
yo + td v0 sin θ − g td = 0
2 (x0, y0) = (0,0)
1
td (v0 sin θ − g td) = − yo
2 1 2
h = y(th) = th v0 sin θ − g th
td = 0 2
1 2
td (v0 sin θ − g td) = 0 td = v0 sin θ d = x(td) = td v0 cos θ
2 g
Raízes de Funções
As raizes de uma equação também podem ser obtidas por meio de métodos numéricos

y = f(x)
f(x < x0) > 0
f(x0) = 0
f(x > x0) < 0

0
x0 x

x0 é uma raiz da função f


Raízes de Funções
Método da bissecção: encontra uma raíz x0 da função que se sabemos estar entre xa e xb

Estratégia: tentar como solução o ponto médio xm entre xa e xb


Estratégia: testar xm calculando f(xm) e verificando se f(xm) ≤ ϵ
Estratégia: caso xm esteja à direita de x0, refazer com o intervalo [xa, xm]
Estratégia: caso xm esteja à esquerda de x0, refazer com o intervalo [xm, xb]

y = f(x)
f(x < x0) > 0
f(x0) = 0
f(x > x0) < 0
xm
0
xa x0 xb x

ponto médio xm entre xa e xb


Integração Numérica

∫ dxi→0 ∑
f(x) dx = lim f(xi) dxi
retângulo i trapézio

f(x) = ln(x)

f(xi + dxi)
f(xi) 10

∫1
f(x) dx

dxi
xi xi + dxi

Quanto menor dxi , melhor é o resultado da integral !


Integração Numérica: método dos trapézios
Z N
X1
f (x) dx ⇡ Ai
i=1
f(x) 1
Ai = (xi +1 xi ) f (xi ) + (xi + 1 xi ) [f (xi+ 1 ) f (xi )]
2
retângulo triângulo

[ ]
1
Ai = (xi+1 − xi) f(xi) + (f(xi+1 − f(xi))
f 2
f(x )

[ ]
i+1
1 1
f(x i) Ai = dxi f(xi) + f(xi+1 − f(xi)
2 2

[2 ]
1 1
Ai = dxi f(xi) + f(xi+1)
2
x x x
i i+1 1
Ai = [ f(xi) + f(xi+1)] dxi
2
1
A = (1/2) Sum[ ( f[ x[[i]] ] + f[ x[[i + 1]] ] ) dxi , { i, 1, Np - 1 } ] [ f(xi) + f(xi+1)] dxi
2∑
A=
i
Derivadas Numéricas

Δx → 0 [ ]
d f(x) Δf(x) f(x + Δx) − f(x)
= lim = lim
dx Δx → 0 Δx Δx

3
f(x)
2
f (x + Δx) − f (x)

1
Δx

0
0.0 0.5 1.0 1.5 2.0
x
A derivada f’(x) é a inclinação da reta tangente à curva f(x) em um ponto x !

Quanto menor Δx , melhor é o resultado da derivada !


Diferenças Finitas
d f(x) f(x + Δx) − f(x)

dx Δx
Δx Δx

x1 xi−1 xi xi+1 xN x

f(xi) − f(xi−1)
Backward differences: f′(xi) ≈ Não é possível calcular f′(x1)
Δx

f(xi+1) − f(xi)
Forward differences: f′(xi) ≈ Não é possível calcular f′(xN )
Δx

f(xi+1) − f(xi−1)
Central differences: f′(xi) ≈ Não é possível calcular f′(x1) e f′(xN )
2 Δx

No esquema central, precisamos do dobro do número de pontos para ter a mesma precisão do forward e backward
Derivada segunda
d 2 f(x) d d d
= f(x) = f′(x)
dx 2 dx dx dx

f′(xi) − f′(xi−1)
Backward differences: f′′(xi) ≈ Não é possível calcular f′(x1)
Δx

f′(xi+1) − f′(xi)
Forward differences: f′′(xi) ≈ Não é possível calcular f′(xN )
Δx

f′(xi+1) − f′(xi−1)
Central differences: f′′(xi) ≈ Não é possível calcular f′(x1) e f′(xN )
2 Δx

A derivada segunda pode ser calculada aplicando duas vezes o cálculo da derivada
Derivadas parciais
∂f(x, y) ∂f(x, y) 2
∂ f(x, y) ∂2f(x, y) ∂2f(x, y)
∂x ∂y ∂x 2 ∂y 2 ∂x ∂y

Central differences:

f(xi+1, yj) − f(xi−1, yj)


∂x f(x, y) ≈
2 Δx

f(xi, yj+1) − f(xi, yj−1)


∂y f(x, y) ≈
2 Δy
Equações Diferenciais
Na equação x + 3 = 7 (por exemplo) queremos saber o valor (x) que somado com 3 resulta em 7.

Em uma equação diferencial, queremos encontrar uma função a partir de seu comportamento

(conhecido) com relação a variações da variável em questão. Vamos considerar um exemplo:

qual é a função que quando derivada duas vezes resulta nela mesma porém com o sinal trocado?

Essa pergunta pode ser representada pela equação diferencial de segunda ordem abaixo (com ω = 1)

2
d x(t) 2
= − ω x(t)
dt 2

v(t) dx(t)
= v(t) x depende de v

d dx(t) dt acoplamento
2
= − ω x(t) dv(t)
dt dt 2
= − ω x(t) v depende de x
dt
Uma equação de segunda ordem pode ser escrita como duas equações de primeira ordem acopladas
Equações Diferenciais
Δt dt

t1 ti−1 ti ti+1 tN t

Δx(t) Discretização
= v(t) Δx ≈ xi+1 − xi
xi+1 − xi = vi dt
Δt Δv ≈ vi+1 − vi
Δv(t) 2
= − ω x(t) Δt ≈ ti+1 − ti = dt 2
vi+1 − vi = − ω xi dt
Δt intervalos uniformes

xi+1 = xi + vi dt x1 = x0 + v0 dt
x2 = x1 + v1 dt
2 2 2
vi+1 = vi − ω xi dt v1 = v0 − ω x0 dt v2 = v1 − ω x1 dt

Para cada uma das equações é necessário uma condição inicial (x0 and v0)

Você também pode gostar