Você está na página 1de 53

Cálculo Numérico

Introdução

Prof.: Salvador Ramos B. Silva


sramosbs@gmail.com

1
Cálculo Numérico – Introdução

O que é o Cálculo
Numérico ?

2
Cálculo Numérico – Introdução

O Cálculo Numérico corresponde a um conjunto de


ferramentas ou métodos usados para se obter a
solução de problemas matemáticos de forma
aproximada.

Esses métodos se aplicam, principalmente, a problemas


que não apresentam uma solução exata, portanto
precisam ser resolvidos numericamente.

3
Cálculo Numérico – Introdução

Por que produzir


resultados numéricos?

4
Cálculo Numérico – Introdução

1. Um problema de Matemática pode ser resolvido


analiticamente, mas esse método pode se tornar
impraticável com o aumento do tamanho do
problema.

Exemplo: solução de sistemas de equações


lineares.

5
Cálculo Numérico – Introdução

2. A existência de problemas para os quais não existem


métodos matemáticos para solução (não podem ser
resolvidos analiticamente).
Exemplos:

∫e
x2
a) dx não tem primitiva em forma simples;
b) y′ = y + t
2 2
não pode ser resolvido analiticamente;
c) equações diferenciais parciais não lineares podem
ser resolvidas analiticamente só em casos
particulares.

6
Cálculo Numérico – Introdução

Em diversos problemas reais, os dados são medidas e,


como tais, não são exatos. Uma medida física não é
um número, é um intervalo, pela própria imprecisão das
medidas. Daí, trabalha-se sempre com a figura do
erro, inerente à própria medição.

Os métodos aproximados buscam uma aproximação do


que seria o valor exato. Dessa forma, é inerente aos
métodos se trabalhar com a figura da aproximação, do
erro, do desvio.

7
Cálculo Numérico – Introdução
Fluxograma – Solução Numérica

LEVANTAMENTO
DE DADOS
ESCOLHA DO RESOLUÇÃO
MÉTODO IMPLEMENTAÇÃO
PROBLEMA
NUMÉRICO COMPUTACIONAL
CONSTRUÇÃO
DO MODELO
MATEMÁTICO

SOLUÇÃO

8
Método Numérico

É um conjunto de procedimentos utilizados para


resolver um problema numérico.
A escolha do método mais adequado, deve levar
em conta:
a) a precisão requerida para os resultados;
b) capacidade do método em levar ao resultado
(convergência);
c) esforço computacional despendido.

9
Algoritmo

É a descrição seqüencial dos passos que


caracterizam um método numérico.

10
Iteração ou aproximação sucessiva
É a repetição de um processo.
É uma das idéias fundamentais do cálculo
numérico. É caracterizada por:
a) tentativa inicial: é a primeira aproximação da
solução do problema;
b) equação de recorrência: é a equação que,
partindo da solução inicial, realiza-se as
iterações;
c) Teste de parada: é o teste através do qual o
método é finalizado.

11
Cálculo Numérico – Introdução

Aplicações de cálculo numérico

Determinação de raízes de equações


Resolução de sistemas de equações
Interpolação de valores tabelados
Integração numérica
Ajuste de curvas

12
Cálculo Numérico – Bibliografia
RUGGIERO, M. A. G. & LOPES, V. L. R. Cálculo
numérico: aspectos teóricos e computacionais.
2.ed. São Paulo, Makron, 1997.

BARROSO, L. C., BARROSO, M. A., CAMPOS, F. F.,


CARVALHO, M. L. B. & MAIA, M. L. Cálculo Numérico
(Com Aplicações), 2.ed. São Paulo, Editora Harbra,
1987.

13
Sistema de numeração decimal

Por que sistema DECIMAL?

Ordens no sistema decimal.

14
Sistema de numeração binário

Representação de valores em base binária.

