Вы находитесь на странице: 1из 59

| (F. Crispiniano & L.

Olga)1 | AN 2019/2020 | Slide 1 de 57

Análise Numérica
Sumário

Sobre Análise Numérica


Números e Bases
Números em base b qualquer
Conversão de Números para a base b
Introdução à Teoria de Erros
Erros Absoluto e Relativo
Algarismos Significativos e Casas Decimais
Sistema de Ponto Flutuante
Aproximação em Ponto Flutuante
Aritmética em Ponto Flutuante
Efeitos Numéricos
Propagação de Erros

| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 2 de 57


Porquê Análise Numérica? (1)

Grande parte dos problemas de Matemática/Engenharia não


possuem soluções analíticas;
Qualquer medição, na prática, está sujeita a erros;
As máquinas de calcular têm limitações que induzem
frequentemente ao erro;
Análise Numérica é um ramo da Matemática dedicado ao estudo e
desenvolvimento de métodos para a resolução de problemas demasiado
complicados ou impossíveis do ponto de vista prático analítico.

| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 3 de 57


Representação de números em base b (1)

Exemplos: b = 10

1 123=1×102 + 2 × 101 + 3 × 100


2 57.5=5×101 + 7 × 100 + 5 × 10−1 .

| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 4 de 57


Representação de números em base b (2)

Exemplos: b = 3

1 (100)3 =1×32 + 0 × 31 + 0 × 30
2 (121)3 =1×32 + 2 × 31 + 1 × 30 .

| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 5 de 57


Índice

Sobre Análise Numérica


Números e Bases
Números em base b qualquer
Conversão de Números para a base b
Introdução à Teoria de Erros
Erros Absoluto e Relativo
Algarismos Significativos e Casas Decimais
Sistema de Ponto Flutuante
Aproximação em Ponto Flutuante
Aritmética em Ponto Flutuante
Efeitos Numéricos
Propagação de Erros

| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 6 de 57


Generalizações

Para a base b = 10

N = (dn dn−1 . . . d1 d0 .d−1 d−2 . . . )10


= dn 10n + dn−1 10n−1 + · · · + d1 b 1 + d0 100 + d−1 10−1 + d−2 10−2 + . . .

Para a base b qualquer

N = (dn dn−1 . . . d1 d0 .d−1 d−2 . . . )b


= dn b n + dn−1 b n−1 + · · · + d1 b 1 + d0 b 0 + d−1 b −1 + d−2 b −2 + . . .

| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 7 de 57


Índice

Sobre Análise Numérica


Números e Bases
Números em base b qualquer
Conversão de Números para a base b
Introdução à Teoria de Erros
Erros Absoluto e Relativo
Algarismos Significativos e Casas Decimais
Sistema de Ponto Flutuante
Aproximação em Ponto Flutuante
Aritmética em Ponto Flutuante
Efeitos Numéricos
Propagação de Erros

| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 8 de 57


Conversão de Números Inteiros

Como converter N = 126 para a base 4?

1 O resto da divisão de 126 por 4 é o d0


2 O resto da divisão de 31 por 4 é o d1
3 O resto da divisão de 7 por 4 é o d2
4 O resto da divisão de 1 por 4 é o d3

| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 9 de 57


Conversão de Números Fracionários Puros

| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 10 de 57


Conversão de Números - Exercícios

1 Verifique que (10001110)2 = 142 e use o método anterior para


obter a conversão do número 142 para a base 2 (sistema binário);
2 Converta para a base indicada
1 132 (b = 3);
2 1024 (b = 2);
3 Converta para a base binária os seguintes números
1 0.25
2 1.025

| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 11 de 57


Índice

Sobre Análise Numérica


Números e Bases
Números em base b qualquer
Conversão de Números para a base b
Introdução à Teoria de Erros
Erros Absoluto e Relativo
Algarismos Significativos e Casas Decimais
Sistema de Ponto Flutuante
Aproximação em Ponto Flutuante
Aritmética em Ponto Flutuante
Efeitos Numéricos
Propagação de Erros

| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 12 de 57


Fontes e Tipos de Erros

Erros inerentes à modelação dos fenómenos físicos: os


modelos, em geral, representam aproximações da realidade.
Erros nos dados: devido a incerteza existente nas medições de
grandezas físicas. Devem-se às precisões finitas e limitadas pelos
instrumentos de medida. [São estudados no âmbito das
Probabilidades e Estatística].
Erros nos métodos/computacionais: devido à substituição de
modelos matemáticos por tratamento numérico aproximado. (e.g.
derivadas por razões incrementais, integrais por somatórios, etc.
Erros de Arredondamento/Truncatura: devido a limitações dos
instrumentos de cálculo utilizados na efetivação de operações
elementares, os quais trabalham com um número finito de
algarismos.

| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 13 de 57


Erros Absoluto e Relativo - Definições

Seja x ( x̃, ou x ∗ etc.) o valor aproximado duma quantidade cujo


valor real exato é x.
O erro de aproximação de x é
ex = ∆x = x − x
O erro absoluto da aproximação de x é
|ex | = |∆x| = |x − x|
O erro relativo da aproximação de x é

∆x
|δx | =

x
A percentagem de erro é
100% × |δx |

| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 14 de 57


Erros Absoluto e Relativo - Exemplos

1 Se x = 0.000006 e x = 0.000005 (um valor aproximado) tem-se que

|∆x| = 0.000001 e |δx | ≈ 0.2.


Percentagem de erro: 20% (valor não aceitável).
2 Se x = 600000 e x = 606000 tem-se que

|∆x| = 6000 e |δx | ≈ 0.01.


Percentagem de erro: 1%, (boa aproximação).
Conclusão: A informação de boa ou má precisão de uma aproximação
é fornecida pelo erro relativo porque depende da ordem de grandeza
do valor de x.
Nota: Se x < x, então diz-se que a aproximação é por defeito.
Se x > x, então diz-se que a aproximação é por
excesso.Existem muitas notações para o erro absoluto.
| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 15 de 57
Erros Absoluto e Relativo - Majorantes (1)

Define-se erro máximo absoluto (): um majorante do erro


absoluto

|∆x | ≤  ⇔ x ∈ [x − , x + ]

Notação: x = x ±  ⇔ x ∈ [x − , x + ] .
Define-se erro máximo relativo (0 ): um majorante do erro
relativo
 
0 = ≈ .
|x| |x|

Notação: x = x ± (1000 ) % ⇔ x ∈ [x (1 − 0 ) , x (1 + 0 )] .

| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 16 de 57


Erros Absoluto e Relativo - Majorantes (2)

Exemplos
1 x = 1.0 ± 5% ⇔ x ∈ [0.95, 1.05] .
2 π = 3.14 ± 0.001 ⇔ π ∈ [3.139, 3.141] .
0.01
3 Se x = 3.45 com  = 0.01, então 0 ≈ ≈ 3 × 10−3 .
3.45
4 Se x = −2.7 com 0 = 0.07, então  ≈ 0.07 × 2.7 ≈ 0.19.

| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 17 de 57


Índice

Sobre Análise Numérica


Números e Bases
Números em base b qualquer
Conversão de Números para a base b
Introdução à Teoria de Erros
Erros Absoluto e Relativo
Algarismos Significativos e Casas Decimais
Sistema de Ponto Flutuante
Aproximação em Ponto Flutuante
Aritmética em Ponto Flutuante
Efeitos Numéricos
Propagação de Erros

| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 18 de 57


Algarismos Significativos e Casas Decimais

Chamam-se algarismos (ou dígitos) significativos (a.s.) a todos


os dígitos usados na escrita do número com excepção dos zeros
para representar a casa das unidades.
Chamam-se casas decimais (c.d.) ao número de digítos depois do
ponto (ou vírgula).

Exemplos
1 210.002 tem 3 c.d. e 6 a.s.
2 0.314 × 101 tem 3 c.d. e 3 a.s.

Nota: As c.d. dependem das unidades (10k ) enquanto que os


a.s. não!

| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 19 de 57


Alg. Sig. Corretos e Casas Dec. Corretas

Seja x uma aproximação de x.


Diz-se que x tem k casas decimais corretas (c.d.c.) sse

|∆x | ≤ 0.5 × 10−k

Diz-se que x tem l algarismos significativos corretos (a.s.c.) se

|δx | ≤ 5 × 10−l

Observação: Quando se tem um conjunto de números de uma mesma


quantidade x, a melhor aproximação corresponde ao
valor mais próximo do valor exacto. O número de a.s.c.
permite caracterizar essa melhor aproximação.

| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 20 de 57


Alg. Sig. Corretos e Casas Dec. Corretas

Exemplos
Considere-se para cada x uma aproximação x. Tem-se:

x x Erro Absoluto c.d.c. Erro Relativo a.s.c.


29.6324 29.63 0.24 × 10−2 2 ≈ 0.8 × 10−4 4
π 3.14159 0.26 × 10−5 5 ≈ 0.84 × 10−6 6
e 2.71 0.8 × 10−2 1 ≈ 0.3 × 10−2 3

| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 21 de 57


Notação Científica (1)

Representação de números
Seja x ∈ R.

x = ±dn dn−1 · · · d1 d0 .d−1 d−2 · · · × b e


Base do sistema: b
(gama de valores representáveis) Mantissa:
dn dn−1 · · · d1 d0 .d−1 d−2 · · · (com p dígitos - precisão)
Expoente: e ∈ Z
Dígitos: {0, 1, 2, ..., b − 1}

| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 22 de 57


Notação Científica (2)

Observação: Infelizmente para as máquinas («memória finita») não


se pode representar, por exemplo, uma dizima infinita.
Limita-se o número de dígitos para a mantissa e para o
exponte recorrendo a técnicas de obtenção do número
por aproximação: Arredondamento ou Truncatura.

| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 23 de 57


Sistema de Ponto Flutuante Normalizado (1)

Representação de números: FP(b, p, q)

x =0 ∨ x = ±0.d−1 d−2 · · · d−p × b t , com d−1 6= 0


Base do sistema: b
Mantissa: 0.d−1 d−2 · · · d−p (com p dígitos - precisão)
Expoente: t ∈ Z com q dígitos
Dígitos: {0, 1, 2, ..., b − 1}

Nota: A gama de valores para o expoente é simétrica em


relação à origem.

| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 24 de 57


Sistema de Ponto Flutuante Normalizado (2)

Representação de números: FP(b, p, m, M)

x =0 ∨ x = ±0.d−1 d−2 · · · d−p × b t , com d−1 6= 0


Base do sistema: b
Mantissa: 0.d−1 d−2 · · · d−p
Expoente: t ∈ [m, M]
Dígitos: {0, 1, 2, ..., b − 1}

Nota: A gama de valores para o expoente pode não ser


simétrica em relação à origem.

| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 25 de 57


Sistema de Ponto Flutuante Normalizado (3)

Exemplo
O sistema FP (10, 4, 2) é um sistema em que a base é 10, com 4
dígitos na mantissa e o expoente varia entre −99 a 99, ou seja,
todos os números da forma

x =0 ∨ x = ± (0.d−1 d−2 d−3 d−4 ) × 10t1 t2

onde os dígitos pertencem a {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} com a excep-


ção de d−1 6= 0.

| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 26 de 57


Sistema de Ponto Flutuante Normalizado (4)

Exemplos
Representam-se alguns números em sistemas FP:
x = 0.001329 em FP(10, 4, 2) é 0.1329 × 10−2 (exacto);
π = 3.141592... em FP(10, 6, −2, 5) é 0.314159 × 101 (aprox.);
x = 25.4 em FP(10, 4, 2) é 0.2540 × 102 .
x = −5.172 em FP(10, 5, −2, 2) é −0.51720 × 101 ;
π = 3.141592... em FP(10, 6, −2, 5) é 0.314159 × 101 .
x = 0.0123 em FP(10, 3, −2, 2) é 0.123 × 10−1

Nota: 0.0003, 5391.3 ∈


/ FP(10, 3, −2, 2). Porquê?

| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 27 de 57


Sistema de Ponto Flutuante Normalizado (5)

Realmin e Realmax

FP(b, p, q) FP(b, p, m, M)
Intervalo da mantissa [b −1 , 1 − b −p ] [b −1 , 1 − b −p ]
Intervalo do expoente [−k, k] [m, M]
realmin b × b −k
−1 −1
b × bm
realmax (1 − b −p ) × b k (1 − b −p ) × b M

Nota: Em FP(b, p, q):


Se b = 10 e q = 2, k = 99;
Se b = 10 e q = 1, k = 9;
Se b = 2 e q = 3, k = 111.

| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 28 de 57


Sistema de Ponto Flutuante - Limitações

Aproximação de números não representáveis: recorre-se às técnicas


de aproximação, truncatura ou arredondamento
⇒ Erros de representação
x, y ∈ FP ; x ◦ y ∈ FP: Por exemplo,
0.9235, 1.235 ∈ FP(10, 4, 2) mas 0.9235 + 1.235 ∈
/ FP(10, 4, 2)
⇒ Erros de representação
Underflow e Overflow :
⇒ Impossibilidade na representação nos números.

| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 29 de 57


Técnicas de Aproximação em FP (1)

Não sendo possível uma representação exacta de x, estão previstas


duas técnicas para determinar a sua aproximação fl (x):
Truncatura: desprezam-se simplesmente os dígitos do número real
x que não cabem na mantissa. Esta técnica é denotada por

FP (b, p, q, T ) .

Arredondamento: o número real x é representado pelo número do


sistema de ponto flutuante que lhe está mais próximo em valor
absoluto. Esta técnica é denotada por

FP (b, p, q, A) .

| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 30 de 57


Técnicas de Aproximação em FP (2)

Arredondamento
se o primeiro algarismo da parte eliminada for inferior a 5, o
número obtido é a verdadeira representação;
se o primeiro algarismo da parte eliminada for maior que 5,
adiciona-se uma unidade ao algarismo da última ordem decimal
conservada;
se o primeiro algarismo da parte eliminada for igual a 5, pode-se
arredondar para cima (adiciona-se uma unidade ao algarismo da
última ordem decimal conservada) ou fazer arredondamento
simétrico (aproxima-se pelo algarismo par mais próximo).

| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 31 de 57


Técnicas de Aproximação em FP (3)

Exemplos
Representam-se alguns números em ponto flutuante utilizando téc-
nicas de aproximação:
Em FP(10, 4, 2, T ), fl(π) = 0.3141 × 1001
Em FP(10, 4, 2, A), fl(π) = 0.3142 × 1001
Em FP(10, 1, 2, A), fl(0.75) = 0.8 × 1000
Em FP(10, 5, 2, A), fl(0.000241925) = 0.24192 × 10−3

Nota: Seja b a base de um sistema FP, os a.s. são todos os


algarismos de 0 a b − 1, desde que a representação do
número seja na forma normalizada.

| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 32 de 57


Overflow e Underflow

No sistema FP pode acontecer impossibilidade de representação:


1 0.9999 × 10100 ∈
/ FP (10, 4, 2)
2 0.1000 × 10−100 ∈/ FP (10, 4, 2)

| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 33 de 57


Precisão da Máquina: As máquinas de calcular só trabalham com
um número finito de valores discretos. Para determinar a distância
entre dois valores adjacentes necessitamos de conhecer o chamado
epsilon da máquina (M ) , o menor número positivo que
adicionado a 1 dá um número diferente de um.

| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 34 de 57


Índice

Sobre Análise Numérica


Números e Bases
Números em base b qualquer
Conversão de Números para a base b
Introdução à Teoria de Erros
Erros Absoluto e Relativo
Algarismos Significativos e Casas Decimais
Sistema de Ponto Flutuante
Aproximação em Ponto Flutuante
Aritmética em Ponto Flutuante
Efeitos Numéricos
Propagação de Erros

| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 35 de 57


Erros de Rep. - Unidade de Arred. u (1)

Seja x = mb t e x = fl(x) = mb t então

|∆x| = |x − x| = (m − m) b t .

Assim, 
−p
b
 FP (b, p, q, T )
|m − m| ≤
1 −p

2b FP (b, p, q, A)
donde decorre que o erro absoluto é majorado por

t−p
b
 FP (b, p, q, T )
|∆x| ≤
 1 t−p

2b FP (b, p, q, A)

| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 36 de 57


Erros de Rep. - Unidade de Arred. u (2)

Analogamente, para x 6= 0, o erro relativo é dado por


1−p
∆x (m − m) b t m − m
b
 FP (b, p, q, T )
x =
=
m <u=

mb t  1 1−p
2b FP (b, p, q, A)

Unidade de Arredondamento
Truncatura: uT = b 1−p
1−p
Arredondamento: uA = b 2 (metade do valor da unidade de
arredondamento com truncatura)

| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 37 de 57


Erros de Rep. - Unidade de Arred. u (3)

Figura: Unidade de Arredondamento

Nota: Normalmente, para as máquinas, a unidade de


arredondamento varia entre 10−16 e 10−7 .

| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 38 de 57


Erros de Rep. - Unidade de Arred. u (4)

Exemplos
Seja x = 0.2346.
Em FP (10, 3, 2, T ) tem-se x = fl (x) = 0.234 e

∆x −2
x = 0.001705 < 10 = uT .

Em FP (10, 3, 2, A) tem-se x = fl (x) = 0.235 e

10−2

∆x
x = 0.0025575 < 2 = uA .

| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 39 de 57


Índice

Sobre Análise Numérica


Números e Bases
Números em base b qualquer
Conversão de Números para a base b
Introdução à Teoria de Erros
Erros Absoluto e Relativo
Algarismos Significativos e Casas Decimais
Sistema de Ponto Flutuante
Aproximação em Ponto Flutuante
Aritmética em Ponto Flutuante
Efeitos Numéricos
Propagação de Erros

| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 40 de 57


Erros nas Operações Elementares em FP (1)

Operações elementares
Sejam x1 = m1 b t1 e x2 = m2 b t2 :
(
(m1 ± m2 b −(t1 −t2 ) )b t1 se t1 > t2
x1 ±x2 = m1 b t1 ±m2 b t2 =
(m1 b −(t2 −t1 ) ± m2 )b t2 se t1 ≤ t2
x1 × x2 = (m1 × m2 )b t1 +t2
x1 m1 t1 −t2
= b
x2 m2

| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 41 de 57


Erros nas Operações Elementares em FP (2)

Operações Elementares - Passos a seguir


1 Decompor os operandos nas mantissas e expoentes;
2 No caso de soma e subtração, alinhar as mantissas;
3 Realizar as operações com mantissas e com expoentes;
4 Normalizar a mantissa;
5 Arredondar a mantissa;
6 Reunir a mantissa e o expoente.

| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 42 de 57


Erros nas Operações Elementares em FP (3)

Exemplos
Em FP(10, 6, 2, A), 0.256 × 10−2 + 2.52 = 0.252256 × 101 .
Em FP(10, 3, −0, 30), sejam os números x = 0.200 × 10−8 ,
y = 0.400 × 10−5 e z = 0.600 × 1028 .
x × y = 0.8 × 10−14 ∈
/ FP(10, 3, −0, 30)
z 37
= 0.3 × 10 ∈ / FP(10, 3, −0, 30)
x

| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 43 de 57


Índice

Sobre Análise Numérica


Números e Bases
Números em base b qualquer
Conversão de Números para a base b
Introdução à Teoria de Erros
Erros Absoluto e Relativo
Algarismos Significativos e Casas Decimais
Sistema de Ponto Flutuante
Aproximação em Ponto Flutuante
Aritmética em Ponto Flutuante
Efeitos Numéricos
Propagação de Erros

| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 44 de 57


Efeitos Numéricos nas Op. Elem. em FP (1)

A propriedade associativa nem sempre é válida em FP.


?
(a ◦ b) ◦ c = a ◦ (b ◦ c)

Exemplos
1 Em FP(10, 2, 1, A),

(1 + 0.24) + 0.14 6= 1 + (0.24 + 0.14).

2 Em FP(10, 4, 2, A),

(3.567 + 0.0004985) + 0.0004821 6= 3.567 + (0.0004985 + 0.0004821).

| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 45 de 57


Efeitos Numéricos nas Op. Elem. em FP (2)

Verificação do exemplo 2
Método I (da esquerda para a direita)
0.3567 ×10
+ 0.00004985 ×10
≈ 0.3567 × 101

0.35674985 ×10
Método II (da direita para a esquerda)
0.4985 ×10−3
+ 0.4821 ×10−3
0.9806 ×10−3
3.567 ×10
+ 0.0009806 ×10
≈ 0.3568 × 101

3.5679806 ×10

| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 46 de 57


Efeitos Numéricos nas Op. Elem. em FP (3)

Cancelamento aditivo
a + b com a  b ou a  b

Exemplo
1 Em FP(10, 4, 2, A),

3.567 + 0.0004985 = 0.3567 × 1001 .

Nota: Este fenómento também ocorre quando há muitas


parcelas na soma. Com o alinhamento das mantissas,
perdem-se a.s.

| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 47 de 57


Efeitos Numéricos nas Op. Elem. em FP (4)

Cancelamento subtrativo
a − b com a ≈ b

Exemplo
1 Em FP(10, 4, 2, A), consideram-se x1 = 0.43787 × 10−2
x2 = 0.43783 × 10−2 e y = x1 − x2 .
y = fl(x1 ) − fl(x2 ) = 0.1 × 10−5
Donde, |∆y | = 0.6 × 10−6 e |δy | ≈ 1.5 (Valor não aceitável!)

Nota: Perdem-se a.s. e produzem-se erros elevados. O


problema é geralmente resolvido com rearranjos de
cálculo (por ex., com o uso dos dígitos da guarda).

| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 48 de 57


Op. Elem. em FP - Regras Práticas (1)

No produto ou divisão de dois ou mais números aproximados o


resultado deverá ter tantos algarismos significativos quantos os do
número com menos algarismos significativos correctos.
Na potência temos: seja z = x p , p real
se |p| ≈ 1 temos que z tem o mesmo numero de a.s. do que x
se |p| > 10 temos que z perde a.s. em relação a x (se |p| ≈ 10k perde
k a.s.)
se |p| < 10−1 temos que z ganha a.s. em relação a x (se |p| ≈ 10−k
ganha k a.s.)
Para efeitos na regras práticas, os números exactos têm uma
infinidade de a.s.c e c.d.c

| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 49 de 57


Op. Elem. em FP - Regras Práticas (2)

Na adição algébrica perdem-se e ganham-se a.s. [Garante-se o


número c.d..]

Exemplos - multiplicação/adição

12 é exacto e 3.142 tem 4 a.s.c.,


12 × π ≈ 12 × 3.142 u 37.70
assim o resultado vai ter 4 a.s.
23.0789 − 23.0734 = 0.0055 (2 a.s.c.)
75.467 + 86.014 = 161.481 (6 a.s.)

| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 50 de 57


Índice

Sobre Análise Numérica


Números e Bases
Números em base b qualquer
Conversão de Números para a base b
Introdução à Teoria de Erros
Erros Absoluto e Relativo
Algarismos Significativos e Casas Decimais
Sistema de Ponto Flutuante
Aproximação em Ponto Flutuante
Aritmética em Ponto Flutuante
Efeitos Numéricos
Propagação de Erros

| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 51 de 57


Propagação de Erros (1)

Seja x uma valor aproximado de x. Então, pela fórmula de Taylor:

f (x) = f (x) + f 0 (ξ) (x − x) , ξ ∈ ]x, x[


0
⇔f (x) − f (x) = f (ξ) (x − x)
⇒ |f (x) − f (x)| = f 0 (ξ) (x − x)

⇔ |∆f (x)| = f 0 (ξ) |∆x|


Quando f (x) 6= 0, vem que


∆f (x) f 0 (ξ)

0 x
f (x) = f (x) |∆x| ⇔ δf (x) = f (ξ) f (x) |δx|

| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 52 de 57


Propagação de Erros (2)

Quando x está próximo de x, torna-se razoável assumir que


f 0 (ξ) ≈ f 0 (x) . Assim,

|∆f (x)| ≈ |f (x)| |∆x|

e
0

δf (x) ≈ xf (x) |δx |

f (x)
| {z }
*

* Factor de ampliação entre o erro relativo de x e o erro relativo de


f (x).

| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 53 de 57


Condicionamento de uma Função - Definição

Definition 1.
Seja f : R −→ R uma função diferenciável. Chama-se número de
condição de f (x) e representa-se por:
0
xf (x)
cond(f (x)) =

f (x)

| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 54 de 57


Função Bem Condicionada

Se cond (f (x)) ≈ 1, a função é bem condicionada.


Exemplo

1A função f (x) = x é bem condicionada porque
1
cond(f (x)) = . Significa que os erros relativos no cálculo da
2
raíz de um número tendem a reduzir para metade em relação
aos erros relativos iniciais;
√ √
Verificação: Se y = x e y = x, com x = 2 e x = 1.999 vem
que:
|δx| = 0.0005
|δy | ≈ 0.000250

| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 55 de 57


Função Mal Condicionada

Se cond (f (x))  1, a função é mal condicionada.

Exemplos
1 A função g (x) = e x tem cond(g (x)) = |x|. Quanto maior for x
mais mal condicionada é a função g .

| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 56 de 57


Exercícios

1 Calcule x = 12.46485 − 12.45012 = 0.01473 em FP(10,4,2,A)


2 Calcule em FP(10, 4, 2, A) o valor de y = x1 − x2 com
x1 = 0.43787 × 10−2 e x2 = 0.43783 × 10−2 . Calcule os erros
absoluto e relativo. Indique a unidade de arredondamento do
sistema.
3 Calcule em FP(10, 4, 2, T ) o valor de y = x1 − x2 com
x1 = 0.1000 × 100 e x2 = 0.5699 × 10−2 . Calcule os erros absoluto
e relativo. Indique a unidade de arredondamento do sistema.
cos(x)−1
4 Considere a função f (x) = x2
. Calcule f (10−15 ). Análise o
resultado obtido.

| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 57 de 57


Exercícios

Solução (Ex 1)
0.1246 ×102
x = fl (x) = 0.1246 × 102 − 0.1245 × 102 -0.1245 ×102
0.0001 ×102

−→ x = fl (x) = 0.0001 × 102

O erro absoluto |∆x| = |0.01473 − 0.1246 × 102 | = 0.00473


O erro relativo | ∆x x−x
x | = | x | = 32%

| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 58 de 57


Leituras complementares

A.Quartenori, Fausto Saleri.


Scientific Computing With Matlab, Springer-Verlag
Pina, Heitor
Métodos Númericos.
MCGraw Hill

| (F. Crispiniano & L. Olga)1 | AN 2019/2020 | Slide 59 de 57

Вам также может понравиться