Post on 03-Dec-2018
Cálculo Numérico
Conceitos Básicos
Prof. Jorge Cavalcanti – jorge.cavalcanti@univasf.edu.br
www.univasf.edu.br/~jorge.cavalcanti -www.twitter.com/jorgecav
MATERIAL ADAPTADO DOS SLIDES DA DISCIPLINA CÁLCULO NUMÉRICO DA UFCG - www.dsc.ufcg.edu.br/~cnum/
1
Princípios usados em CN
2
Fluxograma – Solução Numérica
PROBLEMAMODELO
MATEMÁTICOSOLUÇÃO
modelagem resolução
PROBLEMA
ESCOLHA DO MÉTODO
NUMÉRICO
IMPLEMENTAÇÃO COMPUTACIONAL
CONSTRUÇÃO DO MODELO
MATEMÁTICO
LEVANTAMENTO DE DADOS
ANÁLISE DOS RESULTADOS
VERIFICAÇÃO
Princípios usados em CN
Comuns à análise matemática:
1. Iteração ou aproximação sucessiva Partindo-se de solução aproximada, inicial,
repetem-se mesmas ações/processos para refinar solução inicial
OBS: para evitar trabalho sem fim (e de graça), deve-se determinar se a iteração converge (nem sempre é o caso...) e condições de parada
3
Princípios usados em CN
2. Discretização Na resolução de problemas contínuos
devemos discretizar o problema.
Ex: ~ Σ... dxex2
4
Princípios usados em CN
3. Aproximação Substituir uma função ou modelo por outro
que ofereça comportamento (de interesse)
semelhante, mais simples de manipular
f(x) g(x)
Ex: assíntotas ilustram comportamento “no limite”
de uma função (complexa) de interesse
5
Princípios usados em CN
4. Transformação
Dado um problema P, desmembra-se P
em dois problemas mais simples de
resolver, P1 e P2
Área de um trapézio por retângulo (P1) e
triângulos (P2)
6
Princípios usados em CN
5. Divisão e Conquista
Resolver um problema P, por partes ou
etapas
Exemplo anterior (área do trapézio)
Aulas nesta disciplina de CN
7
Sistemas de numeração
Representação posicional
Base decimal (10)
10 dígitos disponíveis [0,1,2, ... ,9]
“Posição” indica potência positiva de 10
5432 = 5x103 + 4x102 + 3x101 + 2x100
N=anbn+an-1b
n-1+an-2bn-2+...+a0b
0+a-1b-1+... +a-mb-m
N é um dado numero na base b e an, an-1 etc
representam os coeficientes que multiplicam as
potências de b.
8
Sistemas de numeração
Representação de inteiros
Base binária (2)
2 “bits” disponíveis [0,1]
“Posição” indica potência positiva de 2
11011 na base 2 = 1x24 +1x23 + 0x22 + 1x21 +
1x20 = 16 +8+0+2+1 = 27 na base decimal
9
Sistemas de numeração
Representação de números fracionários
Base decimal (10)
“Posição” da parte inteira indica potência positiva
de 10
Potência negativa de 10 para parte fracionária
54,32 = 5x101 + 4x100 + 3x10-1 + 2x10-2
10
Sistemas de numeração
Representação de números fracionários
Base binária (2)
“Posição” da parte inteira indica potência positiva
de 2
Potência negativa de 2 para parte fracionária
10,11 na base 2 = 1x21 + 0x20 + 1x2-1 + 1x2-2 =
2+0+1/2+1/4 = 2,75 na base decimal
11
Outros sistemas de numeração
Maior interesse em decimal (10)
Nossa anatomia e cultura
e binário (2)
Uso nos computadores
Outros sistemas
Octal (8), {0,1,2, ... , 7}
Hexadecimal (16), {0,1,2, ... , 9, A,B,C,D,E,F}
Dodecimal (relógio, calendário)
12
Alguns sistemas numéricos
Decimal Binário Octal Hexadecimal
0 0 0 0
1 1 1 1
2 10 2 2
3 11 3 3
4 100 4 4
5 101 5 5
6 110 6 6
7 111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F
13
Conversão de Inteiros
Binário para decimal
Já visto
11011 na base 2 = 1x24 +1x23 + 0x22 + 1x21 + 1x20 = 16
+8+0+2+1 = 27 na base decimal
Inteiro decimal para binário
Divisão inteira (do quociente) sucessiva por 2, até que
resto seja = 0 ou 1
Binário = composição do último quociente (Bit Mais
Significativo – MSB) com restos (primeiro resto é bit
menos significativo – LSB)
Em inglês, Most Significant Bit – MSB e least significat bit – LSB, respectivamente.
14
Conversão de inteiro Exemplo: Converter 25 decimal para binário
25 / 2 = 12 (quociente) e resto 1= LSB
12 / 2 = 6 (quociente) e resto 0
6 / 2 = 3 (quociente) e resto 0
3 / 2 = 1 (último quociente=MSB) e resto 1
Binário = MSB ... LSB = 1 1 0 0 1= 1x24 + 1x24 + 0x22 + 0x21 + 1x20
= 16 + 8 + 0 + 0 + 1 = 25 decimal
15
Conversão de Inteiros entre Sistemas
Procedimentos básicos: - divisão
- polinômio
- agrupamento de bits
16
BINÁRIO
HEXADECIMAL OCTALDECIMAL
DIVPO
LI
DIV
POLI POLI
DIV
Conversão (Inteiros) entre
sistemas
17
Sentido
da leitura
125 2
62 2
1 31 2
0 15 2
1 7 2
1 3 2
111
12510 = 11111012
O resto 15 érepresentado pelaletra F
Sentido
da leitura
53810 = 21F16
543 16
33 16
151
2
Conversão (Inteiros) entre sistemas
Conversão octal hexadecimal
Não é realizada diretamente não há relação depotências entre as bases oito e dezesseis.
Semelhante à conversão entre duas basesquaisquer base intermediária (base binária)
Conversão em duas etapas:
1 - número: base octal (hexadecimal) binária.
2 - resultado intermediário: binária hexadecimal (octal).
Conversão de fração
Operação inversa: multiplicar parte
fracionária por 2 até que parte fracionária
do resultado seja 0 (zero)
Bits da parte fracionária derivados das
partes inteiras das multiplicações
Bit imediatamente à direita da vírgula =
Parte inteira da primeira multiplicação
20
Conversão de fração
Exemplo: converter 0,625 decimal para binário
0,625 x 2 = 1,25 logo a primeira casa fracionária é
1 ; nova fração (resto) é 0,25 (1,25-1=0,25)
0,25 x 2 = 0,5 segunda casa é 0 ; resto é 0,5
0,5 x 2 = 1,0 terceira casa é 1 ; resto é zero.
Resultado: 0,62510 = 0,1012
21
Conversão partes
inteira,fracionária juntas
Para converter um número com parte
inteira e parte fracionária, fazer a
conversão de cada parte, separadamente.
22
mm
22
11
00
2n2n
1n1n
nn ba...bababa...bababa
Parte Inteira Parte Fracionária
Exercícios
Mostre que:
5,8 = 101,11001100... , é uma dízima.
11,6 = 1011,10011001100...
a vírgula foi deslocada uma casa para a direita,
pois 11,6 = 2 x 5,8 .
24
Representação em ponto
(vírgula) flutuante - float
Representação pode variar (“flutuar”) a
posição da vírgula, ajustando potência da
base.
54,32 = 54,32 x 100 = 5,432 x 101 = 0,5432 x
102 = 5432,0 x 10-2
Forma normalizada usa um único dígito antes
da vírgula, diferente de zero
Exemplo: 5,432 x 101
25
Representação em ponto
(vírgula) flutuante - float No sistema binário:
110101 = 110,101x23 = 1,10101x25 = 0,0110101x27
No caso dos números serem armazenados em um computador, os expoentes serão também gravados na base dois Como 310 = 112 e 7=1112
110,101 x (2)11 = 1,10101x(2)101 = 0,0110101x(2)111
Na representação normalizada, há apenas um “1” antes da vírgula Exemplo: 1,10101x(2)101
26
Representação em ponto
(vírgula) flutuante - float Algumas definições
No número 1,10101x(2)101 , tomado como referência: 1,10101 = significando (ou “mantissa”)
101 = expoente
OBS: a base binária não precisa ser explicitada (o
computador usa sempre esta)
O “1” antes da vírgula, na representação normalizada – se esta for adotada, também pode ficar implícito, economizando um bit (“bit escondido”).
27
Representação em ponto
(vírgula) flutuante - float
Representação genérica
Uma máquina representa um número real no sistema
de aritmética de ponto flutuante, na forma:
±(.d1d2...dt ) x (b)exp ,
t é o número de dígitos da mantissa
d1d2...dt = mantissa, com 0 di (b-1), d1≠ 0.
b = base
exp = expoente (inteiro com sinal)
28
Representação em ponto
(vírgula) flutuante - float
Representação genérica
Considere uma máquina que opera no sistema:
±(.d1d2...dt ) x (b)exp , onde:
t = 3
b = 10
exp [-5, 5]
1. Como os números serão representados nesse sistema?
2. Qual o menor (m) e o maior número (M), em valor absoluto,
que pode ser representado nesta máquina?
29
Padrão IEEE para floats
O padrão IEEE 754 para ponto (vírgula)
flutuante é a representação mais comum
para números reais em computadores de
hoje, incluindo PC's compatíveis com Intel,
Macintosh, e a maioria das plataformas
Unix/Linux.
30
Padrão IEEE para floats
O padrão (ou norma) IEEE 754 define dois
formatos básicos para os números em
ponto flutuante:
o formato ou precisão simples, com 32 bits; e,
o duplo com 64 bits.
31
Padrão IEEE 754 para floatsSinal Expoente(+/-) Mantissa
Simples (32bits) 1 [bit31] 8 [bits30-23] 23 [bits22-00]
Dupla (64 bits) 1 [bit63] 11 [bits62-52] 52 [bits51-00]
Sinal: 0 = + e 1 = -
Combinações: Sinal + Expoente + Mantissa
32
Erro na representação de floats
Casos especiais: Overflow: número a representar é maior que o maior
número possível de ser representado.
Underflow: número a representar é menor que o menor número possível de ser representado.
Menor Nº que pode ser expresso (DP):
Maior Nº que pode ser expresso (DP):
33
Aritmética com floats
Conhecidos os erros em dois números, é
possível determinar o erro de uma
operação entre eles, como adição,
subtração, multiplicação e divisão.
Erro depende de método / procedimentos
empregados.
34