Documente Academic
Documente Profesional
Documente Cultură
DE
ENGENHARIA MECÂNICA
Matemática Computacional
Colectânea de Exercícios
• Propostas de resolução
• Conceitos fundamentais
• Algoritmos básicos
• Gráficos ilustrativos
Leonel Fernandes
Virgínia Infante
José Viriato
TERMINOLOGIA v
2 1
2.1 NÚMEROS INTEIROS:
Conversão da base b para a base 10 . . . . . . . . . . . . . . . . . . . . 1
2.2 NÚMEROS INTEIROS:
Conversão da base b1 para a base b2 . . . . . . . . . . . . . . . . . . . 2
2.3 NÚMEROS REAIS:
Conversão da base 10 para a base b < 10 . . . . . . . . . . . . . . . . . 3
2.4 NÚMEROS REAIS:
Conversão da base b1 para a base b2
(b1 6= 10, b2 6= 10 e ambas > 2) . . . . . . . . . . . . . . . . . . . . . . 4
2.5 NÚMEROS REAIS:
Conversão da base 10 para base b > 10 . . . . . . . . . . . . . . . . . . 6
2.6 SISTEMAS DE PONTO FLUTUANTE:
Erros de representação, Unidade de arredondamento, Overflow e Un-
derflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3 11
3.1 ARITMÉTICA EM SISTEMAS FP:
Cancelamento subtractivo . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2 FORMATO SIMPLES IEEE 754:
Erros de representação . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.3 FORMATO SIMPLES IEEE 754:
Erros de representação e Operações 0/0 e 1/0 . . . . . . . . . . . . . . 17
4 19
4.1 CONDICIONAMENTO DE UMA FUNÇÃO . . . . . . . . . . . . . . 19
4.2 CONDICIONAMENTO DE UMA FUNÇÃO E
CANCELAMENTO SUBTRACTIVO . . . . . . . . . . . . . . . . . . 20
4.3 INTERPOLAÇÃO POLINOMIAL:
Formas de Lagrange e Newton . . . . . . . . . . . . . . . . . . . . . . 22
4.4 INTERPOLAÇÃO POLINOMIAL:
Algoritmo de Horner . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
5 27
5.1 INTERPOLAÇÃO POLINOMIAL:
Máximos e mínimos locais, Pontos de inflexão . . . . . . . . . . . . . . 27
ii ÍNDICE
6 35
6.1 INTERPOLAÇÃO POLINOMIAL:
Spline quadrático . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
6.2 INTERPOLAÇÃO POLINOMIAL:
Spline cúbico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
6.3 INTERPOLAÇÃO POLINOMIAL:
Erros em splines cúbicos . . . . . . . . . . . . . . . . . . . . . . . . . . 41
7 43
7.1 DIFERENCIAÇÃO NUMÉRICA:
Diferenças finitas de primeira e segunda ordens . . . . . . . . . . . . . 43
7.2 DIFERENCIAÇÃO NUMÉRICA:
Majorante do erro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
7.3 DIFERENCIAÇÃO NUMÉRICA:
Espaçamento óptimo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
7.4 DIFERENCIAÇÃO NUMÉRICA:
Ponto de inflexão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
7.5 DIFERENCIAÇÃO NUMÉRICA:
Espaçamento desigual . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
8 57
8.1 INTEGRAÇÃO NUMÉRICA:
Regras do trapézio simples e de Simpson simples e composta . . . . . 57
8.2 INTEGRAÇÃO NUMÉRICA:
Regra de Gauss-Legendre e de Gauss-Legendre-Lobatto . . . . . . . . 60
8.3 INTEGRAÇÃO NUMÉRICA:
Regras de Gauss-Legendre e do trapézio composta . . . . . . . . . . . 61
9 65
9.1 INTEGRAÇÃO NUMÉRICA:
Dedução e grau de regras de integração . . . . . . . . . . . . . . . . . 65
9.2 INTEGRAÇÃO NUMÉRICA:
Regra do trapézio corrigida . . . . . . . . . . . . . . . . . . . . . . . . 66
9.3 INTEGRAÇÃO NUMÉRICA:
Regra de Simpson adaptativa iterativa . . . . . . . . . . . . . . . . . . 68
10 75
10.1 DETERMINAÇÃO DE ZEROS DE EQUAÇÕES NÃO-LINEARES:
Métodos da Bissecção, Falsa Posição e Secante . . . . . . . . . . . . . 75
10.2 EQUAÇÕES NÃO-LINEARES:
Método da Bissecção e zeros múltiplos . . . . . . . . . . . . . . . . . . 79
ÍNDICE iii
11 83
11.1 EQUAÇÕES NÃO-LINEARES:
Natureza e localização de zeros de polinómios (metodologia) . . . . . . 83
11.2 EQUAÇÕES NÃO-LINEARES:
Método de Newton-Raphson . . . . . . . . . . . . . . . . . . . . . . . . 86
11.3 EQUAÇÕES NÃO-LINEARES:
Método do Ponto Fixo. Localização de zeros de polinómios e aceleração
de Aitken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
12 95
12.1 SISTEMAS DE EQUAÇÕES LINEARES:
Método de Gauss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
12.2 SISTEMAS DE EQUAÇÕES LINEARES:
Método de Gauss com escolha de pivot total . . . . . . . . . . . . . . . 97
12.3 SISTEMAS DE EQUAÇÕES LINEARES:
Método de Gauss com escolha de pivot parcial . . . . . . . . . . . . . 101
13 107
13.1 SISTEMAS DE EQUAÇÕES LINEARES:
Métodos de Doolittle e Crout. Factorização LU . . . . . . . . . . . . . 107
13.2 SISTEMAS DE EQUAÇÕES LINEARES:
Factorização LU. Cálculo do determinante . . . . . . . . . . . . . . . 111
13.3 SISTEMAS DE EQUAÇÕES LINEARES:
Método de Choleski e factorização LDLT . . . . . . . . . . . . . . . . 113
13.4 SISTEMAS DE EQUAÇÕES LINEARES:
Método de Doolittle. Inversa, determinante e número de condição . . . 115
REFERÊNCIAS 119
TERMINOLOGIA
√
x ≡ x1/2 Raiz quadrada de x sqrt(x)
CONCEITOS TEÓRICOS
Números inteiros positivos: Conversão da base b ≥ 2 para a base 10† (exp. (1.2.2),
p. 4, [Pina(1995)]):
RESOLUÇÃO
a)
d0
¸ 2 = 1 × 25 + 0 × 24 + 1 × 23 + 1 × 22 + 0 × 21 + 1 × 20
(101101)
= 32 + 8 + 4 + 1 = (45)10 = 45
(221)3 = 2 × 32 + 2 × 31 + 1 × 30 = 25
† Para representar os inteiros de 0 a 10 necessitamos de quantos bits? Necessitamos de 4 bits ou
a) (101001)2 ; b) (1000111)2
CONCEITOS TEÓRICOS
Números inteiros positivos: Conversão da base 10 para a base b > 2 (p. 5,
[Pina(1995)]):
dn bn + dn−1 bn−1 + · · · + d1 b + d0 d0
= dn bn−1 + dn−1 bn−2 + · · · + d1 +
b b
RESOLUÇÃO
a) Apresentamos duas resoluções alternativas:
Resolução 1:
Converter da base 2 para a base 10 e posteriormente para a base octal, ou seja,
(101001)2 → ( )10 → ( )8 .
( )2 → ( )10 :
Aplicamos a exp. (1.2.2), p. 4, [Pina(1995)], pelo que (101001)2 = (41)10 = 41.
( )10 → ( )8 :
(101001)2 = 41 = (51)8 , pois efectuamos as divisões (inteiras) e tomamos os restos
na ordem inversa:
41 |8
1 5 |8
5 0
Resolução 2:
Converter da base 2 para a base 2n , com n ≥ 2 e inteiro, através de agrupamentos
de n dígitos. Neste caso n = 3, pois na base 8 temos os dígitos 0, 1, 2, . . . , 6, 7, que
se representam na base 2 como (000)2 , (001)2 , (010)2 , . . . , (110)2 , (111)2 , respectiva-
mente. Por outras palavras, necessitamos de 3 bits para representar os algarismos 0
a 7. Esquematicamente temos
(101001)2 → ( )8 .
EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL 3
71 |8
7 8 |8
0 1 |8
1 0
(1000111)2 = (107)8
Resolução 2:
(001 | 000 | 111)2 → (20 | 0 | 22 + 21 + 20 )8 → (1 | 0 | 7)8 ,
ou seja (101001)2 = (107)8 ¥
CONCEITOS TEÓRICOS
Números reais: Conversão da base 10 para a base b (p. 7, [Pina(1995)]):
Para converter um real da base 10 para a base b procede-se segundo 4 passos:
i) Separar a parte inteira da parte não-inteira;
ii) Converter a parte inteira;
iii) Converter parte não-inteira, multiplicando sucessivamente por b, usando a
componente não-inteira do resultado para continuar e guardando a parte inteira para
a representação;
iv) Reunir as duas partes. ¤
RESOLUÇÃO
Aplicando os conceitos teóricos acima, teremos
i) Parte inteira: 0; Parte não-inteira: .5
ii) Converter a parte inteira: (0)10 = (0)2
iii) Converter parte não-inteira:
0.5 × 2 = 1.0 −→ 1
0.0 × 2 = 0.
1
Portanto, obtemos (.1)2 como representação de (0.5)10 = 2
iv) Reunindo vem (0.5)10 = (0)2 + (.1)2 = (.1)2
¥
0 −1 1
Facilmente de verifica que (0.1)2 = 0 × 2 + 1 × 2 = 2 = (0.5)10 ¡
4 SEMANA 2
Dado o número real 437.125 na base octal, determine a sua representação binária com
7 dígitos após a vírgula.
CONCEITOS TEÓRICOS
sendo (dn dn−1 . . . d1 d0 )b e (d−1 d−2 . . . d−k )b os dígitos das parte inteira e não-inteira
do número, respectivamente. ¤
RESOLUÇÃO
Resolução 1:
(437.125)8 → ( )10 → ( )2
(437.125)8 ≈ 287.1660156.
287 | 2
1 143 |2
1 71 | 2
1 35 | 2
1 17 | 2
1 8 | 2
0 4 | 2
0 2 | 2
0 1 | 2
1 0
287 = (100011111)2
0.1660156 × 2 = 0.3320312 −→ 0
0.3320312 × 2 = 0.6640624 −→ 0
0.6640624 × 2 = 1.3281248 −→ 1
0.3281248 × 2 = 0.6562496 −→ 0
0.6562496 × 2 = 1.3124992 −→ 1
0.3124992 × 2 = 0.6249984 −→ 0
0.6249984 × 2 = · · ·
iv)
CONCEITOS TEÓRICOS
Quando a base é tal que b > 10, há que recorrer a outros símbolos para represen-
tar os dígitos 10, 11, 12, . . . Uma possibilidade é recorrer às letras do alfabeto latino
A, B, C, . . .
No caso da base hexadecimal ou base 16, resulta, 0, 1, . . . , 9, A, B, C, D, E, F , cor-
respondendo as letras aos dígitos
A = 10, B = 11, C = 12, D = 13, E = 14, F = 15. ¤
Após esta ressalva, a conversão da base 10 para a base b > 10 processa-se segundo
os quatro passos referidos nos Conceitos Teóricos do Exercício 2.3.
RESOLUÇÃO
Esquematicamente
(539.125)10 → ( )16
539 |16
59 33 |16
11 1 2 |16
2 0
539 = (21B)16
0.125 × 16 = 2.0 −→ 2
0.000 × 16 = 0.0 −→ 0
(0.125)10 = (0.2)16
(539.125)10 = (21B.2)16
CONCEITOS TEÓRICOS
Um sistema F P (b, p, q) é constituído por todos os números reais x da forma
([Pina(1995)], pp. 9-10)
−1 −p
b 6m61−b
x = ±mbt em que
|t| 6 bq − 1
e ainda x = 0.
Portanto,
¤
8 SEMANA 2
RESOLUÇÃO
x = −(.327258)10+3
fl(−327.258) = −(.32725)10+03 em F P (10, 5, 2, T )
(0.99999)10+99 em F P (10, 5, 2, T )
(0.10000)10−99 em F P (10, 5, 2, T )
x̃ − x
e= ,
x
EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL 9
¯ ¯
¯ −(0.32725)103 −(−327.258) ¯
¯ −327.258 ¯ = (.24446)10−6 < (0.10000)10−3 em F P (10, 5, 2, T )
¥
3
x2 + 0.7341x + (0.600)10−4 = 0
CONCEITOS TEÓRICOS
As operações aritméticas no sistema de ponto flutuante FP desenvolvem-se de
acordo com os seguintes passos (DAONA):‡
1. Decomposição dos operandos nas respectivas mantissas e expoentes: (mbt );
2. Alinhamento das mantissas, no caso de soma ou subtracção. Por exemplo, para
t1 > t 2
dígitos de guarda.
‡ Em geral, as operações em FP não respeitam as propriedades comutativa, distributiva ou asso-
ciativa.
12 SEMANA 3
RESOLUÇÃO
a) Sabemos que
√
2 −b ± b2 − 4ac
ax + bx + c = 0 ⇔ x1,2 =
2a
fl(b) = (.7341)100
* Truncar
fl(b2 ) = (.7341 × .7341) × (100 × 100 ) = (.5389028)10 0
= (.5389)100
fl(c) = (.6000)10−4
fl(4) = (.4000)10+1
fl(2) = (.2000)10+1
fl(4c) = (.4000 × .6000) × (10−4 × 10+1 ) = (.2400)10−3
³p ´
: Truncar
fl b2 − 4c = [(.5387)100 ]1/2 = (.7339618519)100 = (.7339)100
√ √
No cálculo de b2 − 4c assumimos que x = x1/2 é uma função implementada,
não sendo necessário decompô-la em funções elementares.
à √ !
−b − b2 − 4c −(.1468)101
fl = = −(.7340)100 = fl(x1 )
2 (.2000)101
EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL 13
à √ ! Normalizar
−b + b2 − 4c −(.2000)10−3 º −4 = −(.1000)10−3 = fl(x2 )
fl = = −(1.)|10
2 (.2000)101
x1 = −(0.73402)100 ∨ x2 = −(0.81742)10−4
¯ ¯
|Ex2 | = ¯−(0.1000)10−3 − [−(0.81742)10−4 ]¯ = (0.18258)10−4 ,
¯ ¯ ¯ ¯
¯ Ex1 ¯ ¯ (0.2000)10−4 ¯
¯
|ex1 | = ¯ ¯ = ¯ ¯ = (0.27247)10−4
x1 ¯ ¯ −(0.73402)100 ¯
¯ ¯ ¯ ¯
¯ Ex ¯ ¯ (0.18258)10−4 ¯
|ex2 | = ¯¯ 2 ¯¯ = ¯¯ ¯ = (0.22336)100 ≡ 22.3%.
x2 −(0.81742)10−4 ¯
Apesar dos erros absolutos serem praticamente iguais, verificamos que o mesmo
não acontece com o erro relativo. A segunda raiz apresenta um erro relativo superior
em quatro ordens de grandeza ao correspondente erro da primeira raiz.
= −(.2000)10−3
14 SEMANA 3
= −(0.16348)10−3
Dividindo este número por 2 obteríamos um valor mais próximo do valor exacto.
Portanto, a origem do problema no cálculo de x2 foi o cancelamento subtrac-
tivo, que se verifica quando subtraímos números muito próximos em FP.
Como contornar o problema? Sabendo nós que o problema é a subtracção, o que
há a fazer é evitá-la. Existem duas alternativas:
e concluímos que
c
c = ax1 x2 ⇔ x2 = .
ax1
CONCEITOS TEÓRICOS
Na norma IEEE 754 a mantissa é normalizada, ou seja, o primeiro bit é sempre 1
e diz-se implícito.
O expoente é enviesado, isto é, é dado por e − 127.
EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL 15
Se m = 0 → NaN
Se m 6= 0 → +INF
RESOLUÇÃO
a) Esquematicamente
512 = (1000000000)2
0.15 × 2 = 0.30 −→ 0
0.30 × 2 = 0.60 −→ 0
0.60 × 2 = 1.20 −→ 1|
0.20 × 2 = 0.40 −→ 0|
0.40 × 2 = 0.80 −→ 0|
0.80 × 2 = 1.60 −→ 1|
0.60 × 2 = 1.20 −→ 1
···
16 SEMANA 3
Assim,
: Truncar
512.15 = (1.000 000 000 00 1001 1001 1001 1001 . . .)2 × 29
= (1.000 000 000 00 1001 1001 1001)2 × 29
e − 127 = 9 ⇔ e = 136
136 | 2
0 68 |2
0 34 | 2
0 17 | 2
1 8 | 2
0 4 | 2
0 2 | 2
0 1 | 2
1 0
136 = (10001000)2
Temos então a seguinte alocação dos 32 bits, no formato simples IEEE 754:
0 10001000 00000000000100110011001
Sinal Expoente Mantissa
1 bit 8 bits 23 bits
(512.15) = (1.000 000 000 00 1001 1001 1001 |1001 1001 1001 1001 . . .)2 × 29
Portanto,
10−32 tem representação aproximada no formato simples IEEE 754, dado que
10+42 não tem representação aproximada no formato simples IEEE 754, originando
overflow, pois
RESOLUÇÃO
† O expoente t refere-se à representação em FP. Não esquecer que o formato IEEE 754 considerado
tem um bit implícito, o que não acontece em FP. Por essa razão o expoente é 10 e não 9.
18 SEMANA 3
0.1 × 2 = 0.2 −→ 0
0.2 × 2 = 0.4 −→ 0|
0.4 × 2 = 0.8 −→ 0|
0.8 × 2 = 1.6 −→ 1|
0.6 × 2 = 1.2 −→ 1|
0.2 × 2 = 0.4 −→ 0
···
b)
7
+26 +...21 +20 −127)
Limite de overflow : (20 + 2−1 + . . . + 2−23 ) × 2(2
= (2 − u) × 2127 ≈ 2128 = (3.402823)10+38
Inf ¡
4
CONCEITOS TEÓRICOS
Número de condição da função f (x): Para analisar em aritmética de Ponto Flu-
tuante a influência do erro de representação do argumento x no cálculo de uma dada
função f (x), a Análise de Erros Directa pode não ser a mais adequada. A alternativa
é uma Análise de Erros Indirecta, a qual fornece uma indicação do factor de ampli-
ficação dos erros relativos baseada no número de condição de uma função num dado
ponto.
Considerando que x sofre um erro de representação, o argumento utilizado no
cálculo será x̃ e o erro de representação (erro absoluto) será E = x̃ − x. Do teorema
do valor médio, e dado que x e x̃ podem considerar-se suficientemente próximos e f
suficientemente regular, obtém-se a seguinte relação:
¯ ¯ ¯ ¯ ¯ ¯
¯ f (x̃) − f (x) ¯ ¯ f 0 (x) × x ¯ ¯ x̃ − x ¯
¯ ¯≈¯ ¯×¯ ¯
¯ f (x) ¯ ¯ f (x) ¯ ¯ x ¯
ef ≈ condf (x) × ex ,
20 SEMANA 4
1 1−p 1
u= b = 21−24 ≈ (0.6) 10−7 .
2 2
RESOLUÇÃO
¯ 0 ¯ ¯ ¡ ¢ ¯
¯ f (x) × x ¯ ¯¯ 2 × x × 1 + tg2 (x2 ) × x ¯¯
condf (x) = ¯¯ ¯=¯ ¯
f (x) ¯ ¯ tg(x2 ) ¯
A função é bem condicionada em torno da origem, pois os erros são apenas ampli-
ados para o dobro.
Por exemplo, em precisão simples — onde o majorante do erro relativo de repre-
sentação de x é de aproximadamente u = (0.6)10−7 — o erro relativo no cálculo da
função em F P será cerca de (1.2)10−7 , ou seja, aproximadamente 0.000012%. ¥
RESOLUÇÃO
a) A aplicação directa da expressão origina uma indeterminação que se pode levan-
tar aplicando sucessivamente a regra de L’Hôpital-Cauchy, em três aplicações. Uma
alternativa é utilizar a expansão em série
¯ ³h i ´ ¯
¯ 0 ¯ ¯ ¯ ¯ 1 − x2 + O ¡x4 ¢ − 1 x ¯
¯ f (x) x ¯ ¯ (cos (x) − 1) x ¯ ¯ 2! ¯
cond (f ) = ¯¯ ¯=¯ ¯=¯ £ ¤ ¯
f (x) ¯ ¯ sin (x) − x ¯ ¯¯ x − 3! + O (x ) − x ¯¯
x3 5
¯ 3 ¯ ¯ ¯
¯ x + O ¡x5 ¢ ¯ ¯ 1 + O ¡x2 ¢ ¯ 1
¯ 2! ¯ ¯2 ¯ 2
= ¯ x3 ¯ =¯1 ¯ ≈ 1 =3
¯ + O (x5 ) ¯ ¯ 6 + O (x2 ) ¯ 6
3!
A função é bem condicionada em torno da origem pois os erros são apenas ampli-
ados para o triplo. Por exemplo, em precisão simples — onde o majorante do erro
relativo de representação de x é de u = (0.6)10−7 — o erro relativo no cálculo da
função em FP será cerca de (1.8)10−7 , ou seja, aproximadamente 0.000018%.
:×Truncar
fl(sin(x)) = sin(0.100 × 10−01 ) = 0.9999833 10−02 = +(0.999)10−02
Alinhar
fl(sin(x) − x) = 0.999 × 10−02 − 0.100 × 10−01 = (0.099 − 0.100)º × 10−01
= −0.001 × 10−01
= −(0.100)10−03
pelo que
¯ ¯
¯ E ¯
|e| = ¯¯ ¯ = 0.000099834/(0.16666 × 10−06 ) = 599.03 ≡ 59903%
f (10 ) ¯
−2
· ¸
x3 x5 ¡ ¢ x3
sin (x) − x = x − + − O x7 − x ≈ −
3! 5! 6
Determine o polinómio interpolador dos valores (0, 1); (1, 3) e (2, 2).
a) Na forma de Lagrange.
b) Na forma de Newton com centros nos nós.
RESOLUÇÃO
a) Na forma de Lagrange este polinómio obtém-se como se segue:
n é o número de pontos, ou nós, menos 1, ou seja o grau do polinómio (desde que
os pontos (xk , yk ) dados não sejam colineares).
n
X n
Y x − xi
pn (x) = Lk (x) yk com Lk =
xk − xi
k=0 i=0 i6=k
µ ¶µ ¶
x − x1 x − x2 x−1 x−2
L0 = =
x0 − x1 x0 − x2 −1 −2
x − x0 x − x2
L1 = = −x (x − 2)
x1 − x0 x1 − x2
x − x0 x − x1 x
L2 = = (x − 1)
x2 − x0 x2 − x1 2
EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL 23
Obtemos:
p2 (x) = L0 y0 + L1 y1 + L2 y2
(x − 1) (x − 2)
p2 (x) = − 3x (x − 2) + x (x − 1)
2
3.5
p(x)
3
2.5
1.5
L0 (x)
L1 (x)
1 L2 (x)
0.5
−0.5
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
com
3
p2 (x) = 1 + 2x − x(x − 1)
2
3 p(x)
2
2x
1
1
0
− 23 x(x − 1)
−1
−2
−3
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
ALGORITMOS
Cálculo do valor do polinómio num dado ponto x através de 3 algoritmos distintos
RESOLUÇÃO
a) O polinómio interpolador na forma de Newton determina-se recorrendo à tabela
de diferenças divididas
1
p3 (x) = −1 + 2x + x(x − 1) − x(x − 1)(x − 2)
2
n
X n
Y x − xi
pn (x) = Lk (x) yk com Lk =
xk − xi
k=0 i=0 i6=k
26 SEMANA 4
pelo que
µ ¶µ ¶µ ¶
x−1 x−2 x−3
L0 =
−1 −2 −3
x
L1 = (x − 2)(x − 3)
2
x
L2 = − (x − 1) (x − 3)
2
x
L3 = (x − 1) (x − 2)
6
obtendo-se
(x − 1)(x − 2)(x − 3) x
p3 (x) = + (x − 2)(x − 3)
6 2
x
− 2x(x − 1)(x − 3) + (x − 1)(x − 2)
3
1
p3 (x) = −1 + 2x + x (x − 1) − x (x − 1) (x − 2)
2
p = a3 = −1
p = a2 + p(x − C3 ) = (1/2) + (−1)(4 − 2) = −(3/2)
p = a1 + p(x − C2 ) = 2 − (3/2)(4 − 1) = −(5/2)
p = a0 + p(x − C1 ) = −1 − (5/2)(4 − 0) = −11
x 0 1 3 4
y −21 5 −15 35
RESOLUÇÃO
a) As aproximações são aqui obtidas por interpolação polinomial na forma de
Newton, com centros nos nós.
obtendo-se o polinómio:
p3 (x) = 5−10(x−1)+20(x−1)(x−3)+8(x−1)(x−3)(x−4), que após expansão na
forma de potências simples fica p3 (x) = −21 + 62x − 44x2 + 8x3 . Como esperávamos,
o polinómio é o mesmo.
Podemos verificar rapidamente que as condições de interpolação são verificadas
para o polinómio obtido, pois, por exemplo, p3 (0) = −21 e p3 (1) = 70 − 65 = 5.
40
30
20
10
−10
−20
−30
0 0.5 1 1.5 2 2.5 3 3.5 4
O ponto de inflexão é:
Como p3 é de grau 3 e p003 é negativa para x < 1.8333 e positiva para x > 1.8333
então 0.95142 corresponde a um máximo local e 2.7152 a um mínimo local.
Ler/Introduzir valor de n, a0 , a1 , . . ., an , c1 , . . ., cn
0
Inicializar an = an
Ciclo de i = n - 1 até 0
0 0
ai = ai + ai+1 × (c - c i+1 ) (2 flops soma + 1 flop produto)
Repetir ciclo
0
Escrever a
Introdução do centro c = 1 (n = 3)
a3 = 8 a03 = 8
a2 = −32 c3 = 0 c=1 −32 + 8 × (1 − 0) a02 = −24
a1 = +14 c2 = 0 c=1 +14 − 24 × (1 − 0) a01 = −10
a0 = 0 c1 = 3/2 c = 1 0 − 10 × (1 − 3/2) a00 = 5
p3 (x) = 5 − 10(x − 1) − 24(x − 1)(x − 3/2) + 8(x − 1)(x − 3/2)(x − 0)
Utilizamos, então, estes pontos para construir a nova representação, usando como
ponto auxiliar x = 3:
RESOLUÇÃO
a) Interpolar com valores de f e f 0 em cada nó corresponde à interpolação de
Hermite, a qual se obtém aplicando as expressões do Exemplo 2.6.1, pp. 71–72 de
[Pina(1995)], [U0 , U1 , V0 e V1 ] com f (0) = 0, f (1) = ln(2), f 0 (0) = 1 e f 0 (1) = 1/2.
Contudo, podemos também utilizar a tabela de diferenças divididas com a técnica
de nós múltiplos. De facto, da definição de diferença dividida podemos constatar que
f 00 (x0 )
f [x0 , x0 , x0 ] = .
2!
· ¸
3
p3 (x) = x + [ln(2) − 1] x2 + − 2 ln(2) x2 (x − 1)
2
0.7 1
0.95
0.6
0.9
0.5
0.85
0.8
0.4
0.75
0.3
0.7
0.2 0.65
0.6
0.1
0.55
0 0.5
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
1
en (x) ≡ f (x) − pn (x) = f (n+1) (ξ) Wn (x)
(n + 1)!
Com base neste Teorema obtemos o majorante do erro dado por (2.4.3):
1
ken k∞ ≤ kf (n+1) k∞ kWn k∞
(n + 1)!
1 1 6 3
ken k∞ ≤ kf (n+1) k∞ hn+1 = 6×1= = = 0.3750,
4 (n + 1) 4 (3 + 1) 16 8
não deve ser utilizada quando se pede um majorante, porque, tratando-se de uma
interpolação da função e da derivada, i.e., uma interpolação de Hermite, considera-se
o número de pontos apenas 2, logo n = 1, e o grau do polinómio é 2n + 1, podendo
mostrar-se que o erro é dado, neste caso, por (p. 73, [Pina(1995)]):
EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL 33
pois
f (x) = ln(1 + x)
f 0 (x) = (1 + x)−1
..
.
f (iv) = −6(1 + x)−4
° °
sendo °f (iv) ° monótona decrescente em [−1, +∞] e, logo, no intervalo [0, 1] tem má-
ximo em x = 0. ¥
RESOLUÇÃO
1 (k)
f [x0 , x1 , ..., xk ] = f (ξ) ,
k!
verificamos que
f 00 (x0 )
f [x0 , x0 , x0 ] = .
2!
5
p4 (x) = 2 + (x − 1)2 − (x − 1)3 + (x − 1)3 (x − 2) ¥
8
2.8
2.6
2.4
2.2
1.8
1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6 2.8 3
14
4.5
4 12
3.5
10
8
2.5
2 6
1.5
4
1
2
0.5
0
0
−0.5 −2
1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6 2.8 3 1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6 2.8 3
CONCEITOS TEÓRICOS
Os splines correspondem a aproximações de funções por troços.† No caso de
um spline quadrático esta aproximação é obtida entre cada dois pontos consecutivos
através da expressão para cada subintervalo ou, mais prosaicamente, troço (Exp.
(2.7.3), p. 80, [Pina(1995)]):
Mi
Si (x) = yi−1 + mi−1 (x − xi−1 ) + 2 (x − xi−1 )2
mi −mi−1
Mi =
hi
x ∈ [xi−1 , xi ], i = 1, 2, . . . , n
hi = xi − xi−1
³ ´
mi = 2 yi−1 −yi − mi−1
hi
RESOLUÇÃO
Construção do spline:
Neste caso, f é contínua e continuamente diferenciável.
Uma malha uniforme, isto é, nós igualmente espaçados, com quatro pontos no
intervalo [0, 1] terá os nós 0, 1/3, 2/3 e 1.
1
1 0 0 3 0.5 1.5708 1.4292 −0.42478
1 2
2 3 0.5 3 0.86602 1.4292 0.76695 −1.9868
2
3 3 0.86602 1 1 0.76695 0.036899 −2.1901
−0.42478
x ∈ [0, 1/3] : S1 = 0 + 1.5708(x − 0) + (x − 0)2
2
= 1.5708x − 0.2124x2
µ ¶ µ ¶2
1 −1.9868 1
x ∈ [1/3, 2/3] : S2 = 0.5 + 1.4292 x − + x−
3 2 3
µ ¶ µ ¶2
1 1
= 0.5 + 1.4292 x − − 0.99340 x −
3 3
µ ¶ µ ¶2
2 −2.1901 2
x ∈ [2/3, 1] : S3 = 0.86602 + 0.76695 x − + x−
3 2 3
µ ¶ µ ¶2
2 2
= 0.86602 + 0.76695 x − − 1.0950 x −
3 3
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
ou seja, 1.14%.
ou seja, 13.9%.
f (x) e S(x) são praticamente coincidentes.
Justifica-se um erro maior em S 00 (0.5) do que em S 0 (0.5), porque nos splines
quadráticos S 0 (x) é linear e S 00 (x) é constante por troços (Ver Figura 6.1.2).
1.6 2
1.4 1.5
1
1.2
0.5
1
0
0.8
−0.5
0.6
−1
0.4
−1.5
0.2
−2
0 −2.5
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
CONCEITOS TEÓRICOS
Os splines correspondem a aproximações de funções por troços.† No caso de um
spline cúbico esta aproximação é obtida entre cada dois pontos consecutivos através
da expressão para cada subintervalo ou, mais prosaicamente, troço (Exp. (2.7.10),
† Para uma definição mais rigorosa de splines ver p. 77 de [Pina(1995)].
38 SEMANA 6
p. 82, [Pina(1995)]):
−x)3 3
Si (x) = Mi−1 (xi6h + Mi (x−x i−1 )
+
i 6h i
³ ´
h2i xi −x
yi−1 − M i−1 hi +
6
³ ´
y − M
h2i x−xi−1
i i 6 hi
x ∈ [xi−1 , xi ], i = 1, 2, . . . , n
hi = xi − xi−1
Mi = Si00 (xi ) = S 00 (xi )
RESOLUÇÃO
Construção do spline:
Neste caso vamos recorrer ao spline natural, n = 4 e hi = h = 0.5. Como o
espaçamento h é constante, a expressão simplifica-se e com i = 1, 2, 3, ficamos com:
M0 = 0
µ ¶
1 1 y2 − 2y1 + y0
M0 + 2M1 + M2 = 3
2 2 h2
µ ¶
1 1 y3 − 2y2 + y1
M1 + 2M2 + M3 = 3
2 2 h2
µ ¶
1 1 y4 − 2y3 + y2
M2 + 2M3 + M4 = 3
2 2 h2
M4 = 0
EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL 39
2 0.5 0 10.5
0 1.875 0.5 34.875
→
0 0 1.8667 73.2
M3 = 73.2/1.8667 = 39.214
M2 = (34.875 − 0.5M3 )/1.875 = 8.1429
M1 = (10.5 − 0.5M2 )/2 = 3.2143
† O leitor poderá consultar o Capítulo 12 referente a Sistemas de Equações Lineares para compre-
(x1 − x)3 (x − x0 )3
S1 (x) = M0 + M1 +
6h 6h
µ ¶
h2 x1 − x
y0 − M0 +
6 h
µ ¶
h2 x − x0
y1 − M1
6 h
(x − 0)3
= 0 + 3.2143 +
6 × 12
0.5 − x
(0 − 0) 1 +
2
µ ¶
( 12 )2 x−0
0.0625 − 3.2143 1 ,
6 2
ou seja,
16
14
12
10
−2
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
CONCEITOS TEÓRICOS
O cálculo de erros de interpolação com splines cúbicos tem por base o Teorema
2.7.4, p. 86, [Pina(1995)]:
5 ° °
° D 4 f ° h4
kf − Sk∞ 6 ∞
384
à !
√
3 1 ° °
°D4 f ° h3
kD(f − S)k∞ 6 + ∞
216 24
µ ¶
° 2 ° 1 1 ° °
°D (f − S)° 6 + (h/h) °D4 f °∞ h2
∞ 12 3
° 3 ° 1¡ ¢° °
°D (f − S)° 6 1 + (h/h)2 °D4 f °∞ h
∞ 2
em que
h = min hi ¤
16i6n
RESOLUÇÃO
O erro relativo em valor absoluto é tal que
¯ ¯
¯ f (x) − S(x) ¯ maj |f (x) − S(x)|
¯
|e(x)| = ¯ ¯6
f (x) ¯ min |f (x)|
5
max |exp(1
384 x∈[0,1] + x)| h4
⇔ 6 ² = 10−3
min |exp(1 + x)|
x∈[0,1]
5
exp(2)h4
⇔ 384
6 ² = 10−3 ,
exp(1)
¯ ¯
pois, ¯D4 f ¯ = exp(1 + x) é monótona crescente no intervalo [0, +∞] e, logo, tem um
mínimo em x = 0 e um máximo em x = 1 no intervalo [0, 1].
42 SEMANA 6
Assim, resulta
µ ¶1/4
10−3 exp(1)
h< 5
384 exp(2)
b−a 1−0
h < 0.40998 → h = = < 0.40998 → N > 2.43914,
N N
CONCEITOS TEÓRICOS
Consultar as Secções 3.2 e 3.3 de [Pina(1995)]. ¤
15
10
−5
−10
−15
−4 −3 −2 −1 0 1 2 3 4
RESOLUÇÃO
Valores exactos:
Para calcular a diferença finita regressiva de 2.a ordem precisamos de saber o valor
da função em x = 0, que neste caso é f (0) = cosh(0) = 1.
A Figura abaixo mostra as tangentes, isto é, polinómios de ordem um, dados pelas
diferenças finitas de primeira ordem.
EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL 45
1.1
1.08
1.06
P
C
1.04
1.02
R
0.98
0.96
Figura 7.1.2: Diferenças Finitas: (P) Progressiva, (R) regressiva e (C) central
A melhor aproximação foi obtida com a Diferença Finita Central, e com a Dife-
rença Regressiva de 2.a ordem, mas esta última requer um maior número de pontos e
inclusive um valor de f (x) que não está na tabela dada.
Para a segunda derivada, vamos considerar apenas a diferença finita central (ob-
viamente de segunda ordem).
f (x + h) − 2f (x) + f (x − h)
Dh2 f (x) =
h2
f (0.3) − 2f (0.2) + f (0.1) 1.0453 − 2 × 1.0201 + 1.005
= = = 1.0100,
0.12 0.12
ou seja, sendo o valor exacto y 00 (0.2) = 1.0201, esta aproximação dispõe de dois dígitos
correctos. ¥
Obtenha o valor de f 0 (1.0) para a função f (x) = exp(−x) usando diferenças finitas
progressivas e passo h = 0.001. Determine o erro efectivamente cometido e compare-o
com o majorante teórico.
CONCEITOS TEÓRICOS
RESOLUÇÃO
f (x + h) − f (x)
Dh f (x) =
h
f (1.001) − f (1.0) e−1.001 − e−1
= = = −0.3676956
0.001 0.001
1
e01 (x) = − hf 00 (ξ) em que ξ ∈ [x0 , x1 ] = Ω̄
2
1
|e01 (x)| 6 h kf 00 (x)k∞
2
Ω̄
kf 00 (x)k∞ = f 00 (1.0) = f (1.0) = 0.367879
1
|e01 (1.0)| 6 × 0.001 × 0.367879 = (1.839)10−4
2
† Utiliza-se para o erro de interpolação a letra minúscula e de forma a manter a coerência com a
nomenclatura utilizada no livro de [Pina(1995)]. Note-se no entanto que se trata de um erro absoluto
e por isso deveríamos utilizar uma letra maiúscula.
EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL 47
4.5
3.5
2.5
1.5
0.5
0
−1.5 −1 −0.5 0 0.5 1 1.5
t 0 1/3 2/3 1
y(t) 0 sen(π/6) sen(π/3) 1
RESOLUÇÃO
a) Antes de mais, devemos observar que h = 1/3 e que os 2 pontos interiores são
t = 1/3 e t = 2/3.
Expressão para cálculo das velocidades por diferenças finitas centrais (p. 101, exp.
(3.2.12)):
f (x + h) − f (x − h)
Dh f (x) =
2h
Expressão para cálculo das acelerações por diferenças finitas centrais (p. 103, exp.
(3.3.1)):
f (x − h) − 2f (x) + f (x + h)
Dh2 f (x) =
h2
48 SEMANA 7
O valor exacto da segunda derivada f 00 (x) relaciona-se com o valor por diferenças
finitas centrais e o erro de aproximação, e002 (x), inerente ao cálculo por este processo,
do seguinte modo:
f (x − h) − 2f (h) + f (x + h) 1
f 00 (x) = 2
− h2 f (4) (η)
h 12
f (x − h) − 2f (h) + f (x + h)
= − e002 (x)
h2
onde
Considerando
° °
° (4) °
°f ° 6 M4 e |ẽ(x − h) − 2ẽ(h) + ẽ(x + h)| 6 4²
∞
4² M 4 h2
|E| 6 2
+
h 12
RESOLUÇÃO
Podemos considerar os seguintes processos para resolver o problema:
i) Determinar o polinómio interpolador e depois derivar analiticamente;
ii) Determinar as derivadas aproximadas Dh2 f (x) pela tabela e interpolar os valores
obtidos;
iii) Determinar os splines, seguido de derivação analítica.
Em qualquer dos casos obtemos uma equação polinomial a solucionar. De notar
que existem outros processos, igualmente válidos para resolver este problema.
Processo i:
Esquematicamente temos
O polinómio é então
Portanto, o ponto de inflexão no intervalo [0, 1], obtido por este processo, é
x ≈ 0.40805.
Processo ii:
Esquematicamente temos
f (x − h) − 2f (x) + f (x + h)
Dh2 f (x) = tal que h = 0.25. Assim, obtemos
h2
Portanto, o ponto de inflexão no intervalo [0, 1], obtido por este processo, é
x ≈ 0.39196.
Processo iii:
Esquematicamente temos
Reparar que não necessitamos de determinar o próprio spline cúbico Si (x), bas-
tando, para o que pretendemos, calcular Si00 (x).
Dado que desconhecemos as derivadas y 0 nos extremos x0 e x4 , temos M0 = M4 =
0, isto é, impomos S100 (x0 ) = 0 = M0 e S400 (x4 ) = 0 = M4 .†
Para determinar M1 , M3 e M3 faz-se
1 1 3
Mi−1 + 2Mi + Mi+1 = 2 (yi+1 − 2yi + yi−1 ) com i = 1, 2, 3
2 2 h
Dado que Si00 = Mi , é de esperar que o ponto de inflexão esteja no segundo troço,
pois M2 e M3 têm sinais diferentes.
Então, como a segunda derivada do i-ésimo troço de spline é tal que (Exp. (2.7.7),
p. 81, [Pina(1995)])
xi − x x − xi−1
Si00 (x) = Mi−1 + Mi
h h
x2 − x x − x1
S200 (x) = M1 + M2
h h
0.50 − x x − 0.25
= −9.9428 + 1.3714
0.25 0.25
0.50 − x x − 0.25
S200 (x) = 0 ⇔ −9.9428 + 1.3714 = 0 ⇔ x = 0.469697.
0.25 0.25
Portanto, o ponto de inflexão no intervalo [0, 1], obtido por este processo, é
x ≈ 0.46970.
5 4.5
4 4
3.5
3
3
2
2.5
1
0
1.5
−1
1
−2
0.5
−3 0
−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
(a) (b)
Figura 7.4.1: Polinómio de quarta ordem obtido pelo processo i
O resultado com o processo iii não será o melhor, dado que impusemos um va-
lor nulo às segundas derivadas nas extremidades do intervalo (Si00 (0) = 0 = M0 e
Si00 (1) = 0 = M4 ).
70
60
50
40
Processo ii
30
Processo i
20
10
Processo iii
−10
−20
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Figura 7.4.2: Polinómios obtidos por derivação analítica (Processos i e ii) e por
spline cúbico natural (Processo iii) )
3.5
3
Processo iii
2.5
Processo i
1.5
0.5
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Figura 7.4.3: Polinómios de quarta ordem (Processo i) e spline cúbico (Processo iii)
¥
† Relembramos que não é necessário construir o spline para calcular o ponto de inflexão.
54 SEMANA 7
Dados 3 pontos, (x1 , y1 ), (x2 , y2 ), (x3 , y3 ), com espaçamento desigual entre as suas
abcissas, deduza uma fórmula para calcular uma aproximação da segunda derivada
num ponto qualquer do intervalo [x1 , x3 ]. Considerando os pontos (1, 1), (2, 4), (5, 5),
utilize a fórmula para calcular y 00 (2) e y 00 (3).
Em qual dos pontos, x2 ou (x1 + x3 )/2, é de esperar um erro absoluto menor?
Justifique (admita que as derivadas de y = f (x) se mantêm na mesma ordem de
grandeza em [x1 , x3 ]).
RESOLUÇÃO
Pretendemos deduzir uma fórmula para calcular Dh2 f ≈ f 00 (x) = y 00 .
De entre as várias possibilidades, a dedução da diferença finita com espaçamento
desigual é a mais simples. De notar que o recurso a splines não é o mais adequado, pois
não se conhece a função e estes requerem o conhecimento de m0 (splines quadráticos)
ou M0 e Mn (splines cúbicos). Assim,
f [x1 , x2 ] − f [x2 , x3 ]
Dh2 = p002 (x) = 2f [x1 , x2 , x3 ] = 2
x1 − x3
f (x1 )−f (x2 ) f (x2 )−f (x3 )
x1 −x2 − x2 −x3
=2
x1 − x3
1−4
− 4−5 4
f 00 (2) ≡ f 00 (3) ≈ 2 1−2 2−5 = −
1−5 3
onde, usando
f (k) (ξ)
f [x1 , x2 , x3 , . . . , xk ] =
k!
vem
f (5) (r)
e002 = W2 (x)
120
f (4) (ξ) 0
+ W2 (x)
12
f (3) (η) 00
+ W2 (x)
6
EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL 55
onde
RESOLUÇÃO
(a) As regras referidas correspondem, respectivamente, às expressões (4.2.6) e
(4.2.7), p. 120, de [Pina(1995)]:
T b−a
Ih (f ) = [f (a) + f (b)]
2 · ¸
S b−a a+b
Ih (f ) = f (a) + 4f ( ) + f (b)
6 2
T 3−2
Ih (f ) = [f (2) + f (3)] = 1.401495675
2 · ¸
S 3−2 2+3
Ih (f ) = f (2) + 4f ( ) + f (3) = 1.280503052
6 2
(b)
58 SEMANA 8
onde h = (b − a)/N .
No caso presente, como N = 2 teremos
Sc h
Ih (f ) = [f (a) + f (b) + 2f (a1 ) + 4(f (a0 + h/2) + f (a1 + h/2))]
6
Sc 0.5
Ih (f ) = {f (2) + f (3) + 2f (2.5) + 4[f (2 + 0.5/2) + f (2.5 + 0.5/2)]}
6
0.5
= {f (2) + f (3) + 2f (2.5) + 4[f (2.25) + f (2.75)]}
6
= 1.279922906
Sc 2.5 − 2
Ih (f ) = [f (2) + 4f (2.25) + f (2.5)]
6
3 − 2.5
+ [f (2.5) + 4f (2.75) + f (3)] = 1.279922906
6
(c) Antes de mais, há que notar que se pretende uma estimativa, pois desconhe-
cemos o valor exacto do integral.
Os erros de integração das regras de Simpson simples e composta são dados, res-
pectivamente pelas expressões (4.2.18), p. 124 e (4.5.11), p. 138, de [Pina(1995)]:
S 1 (4)
Eh (f ) = − f (ξ)(b − a)5 = I − S Ih (f ) (8.1.1)
2880
Sc b − a (4) b−a
Eh (f ) = − f (ξ)h4 = I − Sc Ih (f ) onde h= (8.1.2)
2880 N
1 (4)
I − S Ih (f ) = − f (ξ)(b − a)5 = −c (8.1.4)
2880
1 1 (4) 5 1
I − Sc Ih (f ) = − 4 f (ξ) (b − a) = − c (8.1.5)
2 2880 16
ou seja,
µ ¶−1 µ ¶−1
1 £Sc ¤ 15 £Sc ¤
c= −1 Ih (f ) − S Ih (f ) = − Ih (f ) − S Ih (f )
16 16
16 £Sc ¤
=− Ih (f ) − S Ih (f ) (8.1.7)
15
2.5 2.5
2 2
1.5 1.5
1 1
0.5 0.5
0 0
2 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3 2 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3
† Admitimos que a estimativa de f (4) é válida em ambos os casos, sendo o máximo no intervalo
[2, 3].
60 SEMANA 8
RESOLUÇÃO
(a) Mudança de coordenadas (exp. (4.1.2), p. 116):
Então,
Z 2 Z 1 Z 1
I= sinh(x)dx = sinh(1 + ξ) × 1dξ = sinh(1 + ξ)dξ.
0 −1 −1
ξ1 = −0.5773502692, A1 = 1,
ξ1 = +0.5773502692, A2 = 1.
e, portanto
Z 2
I= sinh(x)dx ≈ A1 f (ξ1 ) + A2 f (ξ2 ) = 0.4353457822 + 2.317793457
0
= 2.753139239
(b) As regras de Gauss-Lobatto são tais que possuem os dois pontos dos extremos
do intervalo (p. 135, de [Pina(1995)]) e os restantes no interior:
n
X
Ih (f ) = Af (a) + Bf (b) + Ai f (xi )
i=1
Z 2
2−0
I= sinh(x)dx ≈ [f (0) + 4f (1) + f (2)]
0 6
1
= (0 + 4 × 1.175201194 + 3.626860408) = 2.775888395
3
Alínea a)
E = I(f ) − Ih (f ) = +0.009056452
E
e= = +3.2787 × 10−3
I(f )
Alínea b)
E = I(f ) − Ih (f ) = −0.013692704
E
e= = −4.9571 × 10−3
I(f )
RESOLUÇÃO
(a) Mudança de coordenadas (exp. (4.1.2), p. 116):
Então,
Z 2 Z 1 · ¸ Z · ¸
1 1 1 1 1
I= ln(x)dx = ln (3 + ξ) × dξ = ln (3 + ξ) dξ.
1 −1 2 2 2 −1 2
62 SEMANA 8
e, portanto
Z 2
I= ln(x)dx ≈ A1 f (ξ1 ) + A2 f (ξ2 )
1
½ · ¸ · ¸¾
1 1 p 1 p
= ln (3 − 1/3) + ln (3 + 1/3) = 0.3865949441
2 2 2
| — | — | — | — |
1.00 1.25 1.50 1.75 2.00
(c)
Um majorante do erro:
Alínea a)
Atendendo às expressões (4.4.9) e (4.4.10), p. 130, de [Pina(1995)], obtemos para
a regra de Gauss-Legendre com 2 pontos (n = 2):
° °[1,2] ¯ ¯
1 2×2+1 ° (2×2) ° 1 ¯ 1 ¯¯
|E| 6 (2 − 1) °f ° = (2 − 1)2×2+1 ¯
max −6 4 ¯
4320 ∞ 4320 x∈[1,2] ¯ x
1
= (2 − 1)2×2+1 × 6 = 0.1388888889 × 10−2
4320
Alínea b)
Atendendo à expressão (4.5.9), p. 137, de [Pina(1995)], obtemos para a regra do
trapézio composta usando 5 valores da função (h = 1/4):
¯ ¯ µ ¶2
b − a 00 [1,2] 2 2−1 ¯ 1¯ 1
|E| 6 kf k∞ h = max ¯¯− 2 ¯¯ ×
12 12 x∈[1,2] x 4
2−1 1
= × 1 × 2 = 0.5208333333 × 10−2
12 4
Alínea a)
E = I(f ) − Ih (f ) = −0.0003005831
E
e= = −0.0007781193058
I(f )
Alínea b)
E = I(f ) − Ih (f ) = +0.0025948516
E
e= = +0.006717290911
I(f )
¥
9
a) Calcule os pesos
q A1 e A2 de modo a que a regra tenha o maior grau de exactidão
possível para ξ = 13 .
b) Que polinómios são integrados exactamente por esta regra?
c) Caracterize esta regra quanto à família, ao número de pontos usados, à estima-
tiva de erro e ao grau de exactidão da regra justificando a resposta.
RESOLUÇÃO
a) Como a regra é referida a um intervalo simétrico em relação à origem , todos
os integrais do tipo,:
Z +1
Im (f ) = xm dx,
−1
2A1 + 2A2 = 2
2A1 + 32 A2 = 2
3
RESOLUÇÃO
a) A expressão desta regra é
b−a (b − a)2 0
Ih (f ) = [f (a) + f (b)] + [f (a) − f 0 (b)]
2 12
2x
f 0 (x) = , f 0 (0) = 0, f 0 (1) = 1.
1 + x2
obtemos
1−0 (1 − 0)2
Ih (f ) = [0 + 0.6931471806] + [0 − 1] = 0.263240257
2 12
EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL 67
(b − a)5 (4)
Eh (f ) 6 f (ξ)
720
(b − a)5 ° °
° (4) °[0,1] (b − a)5 ¯
¯
¯
¯
|Eh (f )| 6 °f ° = max ¯f (4) ¯
720 ∞ 720 x∈[0,1]
Determinação do majorante:
Os valores de f (4) (x) nos extremos do intervalo são:
Então, vem
ou seja,
(1 − 0)5
|Eh (f )| 6 × 12 = 0.0166666
720
68 SEMANA 9
−2
−4
−6
−8
−10
−12
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
¡ ¢ ¡ ¢4
Figura 9.2.1: f 4 (x) = 12 6x2 − x4 − 1 / 1 + x2 para x ∈ [0, 1]
c) Neste caso, e como a função é tal que f (x) ∈ C 4 (Ω), a regra do trapézio corrigida
tem como erro (exp. (4.5.13), p. 138, de [Pina(1995)]):
b − a (4)
Eh (f ) = f (ξ)h4
720
b − a 00
Eh (f ) = − f (ξ)h2
12
Só não haverá vantagens quando f 0 (a) = f 0 (b), pois neste caso a regra do trapézio
corrigida coincide com a regra do trapézio simples. ¥
CONCEITOS TEÓRICOS
O valor de um integral num dado troço [xi , xi+h ] de comprimento h pode ser
aproximado por, I˜h ,
| — × — |
xi xi + h/2 xi + h
EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL 69
h
I˜h = [f (xi ) + 4f (xi + h/2) + f (xi + h)] (9.3.1)
6
| — × — | — × — |
xi xi + h/4 xi + h/2 xi + 3h/2 xi + h
h/2
Ih = [f (xi ) + 4f (xi + h/4) + 2f (xi + h/2) + 4f (xi + 3h/4) + f (xi + h)]
6
h
= [f (xi ) + 4f (xi + h/4) + 2f (xi + h/2) + 4f (xi + 3h/4) + f (xi + h)]
12
(9.3.2)
1 ³ ´
E = I − Ih ≈ I h − I˜h
15
Considerando que cada troço contribui para o erro total, ², com um erro proporci-
onal ao seu comprimento (ler segundo parágrafo na p. 145 e enunciado do Problema
4.12.25, p. 160, de [Pina(1995)]), teremos
1 ³ ´ h
E = I − Ih ≈ I h − I˜h 6 ² (9.3.3)
15 b−a
RESOLUÇÃO
√
A Figura 9.3.1 representa graficamente a função f (x) = x no intervalo [0, 1].
Observamos que o troço [1/2, 1] apresenta menor variação da função, pelo que o es-
colhemos como primeiro subintervalo a analisar. Se iniciássemos o cálculo pelo troço
[0, 1/2] teríamos mais trabalho. Uma implementação computacional calcularia as es-
timativas de erro para saber onde começar.
0.9
Elevada variação em f (x)
0.8
0.6
0.5
0.4
0.3
0.2
0.1
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
√
Figura 9.3.1: f (x) = x para x ∈ [0, 1]
| — × — | — × — |
1/2 5/8 3/4 7/8 1
1/2 ³p p √ ´
1 subintervalo: I˜h1 [1/2,1] = 1/2 + 4 3/4 + 1
6
= 0.43093403302703
1/2 ³p p p p √ ´
2 subintervalos: I h2 [1/2,1] = 1/2 + 4 5/8 + 2 3/4 + 4 7/8 + 1
12
= 0.43096219315407
Ambos os critérios de erro são satisfeitos para este troço, pelo que passamos para
o troço [0, 1/2].
| — × — | — × — |
0 1/8 1/4 3/8 1/2
EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL 71
1/2 ³√ p p ´
1 subintervalo: I˜h1 [0,1/2] = 0 + 4 1/4 + 1/2
6
= 0.22559223176555
1/2 ³√ p p p p ´
2 subintervalos: I h2 [0,1/2] = 0 + 4 1/8 + 2 1/4 + 4 3/8 + 1/2
12
= 0.23211708693095
O critério de erro ² = 0.0025 é satisfeito para este troço, mas não o critério
² = 0.0002.
Para este último caso temos de subdividir o intervalo [0, 1/2]. Ficaremos, então,
com dois novos troços: [1/4, 1/2] e [0, 1/4].
| — × — | — × — |
1/4 5/16 3/8 7/16 1/2
1/4 ³p p p ´
1 subintervalo: I˜h1 [1/4,1/2] = 1/4 + 4 3/8 + 1/2
6
= 0.15235818849874
1/4 ³p p p p p ´
2 subintervalos: I h2 [1/4,1/2] = 1/4 + 4 5/16 + 2 3/8 + 4 7/16 + 1/2
12
= 0.15236814460714
| — × — | — × — |
0 1/16 1/8 3/16 1/4
1/4 ³√ p p ´
1 subintervalo: I˜h1 [0,1/4] = 0 + 4 1/8 + 1/4
6
= 0.07975889843221
1/4 ³√ p p p p ´
2 subintervalos: I h2 [0,1/4] = 0 + 4 1/16 + 2 1/8 + 4 3/16 + 1/4
12
= 0.08206578309907
Como vemos, para a tolerância ² = 0.0002, é necessário subdividir o troço [0, 1/4]
nos troços [1/8, 1/4] e [0, 1/8]. Em ambos os casos temos h = 1/8.
Troço [1/8, 1/4]:
| — × — | — × — |
1/8 5/32 3/16 7/32 1/4
1/8 ³p p p ´
1 subintervalo: I˜h1 [1/8,1/4] = 1/8 + 4 3/16 + 1/4
6
= 0.05386675412838
1/8 ³p p p p p ´
2 subintervalos: I h2 [1/8,1/4] = 1/8 + 4 5/32 + 2 3/16 + 4 7/32 + 1/4
12
= 0.05387027414426
| — × — | — × — |
0 1/32 1/16 3/32 1/8
EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL 73
1/8 ³√ p p ´
1 subintervalo: I˜h1 [0,1/8] = 0 + 4 1/16 + 1/8
6
= 0.02819902897069
1/8 ³√ p p p p ´
2 subintervalos: I h2 [0,1/8] = 0 + 4 1/32 + 2 1/16 + 4 3/32 + 1/8
12
= 0.02901463586637
Ih = I h2 [1/2,1] + I h2 [1/4,1/2]
+ I h2 [1/8,1/4] + I h2 [0,1/8]
= 0.43096219315407 + 0.15236814460714
+ 0.05387027414426 + 0.02901463586637
= 0.66621524777184
RESOLUÇÃO
Pelo teorema do valor intermédio (p. 315 do livro [Ferreira(1985)]), sendo f (x)
uma função contínua com mudança de sinal no valor da função nos pontos extremos
do intervalo [0, 1], então entre estes existe um ponto z ∈ [0, 1] : f (z) = 0.
Neste caso mostra-se que:
f (0) = −2
f (x) = x3 − 2 exp(−x) ⇒
f (1) ≈ 0.26421
ou seja,
f (0) × f (1) < 0,
i.e., a função apresenta pelo menos um zero no intervalo. Sendo f (x) monótona
crescente, só pode ter um zero.
|a − b|
|ek | ≤ ,
2k
3. Critério de paragem:
Neste caso utiliza-se um critério universal baseado na série de Taylor. Numa vizi-
nhança suficientemente pequena do zero pode considerar-se a seguinte aproximação
(xk+1 − z)
f (xk+1 ) ∼
= f (z) + f 0 (z)× .
1!
Logo,
|f (xn )| ∼
= |(xn − z)| = |en | 6 ε.
|f 0 (x)|
|f (xn )| 6 mε.
|f (xn )| |f (xn )|
6 |en | 6
M m
M |z − xn | 6 |f (xn )| 6 m |z − xn | ,
|f (xn )| 6 mε.
f (x) = x3 − 2 exp(−x),
f 0 (x) = 3x2 + 2 exp(−x) e
f 00 (x) = 6x − 2 exp(−x).
Podemos observar que no intervalo [0, 1] a derivada f 0 (x) será primeiro decrescente
(até aproximadamente x = 0.26 e depois crescente. Uma forma expedita de estimar
um minorante e um majorante para f 0 (x) consiste em considerar a pior situação:
0.7358 6 f 0 (x) 6 5
¡ √ ¢
iii) Método da Secante (Ordem de convergência 1 + 5 /2 ≈ 1.618 para zeros
simples):
1. Aproximação inicial ao zero.
Sejam (x−1 , f (x−1 )), (x0 , f (x0 )) duas estimativas iniciais.
2. Processo iterativo:
Aplicar de forma sucessiva a seguinte expressão com k = 0, 1, 2, ...
3. Critério de paragem:
i) |f (xn )| 6 mε,
ou
ii) |xk+1 − xk | 6 mε.
Utiliza-se ii) caso z seja um zero simples. Caso não se saiba ou não o seja, utiliza-se
o critério universal i) onde m é o minorante da primeira derivada, f 0 (x), no intervalo.
Deste modo, temos para este problema com o método da secante a mesma expres-
são |f (xn )| 6 0.7358 × 10−3 utilizada no método da Falsa Posição.
CONCEITOS TEÓRICOS
A Figura 10.2.1 exemplifica alguns dos diferentes tipos de zeros e a tabela define
as características de zeros simples, duplos e triplos (ver definição 5.1.2 e teorema 5.1.1
em Pina[1995]).
10 100 1000
8 80 800
6 60 600
4 40 400
2 20 200
0 0 0
−2 −20 −200
−4 −40 −400
−6 −60 −600
−8 −80 −800
(a) f (x) = x: Zero simples (b) f (x) = x2 : Zero duplo (c) f (x) = x3 : Zero triplo
Figura 10.2.1: Exemplos de funções com zeros de diferentes multiplicidades
a) b) c)
RESOLUÇÃO
No caso de multiplicidade par, o método da bissecção não pode iterar por não ser
possível encontrar um intervalo
.
No caso de multiplicidade ímpar o método da bissecção funciona num intervalo
com mudança de sinal nos valores da função para os extremos do intervalo. ¥
RESOLUÇÃO
Pelo teorema do valor intermédio, se f (x) for uma função contínua, existe um
ponto z ∈ [π, 2π] : f (z) = 0.
A função f (x) é contínua verificando-se que:
f (π) = 812.87
f (x) = x(x2 − 120) sin(x) − 24(x2 + 12) cos(x) + 288 = 0
f (2π) ≈ −947.48
f (ak ) × f (xk+1 ) < 0 ⇒ ak+1 = ak , bk+1 = xk+1
ak f (bk ) − bk f (ak )
xk+1 =
f (bk ) − f (ak )
f (ak ) × f (xk+1 ) > 0 ⇒ ak+1 = xk+1 , bk+1 = bk
RESOLUÇÃO
a)
Natureza dos zeros
Aplicando a regra dos sinais de Descartes I (p. 192, [Pina(1995)]) ao polinómio
p(x) = x3 + 2x2 + 10x − 20, observa-se que o número V de mudanças de sinal dos
coeficientes do polinómio permite concluir pela existência de um zero real positivo,
i.e.,
N+ 6 V = 1
⇒ N+ = 1 (1 zero real positivo)
V − N+ é par
Aplicando agora a regra dos sinais de Descartes II (p. 192-3, [Pina(1995)]) constrói-
se o polinómio p(−x):
q(x) = p(−x) ⇔ q(x) = −x3 + 2x2 − 10x − 20 onde se observa que o número
V de mudanças de sinal dos coeficientes do polinómio p(−x) permite concluir pela
existência de nenhum zero real negativo ou dois, i.e.,
84 SEMANA 11
V = 2 ⇒ N− 6 2
⇒ N− = 0 ∨ N− = 2 (0 ou 2 zeros reais negativos)
V − N− é par
b)
Localização dos zeros do polinómio
Pelo Teorema 5.9.1 (p. 193, [Pina(1995)]) os zeros do polinómio estão no interior
de um círculo centrado na origem de raio:
¯ ¯
¯ ak ¯
Ω = 1 + max ¯¯ ¯¯ .
06k6n−1 an
N 6 Va − Vb = 1
⇒N =1 (1 zero real positivo no intervalo [0, 2]),
(Va − Vb ) − N é par
c)
¡ √ ¢
Método da Secante (Ordem de convergência 1 + 5 /2 ≈ 1.618 para zeros
simples):
Aproximação inicial: Sejam os pontos (x−1 , f (x−1 )), (x0 , f (x0 )) duas estimativas
iniciais.
Processo iterativo:Itera-se sucessivamente em k=0,1,2,...
Critério de paragem:
|f (xn )| |f (xn )|
6 |en | 6
M m
M |z − xn | 6 |f (xn )| 6 m |z − xn |
Logo
|f (xn )| 6 mε
Conclui-se de
10 6 3x2 + 4x + 10 6 30,
RESOLUÇÃO
a) A função
e a sua derivada
anula-se no ponto
Logo, como f (0.26162) = −6.43 < 0, então existe um único zero no intervalo
] − ∞, 0.26162[ e mais outro único zero no intervalo ]0.261624, +∞[.
b)
2. Processo iterativo:
f (xk )
xk+1 = xk −
f 0 (xk )
Aproximação inicial: x0 = 1
k xk f (xk ) f 0 (xk )
0 1 (.5425)101 (.33559)102
1 0.83833 (.6760)100 (.25324)102
2 0.81164 (.1726)10−1 (.24034)102
3 0.81093 (.1881)10−4
35
30
25
20
15
10
−5
−10
−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1
40
20
−20
−40
−60
−80
−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1
CONCEITOS TEÓRICOS
Teorema 5.8.1 para a convergência do método do Ponto Fixo (p. 186, [Pina(1995)]):
Se existir um intervalo I ⊂ [a, b] tal que g(I) ⊂ I e relativamente ao qual a função g é
contractiva, |g 0 (x)| < 1, então esta função possui um único ponto fixo neste intervalo,
e a sucessão {xk } gerada por xk+1 = g(xk ), com k = 0, 1, . . . converge para este ponto
fixo qualquer que seja a estimativa inicial x0 ∈ I.
Uma função g(x) contínua num intervalo I diz-se contractiva nesse intervalo se
0
|g (x)| < 1 para todo x ∈ I.
Observando a Figura 11.3.1 constatamos que o método do ponto fixo tem como
base geométrica a determinação do ponto de intersecção de g(x) com a recta y = x,
correspondendo este ponto ao zero da função f (x). Ou seja, transforma-se o problema
de localização de zeros de f (x) no problema matematicamente equivalente de deter-
minação da intersecção da g(x) com a recta y = x. A vantagem é, como veremos, em
termos de algoritmo o mais simples que se pode obter.
Dada uma aproximação inicial x0 o processo iterativo consiste simplesmente em
calcular sucessivamente para k = 0, 1, ...:
xk+1 = g (xk )
ou seja,
2
(xk+1,m − xk,m )
x0k,m+1 = xk,m − com k, m = 0, 1, ...
xk+2,m − 2xk+1,m + xk,m
RESOLUÇÃO
Método do ponto fixo (Ordem de convergência 1):
Como é pedido para aplicar o método do ponto fixo, considere-se a equação f (x) =
0 escrita na forma x = g(x). De imediato verificamos que podemos escolher várias
funções g(x), mas como se verá nem todas são escolhas válidas para utilizar com este
método. Para cada função escolhida verificam-se as condições de convergência.
Escolha-se a seguinte função.
Função 1: g(x) = x3 − x2 − 1 = x(3x − x)
Para se garantir que o processo é convergente teremos desde já que verificar se
0
|g (x)| < 1 num intervalo I que contenha a raiz e depois se g(I) ⊂ I .
Convergência:
O processo não é convergente em todos os pontos, pois
g 0 (x) = 3x2 − 2x = 3x(x − 2)
dependendo do intervalo escolhido poderá em módulo ser maior do que 1.
Neste problema não nos é indicado um intervalo que contenha o zero, pelo que
temos de determinar uma localização dos zeros desta função polinomial.
Localização dos zeros
Pelo Teorema 5.9.1 (p. 193, [Pina(1995)]):
¯ ¯
¯ ak ¯
Ω=1+ max ¯ ¯
06k6n−1 ¯ an ¯
Com n = 3, fica
¯ ¯
¯ ak ¯
Ω = 1 + max ¯¯ ¯¯ = 1 + 1 = 2
06k62 a3
Um refinamento do intervalo onde se encontra o zero real positivo pode ser deter-
minado pela Regra de Budan (p. 195, [Pina(1995)]):
p(x) = x3 − x2 − x − 1,
p0 (x) = 3x2 − 2x − 1,
p00 (x) = 6x − 2,
p000 (x) = 6,
a=0: p(0) = −1; p0 (0) = −1; p00 (0) = −2; p000 (0) = 6
b=1: p(1) = −2; p0 (1) = 0; p00 (1) = 4; p000 (1) = 6
N 6 Va − Vb = 0
⇒N =0 (0 zeros reais positivo no intervalo [0, 1])
(Va − Vb ) − N é par
O zero real positivo está localizado no intervalo [1, 2], pois não existe nenhum em
[0, 1], como verificámos.
Ora, para x > 1 facilmente se conclui que g 0 (x) = 3x(x − 2) em módulo é maior
do que 1. Temos por isso que escolher outra função que esta não possui as condições
de convergência.
Função 2:
Como f (x) = x3 − x2 − x − 1, pode obter-se para g(x) a seguinte função:
1 2x + 1
g 0 (x) = ,
3 (x2 + x + 1)2/3
não sendo óbvio que no intervalo [1, 2] se tenha |g 0 (x)| < 1. Para isso vai-se estudar
a segunda derivada:
(x2 + x + 1)
,
(x2 + x + 1)
2
2 2/3 1 (2x+1)
00 2 (x + x + 1) [1 − 3 (x2 +x+1) ]
g (x) = ,
3 (x2 + x + 1)2/3
−2 (x2 + x − 2)
g 00 (x) = .
9 (x2 + x + 1)5/3
Pode agora concluir-se que para x ∈ [1, 2] se terá g 0 (x) monotona decrescente. É
agora suficiente conhecer os valores da derivada nos extremos deste intervalo.
0
g (1) ≈ 0.48075 < 1
1 2x + 1
g 0 (x) = ⇒
3 (x + x + 1)2/3
2
g 0 (2) ≈ 0.45546 < 1
1 2x + 1
g 0 (x) = ,
3 (x2 + x + 1)2/3
então a função g(x) é monotona. Basta agora verificar o que se passa nos extremos
do intervalo.
(
2 1/3 g(1) ≈ 1.4422 ∈ [1, 2]
g(x) = (x + x + 1) ⇒
g(2) ≈ 1.9129 ∈ [1, 2]
0.5
−0.5
−1
−1.5
−2
1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2
2 0.5
0.48
1.9
0.46
1.8 0.44
0.42
1.7
0.4
1.6 0.38
0.36
1.5
0.34
1.4 0.32
1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2
xk+1 = g (xk )
M
|ek | 6 |xk − xk−1 | onde |g 0 (x)| 6 M < 1 em I = [a, b],
1−M
Como são pedidos 5 dígitos correctos e tendo em conta que o zero está localizado
entre 1 e 10 (em ordem de grandeza) então
ε = 10−5 × 101 = 10−4 ou seja quatro decimais correctos.
k xk |xk − xk−1 |
0 1.5
1 1.6809 (.18)100
2 1.7658 (.85)10−1
3 1.8053 (.39)10−1
4 1.8236 (.18)10−1
5 1.8320 (.84)10−2
6 1.8359 (.39)10−2
7 1.8377 (.18)10−2
8 1.8385 (.83)10−3
9 1.8389 (.38)10−3
10 1.8391 (.18)10−3
11 1.8392 (.80)10−4
Verifica-se que |x11 − x10 | = (.80)10−4 < 10−4 , pelo que a aproximação do zero
obtida pelo método do ponto fixo é z = (.18392)101 .
94 SEMANA 11
Verifica-se que |x05 − x04 | = (.50)10−4 < 10−4 , pelo que a aproximação do zero
obtida pelo método do ponto fixo é z = (.18392)101 .
Bastava pararmos em k = 3, dado que |x03 − x02 | = (.90)10−4 . ¥
12
x1 + x2 + x3 = 4
x1 − x2 + 2x3 = 4
2x1 + x2 + x3 = 5
ALGORITMO
Algoritmo para o método de condensação de Gauss:
Transformar por n-1 etapas sucessivas a matriz A numa matriz triangular supe-
rior.
Ciclo de k = 1, 2, ..., n-1 (coluna a factorizar)
Ciclo de i = k+1, 2, ..., n (linhas abaixo do pivot akk )
(k) (k)
mik = aik /akk (o pivot akk não pode ser nulo)
Ciclo de j = k+1, 2, ..., n (colunas à direita do pivot akk )
(k+1) (k) (k)
aij = aij − mik × akj
(k+1) (k) (k)
bi = bi − mik × bk
Continuar ciclo em j
Continuar ciclo em i
Continuar ciclo em k
RESOLUÇÃO
Sistema de equações Ax = b escrito na forma matricial:
1 1 1 x1 4
1 −1 2 x2 = 4
2 1 1 x3 5
Condensação:
Procedendo sucessivamente, obtemos
k = 1:
1 1 1 4
1 −1 2 4
2 1 1 5
(1)
a21 1
m21 = (1)
= =1
a11 1
(1)
a31 2
m31 = (1)
= =2
a11 1
k = 2:
1 1 1 4
0 −2 1 0
0 −1 1 −3
EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL 97
(2)
a32 −1 1
m32 = (2)
= =
a22 −2 2
1 1 1 4
0 −2 1 0
0 0 −3/2 −3
3
− x3 = −3 ⇔ x3 = 2,
2
−2x2 + x3 = 0 ⇔ −2x2 + 2 = 0 ⇔ x2 = 1,
x1 + x2 + x3 = 4 ⇔ x1 + 1 + 2 = 4 = 0 ⇔ x1 = 1.
RESOLUÇÃO
Com n = 3 temos o seguinte sistema de equações Ax = b escrito na forma
matricial:
0 1/3 1 x1 1
1/3 0 1/5 x2 = 1/2
1 1/5 0 x3 1/3
Este sistema só pode ser resolvido com troca de linhas ou colunas, já que os valores
zero na posição de pivot não são admissíveis.
Permutação e condensação:
Procedendo sucessivamente, obtemos
k = 1:
0 1/3 1 1
1/3 0 1/5 1/2
1 1/5 0 1/3
x1 x2 x3
Trocar a 1.a linha com a 3.a linha (não afecta a ordem das variáveis):
1 1/5 0 1/3
1/3 0 1/5 1/2
0 1/3 1 1
x1 x2 x3
(1)
a21 1/3 1
m21 = (1)
= =
a11 1 3
k = 2:
1 1/5 0 1/3
0 −1/15 1/5 7/18
0 1/3 1 1
x1 x2 x3
100 SEMANA 12
A escolha de pivot na submatriz activa requer trocar a 2.a linha com a 3.a linha
seguida de troca da 2.a coluna com a 3.a coluna:
1 0 1/5 1/3
0 1 1/3 1
0 1/5 −1/15 7/18
x1 x3 x2
(2)
a32 1/5 1
m32 = (2)
= =
a22 1 5
obtendo-se:
1 0 1/5 1/3
0 1 1/3 1
0 0 −2/15 17/90
x1 x3 x2
O sistema fica então com a ordem das variáveis trocada em resultado da troca de
colunas anteriormente efectuada:
1 0 1/5 x1 1/3
0 1 1/3 x3 = 1
0 0 −2/15 x2 17/90
2 17 17
− x2 = ⇔ x2 = −
15 90 12
µ ¶
1 1 17 53
x3 + x2 = 1 ⇔ x3 + × − x2 = 0 ⇔ x3 =
3 3 12 36
µ ¶
1 1 1 17 1 37
x1 + x2 = ⇔ x1 + × − = ⇔ x1 =
5 3 5 12 3 60
¥
EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL 101
bi = (0 1 0 0)T
CONCEITOS TEÓRICOS
Método de Gauss com pivot parcial: Transformar por etapas sucessivas a matriz
A numa matriz triangular superior. De acordo com a técnica de pivot parcial, são
(k)
candidatos a pivot os elementos aik , i = k, . . . , n da matriz A(k) , escolhendo-se
aquele que tiver maior valor absoluto na parte activa da respectiva coluna. Mais
precisamente, seja pk um índice tal que
¯ ¯ ¯ ¯
¯ (k) ¯ ¯ (k) ¯
¯apk k ¯ = max ¯aik ¯
k6i6n
RESOLUÇÃO
O sistema de equações Ax = b a resolver pode ser escrito na seguinte forma:
2 1 0.5 0.3333 x1 0
1 1 1 0.5 x2 1
=
0.5 1 0.6667 1 x3 0
0.3333 0.5 1 0.5 x4 0
Permutação e condensação:
Procedendo sucessivamente à condensação de acordo com o algoritmo, fazendo os
cálculos na precisão da calculadora e escrevendo os valores em FP tem-se:
k = 1:
2 1 0.5 0.3333 0
1 1 1 0.5 1
0.5 1 0.6667 1 0
0.3333 0.5 1 0.5 0
(.2000)10+01 (.1000)10+01 (.5000)1000 (.3333)1000 (.0000)1000
(.1000)10+01 (.1000)10+01 (.1000)10+01 (.5000)1000 (.1000)10+01
(.5000)1000 (.1000)10+01 (.6667)1000 (.1000)10+01 (.0000)1000
(.3333)1000 (.5000)1000 (.1000)10+01 (.5000)1000 (.0000)1000
(1)
a21 1
m21 = (1)
= = 0.5
a11 2
(1)
a31 0.5
m31 = (1)
= = 0.25
a11 2
(1)
a41 0.3333
m41 = (1)
= = 0.16665
a11 2
k = 2:
(.2000)10+01 (.1000)10+01 (.5000)1000 (.3333)1000 (.0000)1000
(.0000)1000 (.5000)1000 (.7500)1000 (.3334)1000 (.1000)10+01
(.0000)1000 (.7500)1000 (.5417)1000 (.9167)1000 (.0000)1000
(.0000)1000 (.3334)1000 (.9167)1000 (.4444)1000 (.0000)1000
(2)
a32 0.5
m32 = (2)
= = 0.6667
a22 0.75
(2)
a42 0.3334
m42 = (2)
= = 0.4445
a22 0.75
k = 3:
(.2000)10+01 (.1000)10+01 (.5000)1000 (.3333)1000 (.0000)1000
(.0000)1000 (.7500)1000 (.5417)1000 (.9167)1000 (.0000)1000
(.0000)1000 (.0000)1000 (.3888)1000 −(.2778)1000 (.1000)10+01
(.0000)1000 (.0000)1000 (.6759)1000 (.3693)10−01 (.0000)1000
(3)
a43 0.3888
m43 = (3)
= = 0.5752
a33 0.6759
−0.2990x4 = 1
⇔ x4 = −3.3444 = −(0.3344)10+01
¥
Esta resolução ilustra o trabalho por vezes necessário para localizar um erro num
código que estejamos a programar. É pedido que se utilize a calculadora para as
operações elementares (processador) e se escrevesse os resultados em FP (memória).
Em geral, estaremos a trabalhar com dois sistemas FP, um no cálculo e outro no
registo. ¡
13
x1 + x2 + x3 = 4
x1 − x2 + 2x3 = 4
2x1 + x2 + x3 = 5
CONCEITOS TEÓRICOS
de onde se obtém sucessivamente U11 , L21 e L31 ; U12 , U22 e L32 ; U13 , U23 e U33 ,
originando as seguintes expressões:
i−1
X
uij = aij − lim umj ; j≥i
m=1
à j−1
!
X
lij = aij − lim umj /ujj ; j<i
m=1
de onde se obtém sucessivamente L11 , U12 e U13 ; L21 , L22 e U32 ; L31 , L32 e U33 ,
originando as seguintes expressões:
j−1
X
lij = aij − lim umj ; j6i
m=1
à i−1
!
X
uij = aij − lim umj /lii , j>i
m=1
RESOLUÇÃO
Coluna 1 (j = 1):
Coluna 2 (j = 2):
i−1
X
ui2 = ai2 − lim um2 , i62
m=1
à 1
!
X
li2 = ai2 − lim um2 /u22 , i>2
m=1
1−2×1 1
⇒ l32 = (a32 − l31 u12 )/u22 = =
−2 2
Coluna 3 (j = 3):
i−1
X
ui3 = ai3 − lim um3 , i63
m=1
1 0 0 1 1 1
L= 1 1 0 e U= 0 −2 1
2 1/2 1 0 0 −3/2
====================================
Aplicando o método de Crout com o seu varrimento por linhas i = 1, 2, ..., n tem-
se:
Linha 1 (i = 1):
Linha 2 (i = 2):
j−1
X
l2j = a2j − l2m umj , j62
m=1
Linha 3 (i = 3):
j−1
X
l3j = a3j − l3m umj , j63
m=1
1 0 0 1 1 1
L= 1 −2 0 e U= 0 1 −1/2
2 −1 −3/2 0 0 1
EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL 111
CONCEITOS TEÓRICOS
Na resolução que se segue, da aplicação do método de condensação de Gauss
obtém-se a factorização LU, onde L é uma matriz de diagonal unitária cujos res-
tantes elementos não nulos são os coeficientes mij , sendo U a matriz resultante da
condensação (sem escolha de pivot).
Definição: O determinante de uma matriz A de dimensão n × n é obtido após a
factorização de Gauss sem escolha de pivot fazendo:
n
Y n
Y n
Y
det A = det(LU) = det L × det U = lii × uii = 1 × uii
i=1 i=1 i=1
RESOLUÇÃO
a) Condensação de Gauss:
k = 1:
1 0 9 0
0 9 0 0
5 0 0 5
0 1 0 3
(1)
a31 5
m31 = (1)
= =5
a11 1
k = 2:
1 0 9 0
0 9 0 0
0 0 −45 5
0 1 0 3
(2)
a42 1
m42 = (2)
=
a22 9
e
1 0 0 0 1 0 0 0
m21 1 0 0 0 1 0 0
L=
=
.
m31 m32 1 0 5 0 1 0
m41 m42 m43 1 0 1/9 0 1
4
Y
det A = det(LU) = det L × det U = 1 × uii
i=1
= 1 × [1 × 9 × (−45) × 3] = −1215.
CONCEITOS TEÓRICOS
Método de Choleski: Factorizar LLT .
Através do produto de matrizes — aqui ilustrado apenas para o caso de dimensão
n = 3 — podem obter-se os coeficientes Lij numa só etapa com:
L11 0 0 L11 L12 L13 A11 A12 A13
L21 L22 0 0 L22 L23 = A21 A22 A23 ,
L31 L32 L33 0 0 L33 A31 A32 A33
ou seja, calculando sucessivamente L11 , L21 e L31 ; L22 e L32 ; L33 o que origina as
seguintes expressões:
à j−1
!1/2
X
2
ljj = ajj − ljm
m=1
à j−1
!
X
lij = aij − lim ljm /ljj , i>j ¤
m=1
RESOLUÇÃO
a) A matriz A é simétrica:
1 1 1
A= 1 2 3 .
1 3 6
Coluna 1 (j = 1)
1/2
l11 = (a11 ) =1
Coluna 2 (j = 2)
¡ ¢
2 1/2
l22 = a22 − l21 = (2 − 12 )1/2 = 1
Coluna 3 (j = 3)
£ ¡2 2
¢¤1/2 £ ¡ ¢¤1/2
l33 = a33 − l31 + l32 = 6 − 12 + 22 =1
1 0 0 1 1 1 1 0 0
T
L= 1 1 0 , L = 0 1 2 e D= 0 1 0 .
1 2 1 0 0 1 0 0 1
As matrizes de Pei (A) são definidas por: aii = c e aij = 1 para i 6= j com i, j =
1, 2, . . . , n.
CONCEITOS TEÓRICOS
RESOLUÇÃO
Coluna 1 (j = 1):
Coluna 2 (j = 2):
i−1
X
ui2 = ai2 − lim um2 , i62
m=1
µ ¶
1 15
⇒ u12 = a12 = 1; u22 = a22 − (l21 u12 ) = 4 − ×1 =
4 4
à 1
!
X
li2 = ai2 − lim um2 /u22 , i>2
m=1
1
1− 4 × 1 1
⇒ l32 = (a32 − l31 u12 )/u22 = 15 =
4
5
Coluna 3 (j = 3):
i−1
X
ui3 = ai3 − lim um3 , i63
m=1
µ ¶
1 3
⇒ u13 = a13 = 1; u23 = a23 − (l21 u13 ) = 1 − ×1 = ;
4 4
µ ¶
1 1 3 18
u33 = a33 − (l31 u13 + l32 u23 ) = 4 − ×1+ × =
4 5 4 5
AA−1 = I
1 0 0 y11 y12 y13 1 0 0
LY = I ⇔ 1/4 1 0 y12 y22 y23 = 0 1 0
1/4 1/5 1 y31 y32 y33 0 0 1
y11 y12 y13 1 0 0
Y = y12 y22 y23 = −1/4 1 0
y31 y32 y33 −1/5 −1/5 1
EXERCÍCIOS DE MATEMÁTICA COMPUTACIONAL 117
UA−1 = Y
−1
4 1 1 a11 a−1
12 a−1
13 1 0 0
−1 −1
⇔ 0 15/4 3/4 a12 a−1
22 a23 = −1/4 1 0
0 0 18/5 a−1
31 a−1
32 a−1
33 −1/5 −1/5 1
Portanto, a inversa é
a−1
11 a−1
12 a−1
13 +5/18 −1/18 −1/18
−1 −1
A−1 = a12 a−1
22 a23 = −1/18 +5/18 −1/18
a−1
31 a−1
32 a−1
33 −1/18 −1/18 +5/18
3
Y
det A = det(LU) = det L × det U = 1 × uii
i=1
3
> 18
15
= 1 × 4 × × = 54
4 5
b)
DŨ = D
d11 0 0 1 ũ12 ũ13 4 1 1
L= 0 d22 0 0 1 ũ23 = 0 15/4 3/4
0 0 d33 0 0 1 0 0 18/5
15 18
d11 = 4, d22 = d33 =
4 5
¡ ¢1/2
k A kF = 42 + 12 + 12 + 12 + 42 + 12 + 12 + 12 + 42 = 7.35