Escolar Documentos
Profissional Documentos
Cultura Documentos
_______________________________________________________________________________________________________________
1. Introdução
O estudo da matemática introduz conceitos que auxiliam a resolução dos mais diversos
problemas científicos. No entanto, existem numerosos problemas matemáticos para os quais
não se conhece nenhuma solução analítica. A Análise Numérica procura desenvolver processos
de cálculo (algoritmos), utilizando uma sequência finita de operações aritméticas básicas, para
que certos problemas matemáticos se tornem exequíveis numericamente, ou de mais simples
execução. Estes algoritmos envolvem em geral um grande número de cálculos aritméticos e
por isso não é de estranhar que com o desenvolvimento de rápidos e eficientes computadores
digitais, o papel dos métodos numéricos na resolução de problemas de engenharia tenha
sofrido grande incremento nas últimas décadas.
Um algoritmo é caracterizado por permitir resolver problemas matemáticos usando uma
sequência finita e pré-definida de operações de aritmética. Um método numérico é um
algoritmo que tem como objectivo determinar um ou mais valores numéricos. Os valores
obtidos por um método numérico designam-se por soluções numéricas. A selecção ou
construção de algoritmos eficientes, facilmente adaptáveis à implementação em computador, é
o objectivo da análise numérica.
Ao contrário das soluções analíticas, que conduzem a soluções exactas para os
problemas, os métodos numéricos produzem, em geral, apenas soluções aproximadas. Por este
facto, antes da utilização de qualquer método numérico é necessário decidir qual a precisão
com que se pretende obter a solução numérica desejada. A precisão dos cálculos numéricos é
também, como veremos, um importante critério para a selecção de um algoritmo particular na
resolução de um dado problema.
Mesmo nos casos em que existe uma fórmula disponível, deve ter-se algum cuidado pois,
como mostram os exemplos que se seguem, existem cálculos matemáticos que oferecem
respostas correctas quando se efectuam utilizando números reais exactos, mas dão respostas
erradas quando se realizam em computador com precisão finita.
1
Exemplo 1.1: Efectue um programa de cálculo que adicione dez mil vezes o valor
0.00001 a uma unidade. Compare o resultado obtido com o resultado exacto calculando a
percentagem de erro.
Δx d Valor exacto - d
_______________________________________________________________
2
2. Tipos de erros na resolução numérica de problemas de Engenharia
2) Erros inerentes aos dados - Um modelo matemático não contem apenas equações e
relações; também contem dados e parâmetros que, frequentemente, são medidos
experimentalmente, e portanto, aproximados. As aproximações nos dados podem ter grande
repercussão no resultado final.
3
3) Erros de truncatura - Muitas equações matemáticas têm soluções que apenas podem
ser construídas no sentido que um processo infinito possa ser descrito como limite da solução
em questão. Por definição, um processo infinito não pode ser completado, por isso tem de ser
truncado após certo número finito de operações. Esta substituição de um processo infinito por
um processo finito, resulta num tipo de erro designado erro de truncatura. Em muitos casos,
o erro de truncatura é precisamente a diferença entre o modelo matemático e o modelo
numérico.
Os erros inerentes ao modelo e aos dados são erros iniciais do problema, exteriores ao
processo de cálculo; os erros de truncatura e de arredondamento ocorrem no processo de
cálculo duma solução numérica no computador. É pois a análise destes dois últimos, com
especial relevância para os erros de arredondamento, que constitui o objectivo principal deste
capítulo.
4
3.1. Representação de números inteiros
• Sistemas de numeração
5
Torna-se frequentemente necessário conhecer o equivalente, num dado sistema de
numeração, de um número expresso noutro sistema diferente. A expressão (2) é útil para
efectuar a conversão de um número inteiro de qualquer base b para a base 10, conforme se
ilustra no exemplo que se segue.
Passamos agora a expor de uma forma sintética a forma como os números inteiros são
representados internamente num computador. Os computadores utilizam, para armazenar
informação, dispositivos físicos que podem assumir dois estados distintos. Esta característica
privilegia a base 2 ou base binária para representação de números nestas máquinas.
Os computadores armazenam números utilizando o que pode imaginar-se como "janelas
de base b" cada uma capaz de armazenar os dígitos de base b (0, 1,..., b-1), em que a
aritmética de base b pode ser 2 (binário), 8 (octal) ou 16 (hexadecimal). Uma janela de base
2 designa-se por “bit”.
6
Um "bit" é um acrónimo de "binary digit" e representa o elemento de memória básico
que assume os dois estados que se associam aos dígitos 0 e 1. Os computadores dividem a
memória em cadeias de bits designadas palavras. O número de bits por palavra é o tamanho da
palavra do computador. Os tamanhos de palavra variam com o tipo de computador (por
exemplo, 16 bits para um IBM XT ou AT, 32 bits para um IBM PC ou VAX 11, 60 bits para
um CYBER). O número de bits disponíveis para a representação de números inteiros
determina qual o maior inteiro representável. As formas como os bits são utilizados para
armazenar valores depende do computador. No entanto, sendo finito e fixo para cada
computador o número de bits utilizados, apenas inteiros num intervalo [-M,N] (M,N>0) farão
parte do sistema de numeração de um computador.
No caso, por exemplo, do IBM PC (FORTRAN), uma variável declarada como
INTEGER*2 utiliza 2 bytes (ou seja, 16 bits, que corresponde neste caso a meia palavra) para
representar um inteiro. O primeiro bit armazena o sinal: positivo se é 0, ou negativo se é 1. Os
restantes 15 bits são utilizados para armazenar os di's. Assim o maior inteiro positivo
representável é:
0111 1111 1111 1111
sendo o correspondente valor decimal(1)
14
∑ 2 i = 215 − 1 = 32768 − 1 = 32767
i =0
bn − 1
(1)
a + a b + a b 2 + ... + a b n −1 = a , para qualquer b ≠ 1 . Para o caso particular: a=1 e b=2
b −1
n −1
obtém-se: ∑ 2i = 2 n − 1 .
i =0
7
Nesta forma, o valor decimal é determinado supondo em primeiro lugar que o conjunto dos 16
bits expressa um número positivo. Se este número for menor que 215, ou seja 32768, então o
número é interpretado como um inteiro positivo. No caso de ser maior ou igual, é convertido
num inteiro negativo por subtracção de 216.
No exemplo anterior, o decimal equivalente a (1000000000000001)2 é 215+1=32769 >
32768, pelo que, de acordo com a regra anterior, representará o inteiro negativo:
... ...
N min. -2 -1 0 1 2 N max.
=
=
31
-2 = - 2.147.483.648 231- 1 = 2.147.483.647
Em qualquer dos casos, importa sobretudo sublinhar que todos os computadores estão
limitados na sua capacidade de representação de números inteiros. Todos os inteiros entre zero
e o valor máximo possuem representação exacta e também são exactas as operações
aritméticas cujos operandos e resultados sejam inteiros nesta gama. Inteiros fora do intervalo
[-M,N] não poderão ser representados, e a tentativa de o fazer conduz à conhecida condição de
`overflow`.
Uma limitação mais severa ocorre no armazenamento e manipulação de números reais
como veremos em seguida.
8
3.2. Representação de números reais
Este parágrafo apresenta a forma como os dispositivos digitais utilizam uma variante da
notação científica (representação de ponto flutuante) para armazenar números reais de uma
forma eficaz e examina os erros introduzidos no processo.
A representação de um número real X na base b é efectuada como:
9
Exemplo 1.7: Converter 0.1 à base 2
na qual, M é um número real não negativo denominado mantissa, b≥2 é um inteiro positivo
denominado base e E é um inteiro denominado expoente. Fixada a base b, esta representação
não é única pois, por exemplo, X=0.1 pode ser escrito na base 10 de várias formas:
⎧M = 0 se X = 0
⎪
⎨1
⎪⎩ b ≤ M < 1 se X ≠ 0
Diz-se, neste caso, que se trata de uma representação normalizada. Nesta representação o
primeiro dígito da mantissa de um número diferente de zero é sempre diferente de 0.
É obvio que a notação científica, tal como anteriormente apresentada, não pode ser
implementada em computador, pois, para representar todos os números reais, a mantissa e o
expoente exigiriam um número infinito de dígitos. A notação científica é então modificada de
forma a se utilizar um número finito de dígitos (t) para a mantissa e um número finito de
dígitos (p) para o expoente. Obtém-se desta forma o denominado sistema de numeração de
ponto flutuante normalizado caracterizado por quatro parâmetros: a base (b), que é um
10
inteiro ≥2, o número de dígitos da mantissa (t) e os valores mínimo e máximo do expoente
(Emin e Emax, respectivamente). Este sistema, habitualmente representado por
F = F (b, t , Emin , Emax ) , é constituído pelo subconjunto dos números racionais da forma:
⎧ 1 1
E ⎪ ≤ M ≤1− t
X = ± M ⋅b em que : ⎨ b b
⎪E ≤ | E | ≤ E
⎩ min max
Desta forma um X não nulo pode armazenar-se utilizando t+p+1 bits como se segue:
Um bit para o sinal: o bit (designado por bit de sinal) armazena o sinal de X
E + E0 = (d p −1 ... d1 d 0 )2 = d p −1 2 p −1 + ... + d1 21 + d 0 20
d −1 d − 2 d
M = (. d −1 d − 2 ... d −t )2 = 1
+ 2 + ... + −t t
2 2 2
F = F ( b, t, p, E0 )
p
Existem 2 características E+E0, sendo a menor e a maior, respectivamente
(0...00)2 = 0
p
(1...11)2 = 1x2p-1 + ... + 1 x 21 + 1 x 20 = 2 - 1
A extensão E0 é, em geral, igual a 2p-1, em cujo caso
11
E ≤ (2 p − 1) − 2 p −1 = 2 p −1 − 1
pelo que,
− 2 p −1 ≤ E ≤ 2 p −1 − 1
ou seja, Emin = − 2 p −1 e Emin = 2 p −1 − 1 .
Estes números estão representados na Figura 3. Os restantes elementos de F são os simétricos dos
anteriores e o número zero, perfazendo um total de 33 números. É de salientar a não existência de
números nos intervalos [-1/4,0] e [0,1/4], sendo o número positivo mais pequeno representável
xmin =1 / 4 . Verifica-se que os elementos de F são mais densos próximo de xmin e menos densos
quando se aproximam de xmax . Tal como nos inteiros, um número superior a xmax produz uma
mensagem de erro de “overflow”; por outro lado, um número positivo inferior xmin produz uma
mensagem de erro chamada “underflow”.
Figura 3 - Números reais positivos que fazem parte do sistema de ponto flutuante
12
Exemplo 1.9: Representação de um real em precisão simples num PC
Os 32 bits são distribuídos da seguinte forma: o primeiro bit é utilizado para o sinal da
mantissa, os 8 bits seguintes são reservados para o expoente E, e os últimos 23 bits para a
mantissa. Na forma de vírgula flutuante normalizada, o primeiro dígito da mantissa é
sempre 1 e, portanto, sendo conhecido, não necessita ser armazenado - bit implícito. Isto
explica porque os 24 dígitos da mantissa são armazenados apenas em 23 bits.
Se os 8 bits destinados ao expoente apenas fossem utilizados para inteiros positivos, o valor
do expoente poderia variar entre 0 e 28-1=255 ; no entanto, o expoente tem que incluir
números negativos. Para armazenar tanto inteiros positivos como negativos, o expoente em
decimal é adicionado de E0=128 e convertido em binário. Por exemplo, se o expoente é -3,
então -3+128 = 125 é convertido em binário e armazenado nos 8 bits. Desta forma, o
expoente poderá variar entre:
cada um deles duas vezes maior que o seu predecessor e contendo cada um 223 números
reais positivos equidistantes.
NOTA: A representação binária de uma mantissa normalizada M pode ser extensa. Alguns
computadores armazenam M utilizando "janelas em octal" de 3 bits, sendo cada uma delas
capaz de armazenar os dígitos octais 0,1,...,7. Outros utilizam "janelas hexadecimais" de 4 bits,
sendo cada uma capaz de armazenar os dígitos hexadecimais 0,1,...,9,A,...,F. Por exemplo,
considere uma mantissa de 24 bits
13
M = (.101 000 100 000 000 000 000 000)2
Assim, para os números armazenados como ±M.8E ou ±M.16E em vez de ±M.2E a utilização de
aritmética de base 8 ou 16 não altera o valor da mantissa M; apenas permite representá-la de
uma forma menos complicada.
22
Exemplo 1.10: No cálculo do perímetro molhado de um colector considerou-se π = como
7
aproximação de π = 3.14159265... . Qual o erro da referida aproximação?
14
Nos números anteriores, os ... indicam que os números possuíam mais dígitos, mas que
nós não queremos ou não podemos continuar a representá-los. Uma situação deste tipo ocorre
sempre que um número não pode ser representado por um número finito de casas decimais.
Sempre que no decurso dos cálculos ocorra uma situação análoga, temos que decidir com
quantos dígitos queremos trabalhar. Este aspecto é de particular importância no caso de
utilizarmos computador pois, como veremos posteriormente, este retém apenas um número
fixo de algarismos.
Como estamos a lidar com aproximações, é necessário estabelecer critérios para avaliar o
seu grau de precisão. Para o exemplo anterior, se estivéssemos a trabalhar com 3 casas
decimais,
π = 3.142 e Δπ = 0.0004073 ... < 0.5 × 10 −3
Δ x = x − x ≤ 0.5 × 10 −k (4)
Δx Δx
rx = ou rx =
x x
O erro relativo expressa o erro como uma fracção de | x | e está relacionado com o erro
Na prática o que se utiliza é um limite superior de qualquer dos erros, uma vez que para
conhecermos Δx ou rx teríamos de conhecer o valor exacto de x.
Necessitamos então de uma fórmula em função do valor aproximado x . Como:
| x | = | x − ( x − x) | ≥ | x | − | x − x | = | x | − | Δx |
obtemos
| Δx |
|rx|≤ (5)
| x | - | Δx |
15
para | r x | . Se soubermos que | Δ x | é muito pequeno quando comparado com x então (5)
| Δx |
|rx|≈
x
Épsilon da máquina
x − fl ( x) x2 − x1 2 E −t −1 1
rx = < = E
= × 2 −t −1 ≤ 2 −t
x 2 x M ×2 M
É fácil comprovar que a cota do erro relativo se multiplicaria por 2 no caso de se utilizar
arredondamento por corte, ou seja:
A diferença entre 1 e o menor número 1+ε que é maior que 1 mas que não se armazena como 1
é designado épsilon da máquina ou unidade de arredondamento da máquina. Denota-se εM.
Para um computador que armazena mantissas normalizadas de t bits,
16
⎧ 21−t se o computador trunca ao armazenar
ε M = ⎨ −t
⎩2 se o computador arredonda ao armazenar
17
Δ x = x − x ≤ 0.5 × 10 E −n (6)
valor aproximado tem pelo menos n algarismos significativos correctos, então o seu erro
relativo não excede:
1
(7)
a1 × 10n−1
x ≥ x − Δ x ≥ 0. a1 × 10 p − Δ x
pelo que,
Δx 0.5 × 10 p −n
rx = ≤
x 0.a1 × 10 p − 0.5 × 10 p −n
ou:
1
rx ≤
2 a1 × 10 n −1 − 1
Como, por outro lado:
2 a1 × 10 n −1 − 1 ≥ a1 × 10 n −1
vem:
1
rx ≤ c.q.d.
a1 × 10 n −1
18
Pode também demonstrar-se o seguinte resultado:
1
|rx|≤ (8)
2 × a1 × 10n −1
Exemplo 1.11: Qual o limite superior do erro relativo quando se toma π =3.14?
19
• Teorema 2: Se a1≠0 é o primeiro algarismo significativo do valor aproximado x de um
número cujo erro relativo não excede
1
(9)
2 ( a1 + 1 ) × 10 n −1
então esse valor aproximado x tem pelo menos n algarismos significativos correctos.
1 −n
Como 1≤a1≤9 então 2≤a1+1≤10 pelo que o mínimo valor da fracção (9) é: 10 . Por
2
conseguinte:
| rx | ≤ 0.5 × 10 − n (10)
5. Propagação do erro
| Δ f | = | f ' (ξ ) | | Δ x |
20
com ξ ∈ ( x , x) . Como este ponto não é conhecido com rigor, poderemos conhecer um
majorante de | Δ f | se substituirmos a derivada de f por um seu limite superior, ou seja
significativos correctos.
1
Como f ( x) = x vem f ' ( x) = .
2 x
Sendo x = 4.00 com n=3 podemos concluir que 3.995 ≤ x ≤ 4.005 . Então:
1
max f ' ( x) = , pelo que:
3.995≤ x ≤ 4.005 2 3.995
1
Δf ≤ × 0.5 ×10 −2 ≈ 0.12508 ×10 −2
2 3.995
n ⎛ ∂f ⎞
|Δ f | ≤ ∑ ⎜⎜ ∂x | Δ xi |⎟
⎟
(12)
i =1 ⎝ i max ⎠
21
Exemplo 1.14: Dada uma função f(x,y,z) das variáveis x,y,z determinar um limite
superior do valor absoluto do erro que vem para o valor da função f , quando se
∂f ∂f ∂f
| Δf | ≤ | Δx | + | Δy | + | Δz |
∂x max ∂y max
∂z max
∂f 1
= π d 2 = 21.5
∂d 2
Utilizando a fórmula de propagação do erro (12)
∂V ∂V
|ΔV | ≤ Δπ + Δd =
∂π ∂d
= 8.44 × 0.005 + 21.5 × 0.05 = 1.117 cm3 ≈ 1.1 cm3
1
e portanto: V = π d 3 ≈ 26.5 cm3 ± 1.1 cm3
6
Com base na fórmula de propagação do erro (12), podemos facilmente encontrar as regras para
a propagação de erros nas 4 operações aritméticas. Assim, para o erro absoluto:
22
| Δ ( x ± y) | ≤ | Δ x | + | Δ y |
| Δ ( x ⋅ y ) | ≈ | Δx || y | + | Δy || x |
| Δx || y | + | Δy || x |
| Δ ( x/y ) | ≈
y2
x y
| r ( x± y ) | ≈ | | |rx|+| || r y |
x± y x± y
| r ( x⋅ y ) | ≈ | r x | + | r y |
| r ( x/y ) | ≈ | r x | + | r y |
Analisando as expressões anteriores, verifica-se que dois tipos de situações podem constituir
uma importante fonte de erros ao trabalhar com aritmética de ponto flutuante:
(a) quando se soma (ou subtrai) um número muito pequeno a (de) um número de muito
maior ordem de grandeza;
(b) quando se subtraem números muito próximos.
Para efectuar um teste do caso (a), em computador, considere novamente o Exemplo 1.1,
referido no início do capítulo.
Exemplo 1.1: Efectue um programa de cálculo que adicione dez mil vezes o valor
0.00001 a uma unidade. Compare o resultado obtido com o resultado exacto calculando a
percentagem de erro.
23
Para explicar porque ocorrem os erros de arredondamento do exemplo 1.1, considere-se
o cálculo de 1+0.00001 num computador em simples precisão. As representações
binárias de 1 e de 0.00001 são, respectivamente,
(1)10 + (0.00001)10 =
= ( .1000 0000 0000 0000 0101 0011 1110 0010 1101 0110 0 ) 2 × 21
que é equivalente a (1.0000 0001 36)10 . Então, sempre que 0.00001 é somado a 1, o
resultado tem um erro de 0.0000000136. Quando a adição é repetida dez mil vezes, é
gerado um erro de exactamente dez mil vezes 0.0000000136.
Atente-se agora no segundo tipo de situação que pode constituir importante fonte de
erros, referenciada anteriormente por (b). Analisando a fórmula do erro relativo da subtracção,
conclui-se que se x e y são números muito próximos o valor x-y torna-se muito pequeno, e
consequentemente o erro relativo da diferença dos dois números pode amplificar-se muito.
Esta amplificação do erro relativo designa-se por cancelamento subtractivo e corresponde,
portanto, à perda de algarismos significativos (e consequente aumento do erro relativo)
resultante da subtracção de números muito próximos.
24
Exemplo 1.16: Para x = 14000 , determine x +1 − x , arredondando todos os números
(base 10) a 7 algarismos significativos. Sugira uma forma de evitar o cancelamento
subtractivo.
x +1 − x = ( x +1 − x ) x +1 +
x +1 +
x
x
=
1
x +1 + x
.
Ora, 1
14001 − 14000 = ≈
14001 + 14000
1
≈ = 0.004225696
118.3258 + 118.3216
Exemplo 1.17: Um fenómeno idêntico pode ocorrer no cálculo das raízes de uma equação
do 2º grau utilizando a fórmula habitual. No caso de
b2 << | 4 a c | , então b2 - 4 a c ≈ | b |
Neste caso pode obviar-se ao problema se utilizarmos a seguinte forma alternativa para
calcular as raízes da equação do 2º grau:
−2c −b − b2 − 4 a c
x1 = , x2 = se b > 0
b+ b2 − 4 a c 2a
−b + b −4ac
2
−2c
x1 = , x2 = se b < 0
2a b − b2 − 4 a c
25
O cancelamento subtractivo explica também os resultados obtidos no Exemplo 1.2, ou
seja, a razão porque a aproximação não se torna mais exacta quando Δx se aproxima de zero.
Para um Δx suficientemente pequeno, o numerador de d perde significado devido ao
cancelamento subtractivo e este erro, por sua vez, amplifica-se quando se divide por Δx. Uma
vez iniciado o cancelamento subtractivo, as diminuições sucessivas de Δx fazem com que
a+Δx se arredonde a a ou f(a+Δx) e f(a) coincidam com a precisão da máquina, pelo que se
obtém d=0.
A propagação do erro pode também estar relacionada com o tipo de problema
matemático que se pretende resolver. Em geral, diz-se que um problema matemático é mal
condicionado se for muito sensível a pequenas alterações nos seus dados; se a solução
apresenta fraca sensibilidade às variações nos dados, o problema diz-se bem condicionado.
Não se vai dar grande relevo neste capítulo aos erros de truncatura pois, como vimos
anteriormente, dependem do método numérico utilizado e por isso serão individualmente
analisados ao estudar os vários métodos no decurso dos diferentes capítulos da disciplina.
Vamos limitar a análise a um exemplo concreto que ajuda a uma melhor percepção deste tipo
de erros e introduz uma das formulações matemáticas mais utilizadas no âmbito dos métodos
numéricos: a série de Taylor.
26
Após termos visto como é que os computadores representam os números a pergunta
que se segue é: como representam as funções? Como referido, os computadores apenas
podem executar as quatro operações aritméticas básicas: adição, subtracção, multiplicação
e divisão. Assim, por exemplo, um computador pode representar facilmente
f ( x) = a x 2 + b x + c pois esta função envolve apenas operações aritméticas básicas. Em
x dy
contraste, funções transcendentes, como por exemplo, ln x = ∫ , envolvem, para além das
1 y
operações aritméticas básicas, outras operações, neste caso integração. Vejamos então uma das
formulações matemáticas mais utilizadas no âmbito dos métodos numéricos para exprimir
funções: a série de Taylor.
Consideremos uma função f(x) contínua e com derivadas contínuas, de qualquer ordem,
na vizinhança de x = x0 . Esta função pode ser representada de forma exacta e única em
f ' ' ( x0 ) f ( n ) ( x0 )
f ( x) = f ( x0 ) + f ' ( x0 ) ( x − x0 ) + ( x − x0 ) 2 + ... + ( x − x0 ) n + ... =
2! n!
(13)
∞ (k )
f ( x0 )
= ∑ k!
( x − x0 ) k
k =0
(n) ∞ (k)
f ′′(0) 2 f (0) n f (0) k
f ( x) = f (0) + f ′ (0) x + x + ... + x + ... = ∑ x (14)
2! n! k=0 k!
x 2 x3 xn
ex = 1 + x + + + ... + + ... (15)
2! 3! n!
27
x3 x5 x 7
sin x = x − + − + ... (16)
3! 5! 7!
x 2 x 4 x6
cos x = 1 − + − + ... (17)
2! 4! 6!
f '' ( x0 ) f ( n ) ( x0 )
f ( x) = f ( x0 ) + f '( x0 )( x − x0 ) + ( x − x0 )2 + ... + ( x − x0 )n + Rn ( x)
2! n!
144444444444424444444444443
pn ( x)
em que p n (x) é designado por polinómio de Taylor de ordem n para f em torno de x0 e R n (x)
termos de ordem n+1 e superiores) associado a p n (x) . Este erro pode ser expresso por:
f ( n +1) (ξ )
R n ( x) = ( x - x0 )n +1 (18)
(n + 1)!
Taylor pode ser tão exacta quanto se queira, bastando para tal considerar um número
suficientemente elevado de termos. Como ξ não pode, em geral, ser determinado é apenas
28
possível calcular um limite superior para R n (x) pela consideração de um majorante para
( n +1)
f (ξ ) .
Utilizando (14) o valor de “e” pode ser expresso pela soma infinita (recorde que, por
definição, 0!=1):
∞
1
e=∑
i =0 i!
Truncando a série, por exemplo após os 8 primeiros termos, obtemos:
7
1
e= ∑ i! ≈ 2.7182539 ,
i =0
cujas primeiras 4 casas decimais coincidem com o valor
e
derivada 0 ≤ x ≤ 1 será e, pelo que R7 ( x) ≤ ≈ 0.67 × 10 − 4 , o que de acordo com (4)
8!
garante pelo menos 3 casas decimais correctas. No caso deste exemplo, como
R n ( x) → 0 , quanto maior for o número de termos da série de Taylor considerados,
n →∞
O exemplo anterior ilustra um método numérico para o cálculo do número "e" entre
outros possíveis.
29
Exemplo 1.20: A figura 4 ilustra graficamente a forma como a função cos x é aproximada no
intervalo 0 ≤ x ≤ π utilizando diferentes polinómios p k (x) , k=1, 2 e 3, obtidos truncando a série de
Maclaurin (14), ou seja:
πk
∞ cos 2 4 6
cos x = ∑ 2 x k = 1 − x + x − x + ...
k =0 k! 2 ! 4! 6!
2 4
x x
x
2 1− +
1− 2 4!
2
2 4 6
x x x
1− + − cos (x)
2 4! 6!
(× π )
Utilizando a expansão em série de Taylor, truncamos a série infinita, utilizando uma soma
parcial. Este tipo de erro, motivado por truncar uma série - erro de truncatura - é inerente à
maioria dos métodos numéricos.
7. Discretização
∫ (a )
2π
∫ sin 2 x + b2 cos2 x dθ
2
P = ds =
0
30
que é um integral elíptico de segundo tipo, que não admite solução analítica. Por isso é que,
contrariamente ao caso do círculo para o qual
2π
∫ ∫ r dθ = [r θ ]0 = 2 π R
2π
P = ds = (19)
0
não se conhece a fórmula analítica do perímetro de uma elipse. O cálculo terá de ser efectuado
numericamente. Como veremos no Capítulo 5, o problema contínuo do cálculo do integral será
substituído pelo problema discreto do cálculo de uma soma, introduzindo um erro de discretização.
para o valor exacto ( Paprox. → P ). No entanto, qualquer que seja o valor n (finito), obteremos
⎛α ⎞
l = 2 R sin ⎜ ⎟
⎝2⎠ Paprox.
P
n
(a) (b)
31
8. Métodos iterativos
em que a função de iteração g será, em geral, não apenas função de xk −1 , x k −2 , ... , x k −n mas
também de valores de f(x) e das suas derivadas em um ou mais desses pontos.
O caso mais simples corresponde às fórmulas de iteração estacionárias de um ponto que,
como veremos no Capítulo 2, têm a forma:
xk = g ( xk −1 ) , k = 1, 2, ...
Cada passo tem o nome de iteração. O índice k indica a iteração presente. O processo
tem que ser iniciado com uma aproximação inicial, x0.
Dada a aproximação inicial x0∈[a,b], um método iterativo diz-se convergente no caso
das sucessivas aproximações:
x1 , x2 , x3 , ... , xk , ...
Como os nossos meios de cálculo são limitados, os processos iterativos devem ser
terminados ao fim de um número finito de iterações. Na prática, o processo termina quando
uma certa precisão for atingida. As condições impostas para que esta situação se verifique
definem o chamado critério de paragem (ou convergência) do processo iterativo (por exemplo,
xk estar próximo de α ou f ( xk ) ser próximo de 0, ou após um número máximo de iterações).
32
Exercícios propostos
1
6. Mostre que o número não pode ser representado por uma expressão finita no sistema
5
binário.
33
9. Considere um computador com uma palavra de 32 bits que utiliza a representação de ponto
flutuante normalizada: F(b,t,p,E0) = F(2,24,8,128)
a) Efectue a representação interna do número real (-2/15)10.
b) Efectue a representação interna do número inteiro (-10)10 , sabendo que o mesmo foi
declarado como INTEGER*2.
13. Considere um sistema de ponto flutuante normalizado de base 2, constituído por palavras
de 8 bits, sendo 1 bit reservado para o sinal da mantissa, 3 bits para a magnitude do expoente
(E0=4) e 4 bits para a magnitude da mantissa. Calcule em decimal os limites positivos de
overflow e underflow desse sistema.
14. Mostre que: “ num sistema de ponto flutuante de um computador o valor do expoente
máximo é dado por: Emax = 2 p − 1 − E0 , sendo o valor de E0 dado, em geral, por: E0 = 2 p −1 ,
onde p representa o número de bits reservado para a característica C (C=E+E0)”. Justifique
convenientemente a sua resposta.
15. a) Mostre que num sistema de numeração de virgula flutuante normalizado F=F(b, t, p, E0),
no qual todos os dígitos da mantissa são armazenados, existem
2 (b − 1) b t − 1 ( E max − E min + 1 ) + 1
34
b) Considere b=2, t=2, p=3, E0=2p-1. Quais os números reais positivos representados neste
sistema?
16. Considere um sistema hipotético de ponto flutuante normalizado de base 2 que efectue a
representação de números através de uma palavra de 7 "bits" (b=2, t=3, p=3, E0=4).
a) Calcule em decimal os limites positivos de “underflow” e “overflow” e determine quantos
números distintos se podem representar nesse sistema.
b) Mostre que o maior número inteiro N (base 10), que tem a particularidade de qualquer
inteiro x satisfazendo: 0 ≤ x ≤ N ser representado de modo exacto em forma de ponto flutuante,
t
é dado por: N = 2 .
17. Do cimo de uma torre foi lançado verticalmente um corpo. A equação que rege o
respectivo movimento é:
1
s (t ) = v0 t + g t2
2
na qual g é a aceleração da gravidade (9.8 m/s2), s é o espaço percorrido (m), v0 é a velocidade
inicial com que o corpo é lançado (m/s) e t é o tempo de queda (s).
Sabendo que o corpo foi lançado com velocidade inicial de 5 m/s, podendo este valor
estar afectado de um erro absoluto que não excede 0.1 m/s, e que o tempo que o corpo levou a
atingir o solo foi estimado em 10 ± 0.1 s, determine um valor aproximado para a altura da torre
e obtenha um majorante para o respectivo erro.
18. O valor 1.315, com as três casas decimais correctas, corresponde ao raio, em metros, de
um círculo. Calcular a área do mesmo, assim como o número de algarismos significativos
do respectivo resultado. Considere para π o valor 3.142.
20. A aceleração da gravidade (g) pode ser determinada empiricamente por medição do
período de oscilação (T) de um pêndulo de comprimento L através de: g = 4 π 2 L / T 2 .
Qual o número de algarismos significativos correctos necessários na medição de T para
garantir uma precisão de 0.2% na determinação de g, sabendo que o comprimento do
pêndulo foi avaliado em L = 5 ± 0.005 m. Considere, em primeira aproximação, que o
número de dígitos correctos utilizados na aproximação de π é suficientemente grande para
se poder desprezar o respectivo erro.
35
21. A capacidade de um depósito cilíndrico é dada por V = π (R − e ) h , onde R é o raio
2
22. O raio de uma esfera com 3 algarismos significativos correctos é igual a 1.00 m.
Determinar a aproximação que deve tomar para π , por forma a obter o volume da esfera
( V = 4 3 π R3 ) com uma precisão mínima de 5%.
1
24. Pretende-se obter a capacidade de um reservatório cónico circular ( V = π r 2 h ) com 4
3
algarismos significativos correctos. Supondo que se utiliza nos cálculos um valor de π com 6
casas decimais correctas, qual terá de ser a precisão do aparelho de medida a utilizar na
obtenção das respectivas dimensões lineares do reservatório (raio, r, e altura, h). Justifique a
sua resposta.
25. Um construtor civil comprou um terreno de habitação à Câmara Municipal com uma área
de aproximadamente 150x200 m2. Na medição de cada um dos lados do terreno, comprimento
e largura, tolerou-se um erro de ± 5 cm por cada 10 metros.
a) Calcule a percentagem máxima de erro de que vem afectado o valor da área do terreno,
devido ao facto dos seus lados não terem sido medidos exactamente.
b) O construtor deseja dividir o referido terreno em lotes para habitação com aproximadamente
600 m2 cada um, admitindo uma percentagem máxima de erro de 1% em cada um deles. Por
este facto, não lhe é possível determinar com exactidão o número de lotes que se podem obter
com a área total do terreno. Qual é então o número máximo e o número mínimo de lotes que o
construtor poderá obter? Justifique.
36
26. Um depósito cilíndrico de secção elíptica tem um volume interior aproximadamente igual a
25 m3 (V=πabh, sendo a e b os semi-eixos da elipse e h a altura do depósito). Pretendendo-se
efectuar uma determinação mais rigorosa daquele volume interior (com 3 algarismos
significativos correctos), considerou-se o valor de π com 4 algarismos significativos correctos
e mediram-se a e b, tendo-se obtido a=1.311±0.001 m e o valor arredondado b =2.100 m.
a) Determinar limites superiores para os erros absolutos e relativos de π, a e b.
b) Determinar qual a precisão com que deve ser efectuada a medição da última dimensão, h,
por forma a conseguir-se o cálculo de V com a precisão desejada.
c) Supor agora que se pretende determinar V com 4 algarismos significativos correctos,
verificar se tal é possível recorrendo apenas ao aumento do número de algarismos
significativos de π e, em caso afirmativo, determinar esse número.
28. O módulo de Young E (módulo de elasticidade) pode ser determinado com base na
deflexão s que uma barra de secção rectangular sofre quando sobre a mesma se exerce uma
força F, através da seguinte expressão:
1 F l3
E=
4 a 3b s
37
29. Quantos algarismos significativos correctos se pode garantir que existem no resultado do
produto de 13.2 por 0.012579, supondo que os algarismos significativos destes números são,
todos eles, correctos. Justificar a resposta.
31. Dado 10 = 3.162278 , calcule com uma precisão mínima absoluta de 10-5 o valor de
10 − π . Justifique os cálculos.
38