15
Sistemas decimal e binário
Conversão de números inteiros:
Em geral, um número na base β, (a j a j −1 K a 2 a1 a 0 ) β
com 0 ≤ a k ≤ (β − 1) e k = 1, K , j , pode ser escrito na
forma polinomial

a j β j + a j −1β j −1 + K a 2 β 2 + a1β1 + a 0 β 0

Ex 1: (347)10 = a 2 β 2 + a1β1 + a 0 β 0
= 3 × 10 2 + 4 × 101 + 7 × 10 0

Ex 2: (10111) 2 = a 4 β 4
+ a3 β 3
+ a 2 β 2
+ a1 β 1
+ a 0 β 0

= 1× 2 4 + 0 × 23 + 1× 2 2 + 1× 21 + 1× 20
Processo para converter um número inteiro
do sistema binário para o sistema decimal

(10111) 2 = a4 β 4 + a3 β 3 + a2 β 2 + a1β 1 + a0 β 0
= 1× 2 4 + 0 × 23 + 1× 2 2 + 1× 21 + 1× 2 0
= 16 + 0 + 4 + 2 + 1 = (23)10
Uma forma de realizar a conversão de base 10 para base 2
é por sucessivas divisões por 2, até o quociente ser 1.
Tomam-se o último quociente e os restos, do último até o
primeiro. Exemplo: converter (347)10 para base 2.

347 2
1 173 2
1 86 2
0 43 2
1 21 2
1 10 2
0 5 2
1 2 2
0 1

Assim, a representação de (347)10 na base 2 será (101011011)2


A representação do número (a j a j −1 K a 2 a1a0 ) 2 para
base 10, também pode ser obtida pelo seguinte
processo:

bj = a j
b j −1 = a j −1 + 2b j
b j − 2 = a j − 2 + 2b j −1
M
b1 = a1 + 2b2
b0 = a 0 + 2b1
Para o número do Ex 2: (10111) 2

bj = a j
b4 = a 4 = 1
b j −1 = a j −1 + 2b j
b3 = a 3 + 2b4 = 0 + 2 × 1 = 2
b j − 2 = a j − 2 + 2b j −1 b2 = a 2 + 2b3 = 1 + 2 × 2 = 5
M b1 = a1 + 2b2 = 1 + 2 × 5 = 11
b1 = a1 + 2b2 b0 = a 0 + 2b1 = 1 + 2 × 11 = 23
b0 = a 0 + 2b1
Processo para converter um número inteiro
do sistema decimal para o binário:
Considere o número (347)10 e (a j a j −1 K a 2 a1 a 0 ) 2
a sua representação na base 2. Pelo processo inverso

