Top Banner
Cálculo Numérico Conceitos Básicos Prof. Jorge Cavalcanti – [email protected] 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
35

Cálculo Numérico Aplicado - univasf.edu.brunivasf.edu.br/~jorge.cavalcanti/2CN_conceitosBasicos.pdf · Não é realizada diretamente não há relação de potências entre as bases

Dec 03, 2018

Download

Documents

dangkhanh
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Cálculo Numérico Aplicado - univasf.edu.brunivasf.edu.br/~jorge.cavalcanti/2CN_conceitosBasicos.pdf · Não é realizada diretamente não há relação de potências entre as bases

Cálculo Numérico

Conceitos Básicos

Prof. Jorge Cavalcanti – [email protected]

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

Page 2: Cálculo Numérico Aplicado - univasf.edu.brunivasf.edu.br/~jorge.cavalcanti/2CN_conceitosBasicos.pdf · Não é realizada diretamente não há relação de potências entre as bases

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

Page 3: Cálculo Numérico Aplicado - univasf.edu.brunivasf.edu.br/~jorge.cavalcanti/2CN_conceitosBasicos.pdf · Não é realizada diretamente não há relação de potências entre as bases

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

Page 4: Cálculo Numérico Aplicado - univasf.edu.brunivasf.edu.br/~jorge.cavalcanti/2CN_conceitosBasicos.pdf · Não é realizada diretamente não há relação de potências entre as bases

Princípios usados em CN

2. Discretização Na resolução de problemas contínuos

devemos discretizar o problema.

Ex: ~ Σ... dxex2

4

Page 5: Cálculo Numérico Aplicado - univasf.edu.brunivasf.edu.br/~jorge.cavalcanti/2CN_conceitosBasicos.pdf · Não é realizada diretamente não há relação de potências entre as bases

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

Page 6: Cálculo Numérico Aplicado - univasf.edu.brunivasf.edu.br/~jorge.cavalcanti/2CN_conceitosBasicos.pdf · Não é realizada diretamente não há relação de potências entre as bases

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

Page 7: Cálculo Numérico Aplicado - univasf.edu.brunivasf.edu.br/~jorge.cavalcanti/2CN_conceitosBasicos.pdf · Não é realizada diretamente não há relação de potências entre as bases

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

Page 8: Cálculo Numérico Aplicado - univasf.edu.brunivasf.edu.br/~jorge.cavalcanti/2CN_conceitosBasicos.pdf · Não é realizada diretamente não há relação de potências entre as bases

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

Page 9: Cálculo Numérico Aplicado - univasf.edu.brunivasf.edu.br/~jorge.cavalcanti/2CN_conceitosBasicos.pdf · Não é realizada diretamente não há relação de potências entre as bases

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

Page 10: Cálculo Numérico Aplicado - univasf.edu.brunivasf.edu.br/~jorge.cavalcanti/2CN_conceitosBasicos.pdf · Não é realizada diretamente não há relação de potências entre as bases

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

Page 11: Cálculo Numérico Aplicado - univasf.edu.brunivasf.edu.br/~jorge.cavalcanti/2CN_conceitosBasicos.pdf · Não é realizada diretamente não há relação de potências entre as bases

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

Page 12: Cálculo Numérico Aplicado - univasf.edu.brunivasf.edu.br/~jorge.cavalcanti/2CN_conceitosBasicos.pdf · Não é realizada diretamente não há relação de potências entre as bases

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

Page 13: Cálculo Numérico Aplicado - univasf.edu.brunivasf.edu.br/~jorge.cavalcanti/2CN_conceitosBasicos.pdf · Não é realizada diretamente não há relação de potências entre as bases

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

Page 14: Cálculo Numérico Aplicado - univasf.edu.brunivasf.edu.br/~jorge.cavalcanti/2CN_conceitosBasicos.pdf · Não é realizada diretamente não há relação de potências entre as bases

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

Page 15: Cálculo Numérico Aplicado - univasf.edu.brunivasf.edu.br/~jorge.cavalcanti/2CN_conceitosBasicos.pdf · Não é realizada diretamente não há relação de potências entre as bases

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

Page 16: Cálculo Numérico Aplicado - univasf.edu.brunivasf.edu.br/~jorge.cavalcanti/2CN_conceitosBasicos.pdf · Não é realizada diretamente não há relação de potências entre as bases

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

Page 17: Cálculo Numérico Aplicado - univasf.edu.brunivasf.edu.br/~jorge.cavalcanti/2CN_conceitosBasicos.pdf · Não é realizada diretamente não há relação de potências entre as bases

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

