Escolar Documentos
Profissional Documentos
Cultura Documentos
Instituto de Física
Lista I e II de:
Cálculo Numérico
4 de dezembro de 2023
Conteúdo
1 Exercício 1 1
1.1 Resolução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.1 Método de Euler explícito . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.2 Método de Euler implícito . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.3 Método dos Trapézios explícito . . . . . . . . . . . . . . . . . . . . 4
1.1.4 Método de Taylor de ordem 2 . . . . . . . . . . . . . . . . . . . . . 6
1.1.5 Runge-Kutta de ordem 4 . . . . . . . . . . . . . . . . . . . . . . . . 8
2 Exercício 2 9
2.1 Resolução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.1.1 Método de Euler explícito . . . . . . . . . . . . . . . . . . . . . . . 10
2.1.2 Método de Trapézios explícito . . . . . . . . . . . . . . . . . . . . . 12
3 Exercício 8 15
3.1 Resolução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4 Exercício 9 16
4.1 Resolução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5 Exercício 21 18
5.1 Resolução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
6 Exercício 30 22
6.1 Resolução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
7 Exercício 45 26
7.1 Resolução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
8 Exercício 49 28
8.1 Resolução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
9 Exercício 55 30
9.1 Resolução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
10 Exercício 58 32
10.1 Resolução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
i
Todo o comando como também gráficos se encontram em Link do Colab - Lista I de
Calc. Num.
1 Exercício 1
Considere a equação diferencial
x′ = x2 − x sin(t) (1)
com a condição inicial x(0) = 1. Para cada método, obtenha uma aproximação da solução
no intervalo [0, 0.6] com passo h = 0.1
1.1 Resolução
1.1.1 Método de Euler explícito
O método de Euler explícito é dado por
Onde
tn = n ∗ h (3)
Será feito um cálculo exemplo para demonstrar como é feito e, à posteriori, omitir-se-à
as contas colocando-se apenas os resultados numéricos. Sendo
f (t, x) = x2 − x · sin(t)
. Para x1 , com x0 = 1:
x1 = x0 + h · f (t0 , x0 )
x1 = 1 + 0.1 · ((1)2 − (1) · sin(0)) = 1.1
1
''' Metodo de Euler explicito para n =6 e t =[0 ,0.6] , tal que
h =( T [1] - T [0]) /6 = 0.1. De forma que temos que calcular 6 pontos '''
t = np . linspace (0 ,0.6 ,7)
x = np . asarray ([0.0] * len ( t ) )
x_0 = 1
x [0] = x_0
h = 0.1
def f (t , x ) :
func = x **2 - x * np . sin ( t )
return func
k = 1
while k < len ( t ) :
x [ k ] = x [k -1] + h * f ( t [k -1] , x [k -1])
k += 1
x_3sig = []
for i in range ( len ( x ) ) :
aux = round ( x [ i ] ,2)
x_3sig . append ( aux )
Número tn xn
0 0.1 1.0
1 0.1 1.10
2 0.2 1.21
3 0.3 1.33
4 0.4 1.47
5 0.5 1.63
6 0.5 1.82
A saber esses valores são ligeiramente diferente se avaliar por outra calculadoras além
do Python, seja por exemplo o Desmos
Note que há diferenças sutis quando se compara ambas as calculadoras.
2
Tabela 2: Exercício 1: Método de Euler explícito - Desmos
Número tn xn
0 0.1 1.00
1 0.1 1.10
2 0.2 1.21
3 0.3 1.33
4 0.4 1.47
5 0.5 1.63
6 0.5 1.81
x2n − xn sin(tn )
xn = xn−1 + h ·
q
h sin(tn ) + 1 ± ( h sin(tn ) + 1)2 − 4hxn−1
xn =
2h
como x(0) > 1 é normal que se assuma que um tempo posterior seja maior que 0, mas
neste caso, se o sinal for positivo a função "explode"para x2 , tomando o sinal negativo a
função é comportada de forma que:
q
h sin(tn ) + 1 − ( h sin(tn ) + 1)2 − 4hxn−1
xn = (6)
2h
O calculo exemplo, para t1 = h e considerando 3 números significativos
q
h sin(t1 ) + 1 − ( h sin(t1 ) + 1)2 − 4hx0
x1 = =
2h
q
(0.1) sin(0.1) + 1 − ( (0.1) sin(0.1) + 1)2 − 4(0.1) · 1
= = 1.10
2(0.1)
3
''' pacotes usados '''
import numpy as np
import matplotlib . pyplot as plt
def f2 (t , x ) :
global h
func = ( h * np . sin ( t ) + 1 - np . sqrt (( h * np . sin ( t ) + 1) **2 - 4 * x * h ) )
/ (2 * h )
return func
k = 1
while k < len ( t2 ) :
x2 [ k ] = f2 ( t [ k ] , x2 [k -1])
k += 1
x2_3sig = []
for i in range ( len ( x2 ) ) :
aux = round ( x2 [ i ] ,2)
x2_3sig . append ( aux )
Número tn xn
0 0.1 1.00
1 0.1 1.10
2 0.2 1.24
3 0.3 1.40
4 0.4 1.59
5 0.5 1.83
6 0.5 2.19
4
Aplicando a função, tem-se que:
h
x2n−1 − xn−1 sin(tn−1 ) + x2n − xn sin(tn )
xn = xn−1 +
2
aplicando método de trapézios explícito, quando
de forma que
h
xn = xn−1 + (x2n−1 − xn−1 sin(tn−1 ) + (xn−1 + h((xn−1 )2 − xn−1 sin(tn−1 )))2 +
2
+ xn−1 − h((xn−1 )2 − xn−1 sin(tn−1 )) sin(tn ))
h
x20 − x0 sin(t0 ) + (x0 + h(x20 − x0 sin(t0 )))2 − (x0 + h(x20 − x0 sin(t0 ))) sin(t1 )
x1 = x0 +
2
x1 = 1.11
def f3 (t , x ) :
func = x **2 - x * np . sin ( t )
return func
def f_intermed (t , x ) :
global h
func = x + h *( x **2 - x * np . sin ( t ) )
return func
k = 1
while k < len ( t3 ) :
x3 [ k ] = x3 [k -1] + ( h /2) *( f3 ( t3 [k -1] , x3 [k -1]) +
( f_intermed ( t3 [k -1] , x3 [k -1]) ) **2 -
( f_intermed ( t3 [k -1] , x3 [k -1]) ) * np . sin ( t3 [k -1] + h ) )
5
k += 1
x3_3sig = []
for i in range ( len ( x3 ) ) :
aux = round ( x3 [ i ] ,2)
x3_3sig . append ( aux )
Número tn xn
0 0.1 1.00
1 0.1 1.11
2 0.2 1.22
3 0.3 1.36
4 0.4 1.51
5 0.5 1.70
6 0.5 1.93
ft = −x cos(t) (10)
fx = 2x − sin(t) (11)
2 h
(x2n
xn+1 = xn +h ((xn ) − xn sin(tn )) + (−xn cos(tn )) + (2xn − sin(tn )) · − xn sin(tn ))
2
(12)
como calculo exemplo:
2 h
(x20
x1 = x0 + h ((x0 ) − x0 sin(t0 )) + (−x0 cos(t0 )) + (2x0 − sin(t0 )) · − x0 sin(t0 ))
2
6
2 (0.1) 2
x1 = 1+h (1 − 1 sin(0)) + (−1 cos(0)) + (2(1) − sin(0)) · (1 − 1 sin(0)) = 1.11
2
def f4 (t , x ) :
func_normal = x **2 - x * np . sin ( t )
func_derx = 2* x - np . sin ( t )
func_dert = -x * np . cos ( t )
return func_normal , func_derx , func_dert
k = 1
while k < len ( t4 ) :
x4 [ k ] = x4 [k -1] + h *( f4 ( t4 [k -1] , x4 [k -1]) [0] +
( h /2) *( f4 ( t4 [k -1] , x4 [k -1]) [2] +
( f4 ( t4 [k -1] , x4 [k -1]) [1]) *( f4 ( t4 [k -1] , x4 [k -1]) [0]) ) )
k += 1
x4_3sig = []
for i in range ( len ( x4 ) ) :
aux = round ( x4 [ i ] ,2)
x4_3sig . append ( aux )
7
e os valores resultantes via Cálculo do Python fora:
Número tn xn
0 0.1 1.00
1 0.1 1.10
2 0.2 1.22
3 0.3 1.36
4 0.4 1.51
5 0.5 1.69
6 0.5 1.92
k1 = f (tn−1 , xn−1 ) = 12 − sin(0) = 1
2
(0.1)
h h
1 + (0.1) sin( (0.1)
k
2
= f (tn−1 + 2
, xn−1 + k
2 1
) = 1+ 2
− 2 2
) = 1.10
2
k3 = f (tn−1 + h2 , xn−1 + h2 k2 ) = 1 + (0.1)·(1.10)
2
− 1 + (0.1)·(1.10)
2
sin( (0.1)
2
) = 1.10
k4 = f (tn−1 + h, xn−1 + hk3 ) = ( 1 + (0.1) · (1.10))2 − ( 1 + (0.1) · (1.10)) sin((0.1)) = 1.12
x1 = x0 + h6 ( k1 + 2k2 + 2k3 + k4 ) = 1 + (0.1)
( 1 + 2 · (1.10) + 2 · (1.10) + 1.12) = 1.11
2
''' Metodo RK4 (1/6) para n =6 e t =[0 ,0.6] , tal que h =( T [1] - T [0]) /6 = 0.1.
De forma que temos que calcular 6 pontos '''
8
def f5 (t , x ) :
func = x **2 - x * np . sin ( t )
return func
k = 1
while k < len ( t5 ) :
k1 = f5 ( t5 [k -1] , x5 [k -1])
k2 = f5 ( t5 [k -1] + ( h /2) , x5 [k -1] + ( h /2) * k1 )
k3 = f5 ( t5 [k -1] + ( h /2) , x5 [k -1] + ( h /2) * k2 )
k4 = f5 ( t5 [k -1] + h , x5 [k -1] + h * k3 )
x5 [ k ] = x5 [k -1] + ( h /6) *( k1 + 2* k2 + 2* k3 + k4 )
k += 1
x5_3sig = []
for i in range ( len ( x5 ) ) :
aux = round ( x5 [ i ] ,2)
x5_3sig . append ( aux )
Número tn xn
0 0.1 1.00
1 0.1 1.11
2 0.2 1.22
3 0.3 1.36
4 0.4 1.51
5 0.5 1.70
6 0.5 1.94
2 Exercício 2
Considere o sistema de equações diferenciais
(
ẋ = x2 + y
1
ẏ = 1+x
Se x(0) = −0.5 e y(0) = 0.2, estime t > 0 necessário para que a solução (x(t), y(t)) cruze
o eixo y, usando passo h = 0.1
1. Método de Euler explícito
2. Método de Trapézios explícito
9
2.1 Resolução
2.1.1 Método de Euler explícito
Para o método de Euler explícito para um sistema 2 × 2 é feito via matricialmente
por:
" #
k+1 k 2
k
x x (x ) + y
= k +h 1 (15)
y k+1 y 1+xk
concluí-se que:
( 2
xn+1 = xn + h(x
n + yn )
1 (16)
yn+1 = yn + h 1+xn
o cálculo exemplo:
1 1
y1 = y0 + h = 0.2 + 0.1 = 0.400
1 + x0 1 + (−0.5)
import numpy as np
from IPython . display import display , HTML
def f_2a (t ,x , y ) :
fx = x **2 + y
fy = 1/(1+ x )
return fx , fy
10
k = 1
while k < len ( t6 ) :
y6 [ k ] = y6 [k -1] + h * f_2a ( t6 [k -1] , x6 [k -1] , y6 [k -1]) [1]
x6 [ k ] = x6 [k -1] + h * f_2a ( t6 [k -1] , x6 [k -1] , y6 [k -1]) [0]
k += 1
11
constata-se que u = (x(t), y(t)) cruza o eixo y quando
Não consigo imaginar uma maneira de resolver essa situação sem que seja calculando
x1 , y1 , x2 , y2 , . . . até achar.
1 1
u = (xk , y k ), uk+1 = (xk+1 , y k+1 ), f k+1 = ((xk+1 )2 +y k+1 , ), f k = ((xk )2 +y k , )
1 + xk+1 1 + xk
(17)
de forma que na forma dos trapézios fica:
k+1 k 1 k 1 k+1
u =u +h f + f
2 2
" ! !#
k+1 k 2 k k+1 2 k+1
k
x x 1 (x ) + y 1 (x ) +y
= +h 1 + 1
y k+1 y k
2 1+xk 2 1+xk+1
de forma que:
(
xk+1 = xk + h2 (xk )2 + y k + (x k+1 2 k+1
) +y (18)
1
y k+1 = y k + h2 1+x 1
k + 1+xk+1
k+1 k h k 2 k k k 2 2 k 1
x = x + 2
(x ) + y + (x + h · ((x ) + y)) + y + h · 1+xk
(21)
y k+1 = y k + h2 1+x
1
k +
1
1+( xk +h·((xk )2 +y k ))
x1 = x0 + h x20 + y0 + ( x0 + h(x20 + y0 ))2 + y0 + h 1
= −0.447
2 1+x0
(22)
y1 = y0 + h 1 1
2 1+x0
+ 1+( x0 +h·((x0 )2 +y0 )) = 0.392
12
''' pacotes usados '''
import numpy as np
import matplotlib . pyplot as plt
from IPython . display import display , HTML
''' Metodo dos trapezios explicito para n =6 e t =[0 ,0.6] , tal que
h =( T [1] - T [0]) /6 = 0.1. De forma que temos que calcular 6 pontos '''
def intermed (x , y ) :
global h7
func = h7 / (2 * (1 + ( x + h7 * ( x **2 + y ) ) ) )
return func
def f7x (x , y ) :
global h7
func = x + ( h7 / 2) * ( x **2 + y + ( x + h7 * ( x **2 + y ) ) **2 + y + ( h7 /
(1 + y ) ) )
return func
k = 1
while k < len ( t7 ) :
x7 [ k ] = f7x ( x7 [ k - 1] , y7 [ k - 1])
y7 [ k ] = f7y ( x7 [ k - 1] , y7 [ k - 1]) + intermed ( x7 [ k - 1] , y7 [ k - 1])
k += 1
13
# Exibindo a tabela usando a f u n o display ()
display ( HTML ( table_content ) )
# Creating figure
fig = plt . figure ( figsize = (10 , 7) )
ax = plt . axes ( projection = " 3 d " )
# Creating plot
ax . scatter3D ( t7 , x7 , y7 , color = " green " )
plt . title ( " simple 3 D scatter plot " )
# show plot
plt . show ()
14
3 Exercício 8
Resolva o sistema linear a seguir pelo método de eliminação de Gauss com condensação
pivotal e aritmética de ponto flutuante com 2 algarismos significativos:
1.00 0.50 0.33 x1 1.0
0.50 0.33 0.25 · x2 = 1.0
0.33 0.25 0.20 x3 1.0
3.1 Resolução
Realizando então o escalonamento da matriz aumentada:
1.00 0.50 0.33 1.00 1.00 0.50 0.33 1.00
0.50 0.33 0.25 1.00 L2 = L2 − m21 · L1 = 0 → m21 = 0.50 0.50 0.080 0.085 0.5
0.33 0.25 0.20 1.00 0.33 0.25 0.20 1.00
(23)
1.00 0.50 0.33 1.00 1.00 0.50 0.33 1.00
L3 =L3 −m31 ·L1 =0→m31 =0.33
0.50 0.080 0.085 0.5 −−−−−−−−−−−−−−−−−→ 0.50 0.080 0.085 0.5 (24)
0.33 0.25 0.20 1.00 0.33 0.085 0.091 0.67
1.00 0.50 0.33 1.00 1.00 0.50 0.33 1.00
P2 =3
0.50 0.080 0.085 0.5 −
−−→ 0.33 0.085 0.091 0.67 (25)
0.33 0.085 0.091 0.67 0.50 0.080 0.085 0.5
1.00 0.50 0.33 1.00 1.00 0.50 0.33 1.00
L3 =L3 −m32 ·L2 =0→m32 =0.94
0.33 0.085 0.091 0.67 −−−−−−−−−−−−−−−−−→ 0.33 0.085 0.091 0.67
0.50 0.080 0.085 0.5 0.50 0.94 −0.00054 −0.13
(26)
E temos portanto a matriz aumentada escalonada. De forma que o conjunto solução
é:
0.13
x3 · (−0.00054) = −0.13 =⇒ x3 = = 2, 4 · 102 (27)
0.00054
0.67 − 0.091 · x3
0.085 · x2 + 0.091 · x3 = 0.67 =⇒ x2 = = −2, 5 · 102 (28)
0.085
15
de forma que:
0, 46 · 102
x1
x2 = −2, 5 · 102 (30)
x3 2, 4 · 102
e
p1 1
p2 = 3 (31)
p3 3
4 Exercício 9
Resolvendo o sistema:
1.00 0.50 0.33 x1 1.0
0.50 0.33 0.25 · x2 = 1.0 (32)
0.33 0.25 0.20 x3 1.0
1.00 0.50 0.33
0.33 0.085 0.091 (33)
0.50 0.941 −0.0006
o vetor de permutações p1 = 1 e p2 = 3 3 (i.e no primeiro passo não houve troca de
linhas e no segundo passo foram permutadas a segunda e terceira linha) e a solução x =
(41.2, −224, 217) Calcule 1 passo de refinamento desta solução, utilizando as informações
de escalonamento fornecidas.
4.1 Resolução
Primeiro, chamemos o sistema da equação (32) do tipo
AS = b (34)
precisamos calcular o resíduo da solução dada pela aproximação desse sistema. Seja o
resíduo S (0) , sabe-se que uma vez que o resíduo é incerto, se somarmos uma matriz que a
corrija, este valor será "exato", isto é:
16
por definição
r(0) := b − AS (0) (36)
∴ r(0) = Ac(0) (37)
Então precisamos calcular, antes de tudo, r(0)
−0.01
1.0 1.00 0.50 0.33 41.4
r(0) = 1.0 − 0.50 0.33 0.25 · −224 = −0.03 (38)
1.0 0.33 0.25 0.20 217 −0.062
agora precisamos passar o resíduos da solução S (0) ´para a forma da matriz, assim:
e formulando as colunas
−0.01 −0.01
1a coluna
−0.062− − −−−−→ −0.062 − (0.33) · (−0.01) = −0.0587 (40)
−0.03 −0.03 − (0.5) · (−0.01) = −0.025
−0.01 −0.01
2a coluna
−0.062 − (0.33) · (−0.01) = −0.0587 − −−−−→ −0.0587
−0.03 − (0.5) · (−0.01) = −0.025 −0.025 − (0.941) · (−0.0587) = 0.0302
(41)
−0.01
r(0) = Ac(0)
−0.01
1.00 0.50 0.33 c1
−0.0587 = 0.33 0.085 0.091 · c2 (43)
0.0302 0.50 0.941 −0.0006 c3
(−0.0006)
c3 = = −50.3
0.0302
−0.0587 − 0.091 · (−50.3)
0.085 · c2 + 0.091 · c3 = −0.0587 → c2 = = 53.2
0.085
c1 + 0.50 · c2 + 0.33 · c3 = −0.01 → c1 = −0.01 − 0.50 · c2 − 0.33 · c3 = −10
17
−10
c1
c(0) = c2 = 53.2 (44)
c3 −50.3
então, pela equação (35). Note que a solução "exata"a ser calculada agora ainda é a
aproximação de um refinamento, de forma que ela ainda não é de certeza ainda a solução
exata, mas um refinamento que chamaremos de S (1)
−10
41.4 31.4
S (1) = S (0) + c(0) = −224 + 53.2 = −171 (45)
217 −50.3 167
5 Exercício 21
a) Aproxime ex por a + bx em [0, 1] com pesos uniforme (i.e. ajuste contínuo em [0,1]
com p(x) = 1)
b) Como ficaria o coeficiente de determinação, R2 , no caso contínuo? Obtenha R2 no
ajuste em a)
c) Ajuste agora a + bx + cx2 e obtenha R2 para a função ajustada. Que tal?
5.1 Resolução
a) Queremos minimizar ˆ 1
(a, b) 7→ [ ex − a − bx]2 dx (46)
0
Seja
S = [ ex − a − bx]2 (47)
Os candidatos a ponto de mínimo da função (47) são aqueles para os quais são nulos
as derivadas parciais de S em relação a cada um de seus parâmetros, isto é:
∂S
= −2(ex − a − bx) = 0
∂a
∂S (48)
∂b
= −2x(ex − a − bx) = 0
a + 2b = e − 1
a (50)
2
+ 3b = 1
18
1 1/2 a e−1
· = (51)
1/2 1/3 b 1
a 4 −6 e−1
= · (52)
b −6 12 1
a 4e − 10
∴ = (53)
b 18 − 6e
b) O R2 é definido por:
SSE
R2 = 1 − (55)
SST
onde
ˆ b
1
SSE = (f (x) − g(x))2 dx (56)
b−a a
ˆ b
1
SST = (f (x) − g(x))2 dx (57)
b−a a
19
ˆ b
1
g(x) = g(x)dx (58)
b−a a
ˆ 1
SSE = (ex − (a + bx))2 dx ≈ 0.0040 (59)
0
ˆ 1 2
b
SST = x
e − a+ dx ≈ 0.2420 (60)
0 2
e então
0.0040
2
Rg(x) =1− ≈ 0.9835 = 98.35% (61)
0.2420
c) Agora queremos ajustar a função
g2 (x) = a + bx + c2 (62)
b c
a+ 2 + 3 =e−1
a
+b+c =1 (64)
a2 3b 4c
3
+ 4 + 5 =e−2
e−1
1 1/2 1/3 a
1/2 1/3 1/4 · b = 1 (65)
1/3 1/4 1/5 c e−2
e o gráfico de comparação é:
20
Figura 4: Comparação entre as funções
concluí-se que um ajuste com grau maior é mais preciso do que com graus menores.
21
6 Exercício 30
Em bioquímica, é bastante conhecida a cinética de Michaelis-Mentem. uma fórmula
que relaciona a taxa de reação enzimática (y) com a concentração do substrato (x), dada
por
β1 x
y(x) = (69)
β2 + x
Dados experimentais dessas duas grandezas foram coletados, gerando o seguinte grá-
fico:
x y
1 1.375
2 2.625
3 3.5
4 4.0
5 4.25
a) Pelos valores dados e pelo gráfico, faça uma estimativa heurística dos valores que se
espera para β1 e β2 , a fim de se ter uma referência para os resultados de um ajuste
de MMQ
b) Mostre como você determinaria β1 e β2 usando M M Q linear, mas pare antes de
você precisar saber que pesos vai dar aos dados
22
c) Use pesos (3, 3, 2, 2, 1), respectivamente, e determine β1 e β2 segundo o que você
prescreveu em b), usando 4 algarismos significativos. Compare com os valores heu-
rísticos "obtidos"em a)
6.1 Resolução
a) Plotando os pontos da tabela (9) e fitando os valores de βi e variando βj , sendo
βi ̸= βj ambos β1 e β2 , percebemos que β1 permanece no intervalo [5, 10] e β2 em
[2, 5].
b) Os casos são:
Caso 2) Seja o ajuste agora:
β1 x
y= → yx = β1 x − β2 y (70)
β2 + x
que gera o sistema normal:
β1 ⟨x, x⟩ + β2 ⟨x, −y⟩ = ⟨x, yx⟩
(71)
β1 ⟨−y, x⟩ + β2 ⟨−y, −y⟩ = ⟨−y, yx⟩
1 β2 + x β2 1 1
= = + (72)
y β1 + x β1 x β1
e então
1 β2 1 1 β2 ′ 1
= + =⇒ y ′ = a′ x′ + b′ a′ = ,b = (73)
y β1 x β1 β1 β1
que gera o sistema normal
23
c) De acordo com a técnica passada no item b)
Caso 1) Então
5
X
⟨−y, −y⟩ = pi yi2 = 100.9
i=1
5
X
⟨x, x⟩ = pi yi2 = 90.00
i=1
5
X
⟨x, −y⟩ = pi yi2 = −94.13
i=1
5
X
⟨x, xy⟩ = pi yi2 = 332.9
i=1
5
X
⟨−y, xy⟩ = pi yi2 = −338.8
i=1
90β1 − 94.13β2 = 332.9 β = 7.681
=⇒ 1 (75)
−94.13β1 + 100.9β2 = −338.8 β2 = 3.807
x y p x’ y’ p’
1 1.375 3 1 0.7273 3
2 2.625 3 0.5 0.3810 3
=⇒
3 3.5 2 0.3333 0.2857 2
4 4.0 2 0.25 0.25 2
5 4.25 1 0.20 0.2353 1
5
X 2
S= p i ( y i − a′ x i − b ′ ) (76)
i=1
∂S
= −2xi 5i=1 pi ( yi −′ −b′ ) = 0
P
∂a′ (77)
∂S
= −2 5i=1 pi ( yi − a′ xi − b′ ) = 0
P
∂b′
24
a′ 5i=1 pi x2i + b′ 5i=1 pi xi = 5i=1 pi xi yi
P P P
(78)
a′ 5i=1 pi xi + b′ 5i=1 pi = 5i=1 pi yi
P P P
e então
5
X
pi x′2
i = 4.297
i=1
5
X
pi x′i = 6.667
i=1
5
X
pi x′i yi′ = 3.304
i=1
5
X
pi = 15
i=1
5
X
pi yi′ = 5.573
i=1
′
4.297 6.667 a 3.304
· ′ = (80)
6.667 15 b 5.573
desta equação, escalonando temos
4.297 6.667 3.304
(81)
−1.552 4.623 0.445
e logo
b′ = 0.445
4.623
= 0.09626
(82)
′ 3.304−b·(6.667)
a = 4.297
= 0.4935
1
β1 = b′
= 10.39
(83)
′
β2 = a · β1 = 5.117
25
Como conclusão de ambos os casos, temos o gráfico dos ajustes
O método de comparação ficou subjetivo (i.e. não diz se deve ser pelo R2 , outros
métodos ou apenas uma comparação se caiu dentro do esperado). Para o caso
assertivo, caso 1) então, em nossa comparação constata-se que o valor caiu dentro
do esperado com a análise prévia feita no item a)
7 Exercício 45
Seja f (x) = sin(2x) Suponha que, que para cada n, escolhamos n + 1 pontos distintos
x0 , · · · , xn em [0, π] ] e obtenhamos o polinômio interpolador pn = pf [x0 , x1 , · · · , xn ].
Mostre que existe uma sequência de valores bn , tendendo a zero quando n vai a infinito,
tal que |f (x) − pn (x)| ≤ bn , para qualquer x ∈ [0, π] (de fato, os bn’s nem precisam
depender dos pontos escolhidos).
7.1 Resolução
Sabemos que a estimativa do erro de interpolação é dada por
26
Mn+1
|Rn (f ; x)| = |f (x) − pn (x)| ≤ |(x − x0 ) · (x − x1 ) · · · (x − xn )| (84)
(n + 1)!
e podemos fazer
|(x − x0 ) · (x − x1 ) · · · (x − xn )|
|Rn (f ; x)| ≤ max f (n+1) (t) (85)
(n + 1)! (a≤t≤b)
f (x) = sin(2x)
f ′ (x) = 2 cos(2x)
f ′′ (x) = 22 (− sin(2x)) (86)
..
.
f (n+1) (x) = 2n+1 (±(cos(2x)) ∨ (sin(2x)))
de qualquer forma
de forma que
2n+1 n+1
|Rn (f ; x)| ≤ π (89)
(n + 1)!
2n+1 n+1
bn = π (90)
(n + 1)!
e
?
lim bn = 0 (91)
n→∞
O teorema do massacre nos diz que há funções que dominam o limite quando crescem
mais rapidamente que outras funções, por exemplo: exponencial cresce mais rapidamente
que logaritmo, de forma que no limite a função exponencial domina, isto é:
log(xn)
lim = 0, x ∈ N+ (92)
n→∞ en
27
No nosso caso, sabemos que a função exponencial cresce mais rapidamente ao infinito
que qualquer exponencial, de forma o fatorial "domina"o limite, isto é
2n+1 n+1
lim π =0 (93)
n→∞ (n + 1)!
e logo bn converge.
Ou, de maneira mais tradicional:
2n 2π n π
bn (n+1)n! 2π
rn = = 2n π n = (94)
bn−1 n!
n+1
e como
lim rn = 0 (95)
n→∞
portanto bn converge
8 Exercício 49
Seja f uma função pelo menos 3 vezes diferenciável, em que f ′′′ tem um máximo em
[1, 1] (para poder usar a fórmula de erro de interpolação de grau 2). Com tal hipótese,
para cada h ∈ (0, 1), é possível estimar a diferença entre f e pf [h, 0, h] usando a fórmula
de erro da interpolação polinomial.
a) Mostre que existe uma constante c > 0 tal que
x2 x ∈ [−h, 0]
f (x) = (97)
2x2 x ∈ [0, h]
i) Use a tabela das diferenças para calcular pf [−h, 0, h](x)
ii) Calcule explicitamente
h h
f − pf [−h, 0, h]
2 2
28
8.1 Resolução
a) Da fórmula do erro, sabemos que
|(x − x0 ) · (x − x1 ) · · · (x − xn )|
|f (x) − pn | ≤ max f (n+1) (t) (98)
(n + 1)! (a≤t≤b)
de forma que
|(x − x0 ) · (x − x1 ) · · · (x − xn )| 4h3
|f (x) − pn | ≤ max f (n+1) (x) = max f ′′′ (x)
(n + 1)! (−h≤x≤h) 3! (−h≤x≤h)
(101)
Sabemos que max−h≤x≤h f ′′′ (x) é uma constante. Seja
4
c= max f ′′′ (x) (102)
3! (−h≤x≤h)
e logo
3
pf [−h, 0, h] = h2 − h(x + h) + (x + h)x (104)
2
ii) O módulo então fica
h2 h2 3 h2 3 2
h h
f − pf [−h, 0, h] = − h2 + + h2 − − h (105)
2 2 2 2 2 4 4
h2
h h
∴ f − pf [−h, 0, h] = (106)
2 2 8
29
iii) Note que da f (x) o nosso f ′′′ (x) não existe em x = 0, de forma que a função não
existe em todos os pontos e viola a hipótese. O resultado é contraditório!
9 Exercício 55
´6
a) Para obter a precisão de 10−5 na integral 1
arctan xdx usando o método de simpson,
quantas células seriam suficientes?
b) Use 4-Simpson para obter uma estimativa dessa integral. Estime o erro dessa inte-
gração
9.1 Resolução
a) Fazendo as derivadas, temos
d 1
dx
(arctan(x)) 1+x2
d2 −2
dx2
(arctan(x)) (1+x2 )2
d3 −2(1−3x2 )
dx3
(arctan(x)) (1+x2 )3 (107)
d4 24x(1−x2 )
dx4
(arctan(x)) (1+x2 )4
d4 24(1−10x2 +5x4 )
dx4
(arctan(x)) (1+x2 )5
√
x = ± k =⇒ 5k 2 − 10k + 1 = 0 (111)
(
k+ k = 1 + √2
5
(112)
k− k = 1 − √2
5
Como k+ > k−
s
√ 2
x = ± k =⇒ x = 1+ √ (113)
5
q
note que k = − 1 + √2
5
não pertence ao intervalo 1 ≤ x ≤ 6
30
q
então o ponto que maximiza a max f (4)
é x= 1+ √2
5
assim
q q
√2 − √2 √2
s
24( 1 + 1+ 1+
!
2 5 5 5
f (4) 1+ √ = ≈ 0.421 (114)
5 (1 + 1 + √2 )4
5
(6 − 1)5 (0.421)
10−5 ≤ (115)
2880n4
1/4
(6 − 1)5 (0.421)
n≤ ≈ 14.6 (116)
2880 · 10−5
então n ≥ 15 já é suficiente.
b) Usando o método de 4-simpson, temos que o passo é dado por
(b − a
S4 = ( f (x0 ) + 4f (m1 ) + 2f (x1 ) + 4f (m2 ) + 2f (x3 ) + 4f (m3 ) + f (x4 ))
6n
(117)
6−1
h= = 1.25 (118)
4
xi f (xi )
x0 = 1 0.785
x1 = 2.25 1.15
x2 = 3.5 1.30
x3 = 4.75 1.36
x4 = 6 1.41
mi f (mi )
m1 = 1.625 1.02
m2 = 2.875 1.24
m3 = 4.125 1.33
m4 = 5.3755 1.39
tal que
31
S4 ≈ 6.1893 (119)
ˆ 6 6
1
I= arctan(x)dx = x arctan(x) − ln 1 + x2 ≈ 6.1896 (120)
1 2 1
o e o erro da integral é
10 Exercício 58
A função ϕ(t) é solução do problema da cauchy
x′ = f (t, x)
(122)
x(t0 ) = x0
ˆ t
ϕ(t) = x0 + f (s, ϕ(s))ds (123)
t0
a) Aplique o Método dos Trapézios com 1 repetição no intervalo [t0 , t0 + h] para obter
uma fórmula de aproximação para ϕ(t0 + h). Esse é um dos métodos de integração
numérica de EDO’s
b) Tente fazer o mesmo com Simpson. Perceba que isso leva a um método de passo
duplo.
10.1 Resolução
a) o método de trapézios é dada por
ˆ b
h b−a
f (x)dx ≈ [ f (a) + f (b)] h= (124)
a 2 n
ˆ t
t − t0
f (s, ϕ(s))ds = [ f (t, ϕ(t)) + f (t0 , ϕ(t0 ))] (125)
t0 2
32
t − t0
ϕ(t) = x0 + [ f (t, ϕ(t)) + f (t0 , ϕ(t0 ))] (126)
2
e então
h
ϕ(t0 + h) = x0 + [ f (t0 + h, ϕ(t0 + h)) + f (t0 , ϕ(t0 ))] (127)
4
b) Para o método de Simpson
ˆ b
h t − t0 t − t0 b−a
f (x)dx ≈ f (t0 , ϕ(t0 )) + 4f ,ϕ + f (t, ϕ(t)) h=
a 6 2 2 n
(128)
de forma que
t − t0 t − t0 t − t0
ϕ(t) = x0 + f (t0 , ϕ(t0 )) + 4f ,ϕ + f (t, ϕ(t))
6 2 2
(129)
e
h h h
ϕ(t0 + h) = x0 + f (t0 , ϕ(t0 )) + 4f ,ϕ + f (t0 + h, ϕ(t0 + h))
6 2 2
(130)
e é um método de passo duplo, pois temos uma parte andada até f (t0 ) e outra até
f (t0 + h)
33