N 0 = 347 = 2 ×173 + 1 = 2 × N1 + a0 ⇒ a0 = 1
N1 = 173 = 2 × 86 + 1 = 2 × N 2 + a1 ⇒ a1 = 1
N 2 = 86 = 2 × 43 + 0 = 2 × N 3 + a2 ⇒ a2 = 0
N 3 = 43 = 2 × 21 + 1 = 2 × N 4 + a3 ⇒ a3 = 1
N 4 = 21 = 2 ×10 + 1 = 2 × N 5 + a4 ⇒ a4 = 1
N 5 = 10 = 2 × 5 + 0 = 2 × N 6 + a5 ⇒ a5 = 0
N 6 = 5 = 2 × 2 + 1 = 2 × N 7 + a6 ⇒ a6 = 1 O processo
termina pois
N 7 = 2 = 2 ×1 + 0 = 2 × N 8 + a7 ⇒ a7 = 0
N9 é zero
N 8 = 1 = 2 × 0 + 1 = 2 × N 9 + a8 ⇒ a8 = 1
Conversão de números fracionários de base 10
para 2:
Dado um número entre 0 e 1, como encontrar a sua
representação(0.d 1d 2 K d j K) 2 na base 2?
Exemplo: Considere (0.125)10.
Multiplicando 0.125 por 2 temos:
2 × 0.125 = 0.250 = 0{ + 0{
.25
parte inteira parte fracionária
d1 = 0

Base binária admite somente 0 ou 1.

Logo d1 = 0
Aplicando o mesmo procedimento para 0.250,
2 × 0.250 = 0.500 = 0
{ + 0
{ .5
parte inteira parte fracionária
d 2 =0

E repetindo para 0.5,


2 × 0 .5 = 1 .0 = 1{ + 0
{
parte inteira parte fracionária
d 3 =1
O processo termina pois a parte fracionária é
zero. Assim, a representação de (0.125 )10 , na
base 2, será (0.001) 2.
Seja agora um número entre 0 e 1 no sistema
binário. Como encontrar a sua representação na
base 10?
Considere o número (0.001) 2 = (0.b1b2 Kb j )10

−1 −2 −3 1
(0.001) 2 = 0 × 2 + 0 × 2 + 1× 2 = 0 + 0 + = (0.125)10
8
Observamos que:

(0.5)10 = (0.1)2 tem representação finita na base 2. Logo


os resultados nas bases 2 e 10 são iguais!!!!

(0.11)10 tem representação infinita na base 2, ou seja:

(0.11)10=(0.000111000010100011110101110000101000111101...)2
Outras bases de numeração
Base octal:
utiliza oito dígitos para representar os valores: 0,1,
..., 7.
Base hexadecimal:
utiliza dezesseis dígitos para representar os valores:
0, 1, ..., 9, A, B, ..., E, F.

A mudança entre a base 10 e bases diferentes se


processa da mesma forma que na base binária,
alterando apenas o valor da base.
Sistema de ponto flutuante
Um número pode ser representado em um
sistema de ponto flutuante. Um sistema de ponto
flutuante é do tipo
F(β,t,I,S), onde:
β = base do sistema de numeração,
t = quantidade de dígitos significativos do sistema
I = limite inferior de variação do expoente
S = limite superior de variação do expoente
Forma canônica

Um número real r, na base β, é expresso na forma


canônica:
r = ± 0,d1d2...dt x βe
= (d1/β1 + d2/β2 + ... + dt/βt) x βe,
Onde
β = base do sistema de numeração,
t = quantidade de dígitos significativos do sistema
e = expoente da base, tal que I ≤ e ≤ S, e ∈ Z (característica)

di = dígitos significativos. d1 ≠ 0. Os dt dígitos significativos formam a


mantissa do número.
Representação em ponto flutuante
Exemplo:
Representar no sistema F(10,6,-5,5) o número x = 235,89.

X = 235,89 = 0,23589 x 103.

Observar que este número possui 5 dígitos significativos. Esse


mesmo número não seria possível representar se o sistema
proposto tivesse t < 5 (F(10,4,-5,5), por exemplo).
Nesse caso, só seria possível representar x = 0,2358 x 103
(truncamento) ou 0,2359 x 103 (arredondamento), o que causaria
uma imprecisão na representação.

Um número representado em um sistema de ponto flutuante está


normalizado. (d1 ≠ 0)
Exercícios
Representar os valores abaixo, de forma exata,
nos sistemas de ponto flutuante F(10,4,-5,5) e
F(2,7,-3,3)

a) 0,125(10) b) 5,2(10)
c) 49(10) d) 100(10)
e)1111,011(2) f) 100,0011(2)
Soluções
0,125(10) = 0,001(2). Logo 0,125 x 100 = 0,1 x 2-2

5,2(10) = 101,00110011...(2) . Logo, 0,52 x 10 =


0,10100110011... x 23 (excede t na base 2).

49(10) = 110001(2), ou seja, 0,49 x 102 = 0,110001 x 26


(excede S na base 2)

100(10) = 1100100(2), ou seja, 0,1 x 103 = 0,11001 x 27


(excede S na base 2)

1111,011(2) = 15,375(10), isto é, 0,1111011 x 24 = 0,15375