Page 18: Cálculo Numérico Aplicado - univasf.edu.brunivasf.edu.br/~jorge.cavalcanti/2CN_conceitosBasicos.pdf · Não é realizada diretamente não há relação de potências entre as bases

Conversão (Inteiros) entre sistemas

a) (1011110010100111)2 = ( ? )16 b) (A79E)16 = ( ? )2

18

Page 19: Cálculo Numérico Aplicado - univasf.edu.brunivasf.edu.br/~jorge.cavalcanti/2CN_conceitosBasicos.pdf · Não é realizada diretamente não há relação de potências entre as bases

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).

Page 20: Cálculo Numérico Aplicado - univasf.edu.brunivasf.edu.br/~jorge.cavalcanti/2CN_conceitosBasicos.pdf · Não é realizada diretamente não há relação de potências entre as bases

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

Page 21: Cálculo Numérico Aplicado - univasf.edu.brunivasf.edu.br/~jorge.cavalcanti/2CN_conceitosBasicos.pdf · Não é realizada diretamente não há relação de potências entre as bases

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

Page 22: Cálculo Numérico Aplicado - univasf.edu.brunivasf.edu.br/~jorge.cavalcanti/2CN_conceitosBasicos.pdf · Não é realizada diretamente não há relação de potências entre as bases

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

Page 23: Cálculo Numérico Aplicado - univasf.edu.brunivasf.edu.br/~jorge.cavalcanti/2CN_conceitosBasicos.pdf · Não é realizada diretamente não há relação de potências entre as bases

Conversão partes

inteira,fracionária juntas

(8,375)10 = ( ? )2

23

Page 24: Cálculo Numérico Aplicado - univasf.edu.brunivasf.edu.br/~jorge.cavalcanti/2CN_conceitosBasicos.pdf · Não é realizada diretamente não há relação de potências entre as bases

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

Page 25: Cálculo Numérico Aplicado - univasf.edu.brunivasf.edu.br/~jorge.cavalcanti/2CN_conceitosBasicos.pdf · Não é realizada diretamente não há relação de potências entre as bases

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

Page 26: Cálculo Numérico Aplicado - univasf.edu.brunivasf.edu.br/~jorge.cavalcanti/2CN_conceitosBasicos.pdf · Não é realizada diretamente não há relação de potências entre as bases

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

Page 27: Cálculo Numérico Aplicado - univasf.edu.brunivasf.edu.br/~jorge.cavalcanti/2CN_conceitosBasicos.pdf · Não é realizada diretamente não há relação de potências entre as bases

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

Page 28: Cálculo Numérico Aplicado - univasf.edu.brunivasf.edu.br/~jorge.cavalcanti/2CN_conceitosBasicos.pdf · Não é realizada diretamente não há relação de potências entre as bases

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

Page 29: Cálculo Numérico Aplicado - univasf.edu.brunivasf.edu.br/~jorge.cavalcanti/2CN_conceitosBasicos.pdf · Não é realizada diretamente não há relação de potências entre as bases

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

Page 30: Cálculo Numérico Aplicado - univasf.edu.brunivasf.edu.br/~jorge.cavalcanti/2CN_conceitosBasicos.pdf · Não é realizada diretamente não há relação de potências entre as bases

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

Page 31: Cálculo Numérico Aplicado - univasf.edu.brunivasf.edu.br/~jorge.cavalcanti/2CN_conceitosBasicos.pdf · Não é realizada diretamente não há relação de potências entre as bases

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

Page 32: Cálculo Numérico Aplicado - univasf.edu.brunivasf.edu.br/~jorge.cavalcanti/2CN_conceitosBasicos.pdf · Não é realizada diretamente não há relação de potências entre as bases

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

Page 33: Cálculo Numérico Aplicado - univasf.edu.brunivasf.edu.br/~jorge.cavalcanti/2CN_conceitosBasicos.pdf · Não é realizada diretamente não há relação de potências entre as bases

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

Page 34: Cálculo Numérico Aplicado - univasf.edu.brunivasf.edu.br/~jorge.cavalcanti/2CN_conceitosBasicos.pdf · Não é realizada diretamente não há relação de potências entre as bases

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

Page 35: Cálculo Numérico Aplicado - univasf.edu.brunivasf.edu.br/~jorge.cavalcanti/2CN_conceitosBasicos.pdf · Não é realizada diretamente não há relação de potências entre as bases

Aritmética com floats

Padrão IEEE 754 define algoritmo para

adição, subtração, multiplicação, divisão e

raiz quadrada e exige que implementações

produzam o(s) mesmo(s) resultado(s).

Igualdade dos bits (resultados) em várias

processadores.

Transportabilidade de software.

35