x 102 (excede S na base 2 e t na base 10).
Código da turma no Google Classroom:

eoqtfwa

32
Sistema de ponto flutuante
Relacione todos os números exatos que podem
ser representados no sistema de ponto flutuante
F(2, 3, -2, 2)
Arredondamento em ponto flutuante

Definição : Arredondar um número é guardar


uma certa quantidade de dígitos, contados a
partir da esquerda para a direita, e ignorando,
conseqüentemente, os demais dígitos do
número.
Arredondamento
Para que o arredondamento ocasione o menor erro
possível, empregamos a seguinte regra:
Seja S a mantissa de um número. Para arredondar um
número na base β, com t dígitos significativos,
calculamos
S + ½ β-t = 0,d1d2...dtdt+1...
e truncamos em t dígitos. Assim, o número
arredondado será:
x = (sinal)(0,d1d2...dt) x βe
Obs.: A fórmula acima dá o valor em base decimal.
Arredondamento
Exemplo: arredondar 0,3146 para 3 dígitos
significativos.
0,3146 + 10-3/2 = 0,3146 + 0,0005 =
= 0,3151.

Truncando 0,3151 em 3 dígitos fica 0,315.


Arredondamento

Regra prática
Se desejarmos um número com n algarismos e:
a) o algarismo desprezado for maior ou igual a 5,
adiciona-se 1 unidade ao n-ésimo dígito;
b) o algarismo desprezado for menor que 5, o enésimo
dígito permanece inalterado;
Exemplo: 2,45879 → 2,459 2,45376 → 2,45
4,67857 → 4,679 4,67749 → 4,677.
Operações aritméticas em ponto
flutuante

Em um sistema de ponto flutuante, são realizados


arredondamentos a cada operação.

Efetuar as operações indicadas abaixo, considerando o


sistema F(10, 3, -4, 4).
a) (11,4 + 3,18) + 5,05 e 11,4 + (3,18 + 5,05)
b) (3,18 x 11,4) / 5,05 e (3,18 / 5,05) x 11,4
c) 3,18 x (5,05 + 11,4) e 3,18 x 5,05 + 3,18 x 11,4)
Representação em uma máquina
A representação de valores numéricos em uma máquina
depende de vários fatores, tais como a arquitetura da
máquina, a linguagem utilizada, entre outros.

De forma genérica, uma máquina de 16 bits armazena


valores (normalizados) da forma abaixo. – = 1 e + = 0.

MANTISSA EXPOENTE

Sinal da mantissa Sinal do expoente


Representação em uma máquina
Exemplos:
(- 7,125)10 = -0,111001 x 23 = -0,111001 x 211
1 1 1 1 0 0 1 0 0 0 0 0 0 0 1 1

(0,21875)10 = (0,00111)2 = 0,111x2-10


0 1 1 1 0 0 0 0 0 0 0 1 0 0 1 0
Erros - Introdução
Os resultados obtidos dependem:
da precisão dos dados de entrada;
de como estes dados são representados no
computador;
das operações efetuadas.
Cálculo Numérico – Erros

Influência dos Erros nas Soluções


Exemplo 1: Falha no lançamento de mísseis
(25/02/1991 – Guerra do Golfo – míssil Patriot)

Limitação na representação
numérica (24 bits)

Erro de 0,34 s no cálculo do


tempo de lançamento.
Resultado:
28 mortos e 98 feridos.
42
Cálculo Numérico – Erros
Influência dos Erros nas Soluções
Exemplo 2: Explosão de foguetes
(04/06/1996 – Guiana Francesa – foguete Ariane 5)
(http://www.sbmac.org.br/bol/bol-2/artigos/ariane5.html)

Limitação na representação
numérica (64 bits / 16 bits)

Erro de trajetória 36,7 s


após o lançamento

43 Prejuízo: U$ 7,5 bilhões


Causa dos erros
Os processos numéricos muitas vezes
acarretam erro na obtenção de resultados.
Esses erros podem ter causas diversas, tais
como:
Erros nos dados de entrada;
Erros de arredondamento durante a computação;
Ordem de cálculo nas operações;
Uso de rotinas inadequadas de cálculo.
Erros nos dados de entrada
Erros provenientes das medições
sistemáticos – por limitação dos instrumentos de
medidas;
fortuitos – devidos a variações acidentais de
temperatura, por exemplo.
Uso de dados matemáticos inexatos. Ex: 1/3, pi,
raiz de 2, etc.
Erros de arredondamento durante a
computação
Exemplo:
Seja calcular o valor de K = (C . D) + E , onde C
= 3,1234 ; D = 18,134 ;
E = 5,52014 ; neste caso K = 62,159875.

Se utilizar-mos para C = 3,12 ; D = 18,1 ; E =


5,52 ; teremos K = 61,992
Ordem de cálculo nas operações
Exemplo: Calcular o valor de V, com A=1, B=2,
C=3;

A+B 1+ 2
1º modo : V= V= =1
C 3

2º modo: V = A + B = 1 + 2 = 0,333... + 0,666... = 0,999...


C C 3 3
Uso de rotinas inadequadas
Ex.: calcular P(x) = ax3 + bx2 + cx + d
Teríamos: a * x *x * x - 3 multiplicações
b*x*x - 2 multiplicações
c*x - 1 multiplicação mais 3 somas.
Utilizando o dispositivo prático de Briot-Ruffini-Horner
tem-se:
(((a * x + b) * x + c) * x) + d – 3 multiplicações e 3
somas.
Podemos ver que o segundo método é mais preciso.
Precisão dos dados de entrada
Exemplo: Determine a área de uma circunferência de
raio 100 m.
Área = π r
2

Seπ = 3 . 14 ⇒ A = 31400 m2
Seπ = 3.1416 ⇒ A = 31416 m2
Seπ = 3.141592654 ⇒ A = 31415.92654 m2

Nesse exemplo observamos que quanto maior o


números de dígitos utilizados, maior será a precisão.
Note que π é irracional.
Representação de números
30000

Exemplo 2. Calcule ∑
x
i =1
i
para xi = 0.5 , para x = 0.11 e x = 0.2
no lápis e no computador.

Resultados obtidos:
a) para x = 0.5
no lápis: S = 15000
no computador: S =15000

b) para x = 0.11
no lápis: S = 3300
no computador: S = 3300.985107 (float)
S = 3300.999982 (double)

c) para x = 0.2
no lápis: S = 6000
no computador: S = 6001.152832 (float)
S = 6001.000089 (double)
O computador opera no sistema binário. O usuário
envia os dados no sistema decimal. Os números são
convertidos para o sistema binário no qual as
operações são realizadas. Finalmente os resultados
são convertidos para a base decimal e transmitidos
para o usuário.

Em uma base um número pode ter uma representação


finita e em outra uma representação infinita
(arredondamentos e truncamentos ocorrem)
Tipos de erro

Seja X o valor exato e X* o valor aproximado de um número.

1.5.1 - Erro Absoluto


Definição :. Definimos erro absoluto como sendo a diferença em módulo
entre o valor exato e o valor aproximado. Denotaremos por EA.
EA = | x – x* |

1.5.2 - Erro Relativo


Definição : É a razão entre o erro absoluto e o valor exato do número.
Denotaremos por ER.
E A | x − x* |
ER = =
| x| |x|
Tipos de erro
Erro Relativo Percentual

Definição : É o erro relativo expresso em percentagem.


Denotaremos por ERP.

EA | x − x* |
E RP = • 100 = • 100
| x| | x|
A questão é que, geralmente, não temos o valor de X.
Nos métodos a serem estudados, será considerada a última
aproximação como sendo o valor de X e a aproximação
anterior como X*

Você também pode gostar