Você está na página 1de 13

Representao numrica

Clculo numrico
Professor Walter Cunha

Um conjunto de ferramentas ou mtodos


usados para se obter a soluo de
problemas matemticos de forma
aproximada. Esses mtodos se aplicam
principalmente a problemas que no
apresentam uma soluo exata, portanto
precisam ser resolvidos numericamente.

Exemplo

Exemplos
Porm, digamos que um outro componente eletrnico seja includo
no circuito: um diodo semicondutor. Esse dispositivo tem uma
curva caracterstica, isto , a tenso nesse componente em funo
da corrente, que dada por:

Um circuito eltrico composto de uma


fonte de tenso e um resistor.
Desejamos obter a corrente que circula no
circuito, dado o valor da tenso V e da
resistncia R.

v( i ) =

Lei de Kirchoff
V=R i
R

kT i
ln + 1
q Is

Resulta na seguinte equao:


Ou seja, i = V / R

Para V=10 V e R=100 ,


i

Exemplos

Tornou-se difcil se obter uma expresso para i,


principalmente quando comparado ao caso anterior,
quando tnhamos simplesmente i=V/R.
A soluo est na utilizao de mtodos numricos
que sero aprendidos neste curso.

i=0,1 a.

V R i

kT i
ln + 1 = 0
q Is

Pontos Importantes

Escolher o mtodo a ser utilizado, procurando aquele


que mais adequado para o seu problema. Que vantagens
cada mtodo oferece e que limitaes eles apresentam;
Saber avaliar a qualidade da soluo obtida. Para
isso, importante ele saber exatamente o que est sendo
feito pelo computador ou calculadora, isto , como
determinado mtodo aplicado.

Objetivos

Objetivos

Apresentar diversos mtodos numricos para a resoluo de


diferentes problemas matemticos. Pretende-se deixar bem claro a
importncia desses mtodos, mostrando:

Melhorar a familiarizao e intimidade do aluno com a


matemtica, mostrando seu lado prtico e sua utilidade no dia-a-dia de
um engenheiro.

9A essncia de um mtodo numrico;


9A diferena em relao a solues analticas;
9As situaes em que eles devem ser aplicados;
9As vantagens de se utilizar um mtodo numrico;
9As limitaes na sua aplicao e confiabilidade na soluo obtida.

Apresentar ao aluno maneiras prticas de se desenvolver e utilizar


mtodos numricos.

Ponto fixo e Ponto flutuante

Exemplos
Qual o valor de
2

Nmeros inteiros ponto fixo

= 1,41 ou 1,4142 ou ainda 1,41421356237

Sinal Dgitos

Em uma mquina digital, como uma calculadora ou um


computador, os nmeros no so representados na base
decimal. Eles so representados na base binria, ou seja,
usam o nmero 2 como base. Na base binria existem
somente 2 nmeros: 0 e 1. Portanto, a base binria usada
porque essas mquinas utilizam-se de sinais eltricos,
sendo o 0 para ausncia de sinal e o nmero 1 a presena
do sinal eltrico.

Decimal Ponto flutuante Mantissa Base Exp


1532

0.1532 * 10 4

0.1532

10

15.32

0.1532 * 10

0.1532

10

0.255

10

-2

0.1

10

10

0.1 * 10 2

-2

Nmeros reais ponto flutuante

Sinal

Mantissa

Posio ponto

(0.d1d2d3...d-t) be
d1d2d3...d-t uma frao na base b, tambm chamada de
mantissa, com 0 di b-1, para todo i = 1,2,3,...,t, sendo t
o nmero mximo de dgitos da mantissa e um expoente
que varia em um intervalo dado pelos limites da mquina
utilizada.

Linguagem de programao

Ponto fixo e Ponto flutuante

0.00255 0.255 * 10

Treinar o aluno a aprender outros mtodos numricos por conta


prpria. No seu dia-a-dia profissional, ele pode se deparar com um
problema cuja soluo depende de um mtodo numrico que no foi
visto no curso.

Em qualquer linguagem possvel especificar a


representao que deve ser usada para os nmeros a serem
armazenados em uma dada varivel. Na linguagem C, para
nmeros inteiros - int 2 bytes => ( -32768 , 32767 ).
No caso da representao de ponto flutuante - float =>
nmero mximo de dgitos na base binria igual a 24
(t=24) e expoente entre 126 e 127. Portanto, uma varivel
declarada como float pode armazenar nmeros reais entre
~10-38 e ~1038.

Erro numrico
Clculo da rea de um crculo:

R = 100

O primeiro passo formular um


modelo matemtico para o nosso
sistema fsico e encontrar a soluo do
problema representado por esse
modelo.

Erro numrico
Qual o valor correto?
Depende da confiabilidade esperada !
Erro absoluto = Valor real Valor aproximado
Quanto < erro > preciso

A = Pi R 2

31400
31416
31415,92654

Erro numrico

Erro numrico

Se o resultado de uma operao 2.123.542,7 e o valor


esperado era 2.123.544,5.

Nos exemplos anteriores qual o erro relativo de cada


resultado?

O erro absoluto neste caso 1,8. Comparada com o valor


real, essa diferena bem pequena, portanto, podemos
considerar o resultado preciso.

No primeiro caso o erro relativo de:


0,0000008 ou 0,00008%

Se o resultado de uma operao 0,234 e o resultado


esperado era 0,128. Desta vez o erro absoluto ser igual a
0,106 , porm o resultado bastante impreciso.

No segundo caso o relativo de:


0,83 ou 83%.

Erro relativo = erro absoluto / valor real

Tipos de erro

Tipos de erro

Toda medida experimental apresenta uma incerteza.


A soluo do problema ser influenciada pela mesma.

A inevitvel limitao na representao de nmeros


irracionais, introduz erros no resultado.

Portanto, logo de incio, existem diversos fatores que


introduzem incertezas na soluo numrica do problema.
Esse tipo de erro chamado de erro inicial.

Esse tipo de erro chamado de erro de arredondamento.

Erro inicial: Erro gerado no momento de uma medio


realizada atravs de um instrumento.

como mostrado anteriormente:

Erro de arredondamento: Erro gerado pela aproximao


de um resultado devido a dificuldade de representao.

Tipos de erro

Propagao e condicionamento

O calculo do valor de ex. Como a exponencial uma


funo que pode ser representada por uma srie infinita
dada por:

ex = 1+ x +

x
x
x
+
+ +
+
2! 3!
n!

Portanto, mais uma vez, teremos que fazer uma


aproximao, que levar a um erro no resultado final de ex.
Neste caso, faremos um truncamento dessa srie.
Erro de truncamento: Erro gerado pelo truncamento de
um resultado inexato.

Propagao e condicionamento
O conceito de propagao de erros muito importante pois,
alm de determinar o erro final de uma operao numrica,
ele tambm determina a sensibilidade de um determinado
problema ou mtodo numrico.
Se uma pequena variao nos dados de entrada de um
problema levar a uma grande diferena no resultado final,
considera-se que essa operao mal-condicionada, ou
seja, existe uma grande propagao de erros nessa
operao. Por outro lado, se uma pequena variao nos
dados de entrada leva a apenas uma pequena diferena no
resultado final, ento essa operao bem-condicionada.

Erros na Aritmtica de Ponto Flutuante


Computadores precisam representar os nmeros com uma
quantidade finita de algarismos.
Seja um sistema que opera com em aritmtica de ponto
flutuante de t dgitos na base 10, e seja x, escrito na forma:
X = fx * 10e
onde 0,1 <= fx < 1

gx * 10e-t

Vamos supor que queremos calcular:

2 - ex

O resultado da operao de subtrao apresentar um erro


que proveniente dos erros nos valores de cada termo
separadamente. Em outras palavras, os erros nos valores se
propagam para o resultado.
Podemos concluir ento que, ao se resolver um problema
numericamente, a cada etapa e a cada operao realizada,
devem surgir diferentes tipos de erros gerados das mais
variadas maneiras, e estes erros se propagam e determinam
o erro no resultado final obtido.

Propagao e condicionamento

Operao mau-condicionada: Quando a operao no


converge para um resultado confivel.
Operao bem-condicionada: Quando
converge para o resultado esperado.

operao

Erros na Aritmtica de Ponto Flutuante

Vamos considerar a base decimal (b=10) e uma mantissa


de 4 algarismos (t=4).
O nmero 734,68, teramos que truncar para 0,7346103
fx = 0,7346 e gx = 0,8

e 0 <= gx < 1

erro absoluto de 0,810-1


Generalizando:
( truncamento )

erro

< b

et

Erros na Aritmtica de Ponto Flutuante

ou arredondar para 0,7347103 com um erro de 0,210-1

erro

Generalizando:
( arredondamento )

<

1
b
2

Erros na Aritmtica de Ponto Flutuante

Resumindo :
< b et
< b et
< b t+1
< b t+1

( truncamento)
( arredondamento )
( truncamento)
( arredondamento )

Exerccios
Seja um sistema que opera com em aritmtica de ponto
flutuante de t = 4 dgitos na base 10 calcule os erros
absolutos e relativos por truncamento e
arredondamento dos seguintes valores:
a) 123,456
b) 374,3 + 3,345
c) 124,34 + 0,1234
d) 22,12 * 0,123
e) 0,3212 *12,32

E o erro relativo ?

et

Portanto, para uma representao numrica com t=53


(como no caso da maioria dos computadores) esse erro
muito pequeno.
Apesar de pequeno, importante lembrar que ele se
propagar nas operaes aritmticas realizadas pelo
computador.

| EA |
| EA |
| ER |
| ER |

Erros na Aritmtica de Ponto Flutuante

ERx = Erro Absoluto / X


gx * 10e-t
fx * 10e

gx * 10e-t
0,1 * 10e

= gx * 10 -t+1

Propagao e condicionamento

Somando 6563 (= 0,6563104) e 3,375 (= 0,3375101) no


nosso computador fictcio de mantissa com 4 algarismos.
O valor 6566,375 ser calculado 0,6566104 = 6566.
A soma de dois nmeros exatos, o resultado da soma no
ser exata. Mesmo pequeno, ao se propagar esse erro
precisa ser considerado.

Erros na Aritmtica de Ponto Flutuante

Operao de Soma:
EA => x + y = X + EAx + Y + EAy = ( X + Y) + EAx + EAy
EAx+y = EAx + Eay
ERx+y = EAx+y = EAx (

X+Y

X+Y

ERx+y = ERx (

X
X
X+Y

) + EAy (
Y

) + ERy (

X+Y
)

X+Y

Exerccios

Erros na Aritmtica de Ponto Flutuante

Operao de Subtrao:
1) Demonstre o erro absoluto e relativo para a
operao de subtrao
2) Demonstre o erro absoluto e relativo para a
operao de multiplicao

EA => x - y = X + EAx - Y + EAy = ( X - Y) + EAx - EAy


EAx-y = EAx - EAy
ERx-y =

EAx-y = EAx (
X-Y

ERx-y = ERx (

) -

EAy (
Y

ERy (

X-Y

Erros na Aritmtica de Ponto Flutuante

) -

X-Y
Y

Erros na Aritmtica de Ponto Flutuante


Operao de diviso:

x * y = (X + EAx) * (Y + EAy) =

x / y = (X + EAx) / (Y + EAy) = (X + EAx) *


Y

X * Y + X * EAy+ Y * EAx + EAx * EAy =


(X + EAx) *

X*Y

ERx*y = X * EAy+ Y * EAx = EAx + EAy


ERx*y = ERx + ERy

X-Y

Operao de multiplicao:

EAx*y = X * EAy+ Y * EAx + EAx * EAy , onde EAx * EAy 0

Y
X-Y

(Y + EAy)

considerando o 2o termo como uma

1 + EAy uma serie infinita, Serie.doc


Y

X / Y (X + EAx) * ( 1 - EAy )
Y

EAx/y = Y * EAx - X * EAy


Y2

Exerccios

Erros na Aritmtica de Ponto Flutuante


Operao de diviso:
ERx/y = (Y * EAx - X * EAy )
Y2
ERx/y = EAx - EAy
X
Y

Y
X

1) Considere um sistema com ponto flutuante de quatro


dgitos e base decimal.
X = 0,7237*104 Y = 0,2145*10-3 Z = 0,2585 *101
Calcule o resultado e o erro relativo de :
a)
b)
c)
d)
e)

X+Y+Z
XYZ
X/Y
(X * Y) / Z
X * (Y / Z)

Exerccios
Converta para base decimal:
a)110010(2)
b)3452(6)
c)76342(7)
d)1AC(16)
Converta para binrio:
a)345(10)
b)0,25(10)
c)0,1(10)
Faa as seguintes operaes:
a)1100101(2) + 11111(2)
b)1100101(2) - 11111(2)
c)5453(6) + 2534(6)

Converso para binrio


Na converso de nmeros da base decimal para a base
binria (usada por computadores) e vice-versa tambm
ocorrem erros.
Um exemplo bastante peculiar o nmero 0,1. Ao
convertermos esse nmero da base decimal para a base
binria obtemos como resposta:
(0,1)10 = (0,0001100110011...)2
O que gera um truncamento.

R = b1 x 2-1 + b2 x 2-2 + b3 x 2-3 + ... + bk x 2-k


onde bj = 0 ou 1 j e k tende .

R=
bk x 2-k
k=1

2 x R = b1 +

0,1 no dar 10
k=1

Converso para binrio


1/8 = 0,125 = 1x10-1 + 2x10-2 + 5x10-3
1/9 = 0,111... = 1x10-1 + 1x10-2 + 1x10-3 + ... + 1x10-

100

Exemplos
0,5 (10) = 5 x 10-1
2 x 0,5 = 1 => 0,1(2)
0,125 (10) = 1 x 10-1 + 2 x 10-2 + 5 x 10-3
2 x 0,125 = 0,25
2 x 0,25 = 0,5
2 x 0,5 = 1

=> 0,0(2)
=> 0,00(2)
=> 0,001(2)

bk x 2-k
k=1

Onde b1 a parte inteira em binrio.

Zero de Funes
Dada uma funo f(x), dizemos que raiz, ou zero de
f(x) se e somente f()=0

Zero de Funes
As razes de uma funo podem ser encontradas
analiticamente, ou seja, resolvendo a equao f(x)=0 de
maneira exata, como mostrado nos exemplos a seguir:
1 )

2)

f (x) = x 3
x = 3 raz de f ( x ) pois :
f (3) = 3 3 = 0
g (x) =

8
x4
3

8
8
12
3
x4=0 x = 4 x =
=
3
3
8
2
3
x = a raz de g ( x ) pois :
2
3 8 3
g = . 4 = 0
2 3 2

Zero de Funes
3 )

Zero de Funes

h( x) = x 2 5 x + 6

Porm, nem sempre possvel se encontrar analiticamente


a raiz de uma funo, como nos casos a seguir:

x2 5x + 6 = 0
= 25 24 = 1
x=

1-) f(x) = x3 + 2x2 x + 1

1
2

2-) g(x) = sem(x) + ex

x1 = 3
x2 = 2
t anto x = 2 quanto x = 3 so solues de h ( x ) pois :
2

h (3 ) = 3 5 .3 + 6
h ( 3 ) = 15 15 = 0

3-) h(x) = x + ln(x)

h( 2 ) = 2 - 5.2 + 6
h ( 2 ) = 10 - 10 = 0

Zero de Funes
Nestes casos precisamos de um mtodo numrico para
encontrar uma estimativa para a raiz da funo estudada,
ou seja, um valor to aproximado quando se deseje.
Tais mtodos devem envolver as seguintes etapas:
Determinao de um intervalo em x que contenha pelo
menos uma raiz da funo f(x), ou seja, isolamento das
razes;
Calculo da raiz aproximada atravs de um processo
iterativo at a preciso desejada.

Zero de Funes

Estimativa inicial: para iniciar um processo iterativo,


preciso que se tenha uma estimativa inicial do resultado do
problema.
Convergncia: a cada iterao feita, o resultado deve ser
mais prximo daquele esperado, isto , preciso estar bem
condicionado.
Critrio de parada: preciso parar as iteraes em um
determinado instante. Para isso, devemos utilizar um certo
critrio, que vai depender do problema a ser resolvido e da
preciso que precisamos obter na soluo.

Zero de Funes
Mtodos iterativos:
Processos se caracterizam pela repetio de determinada
operao. A idia nesse tipo de processo repetir determinado
clculo vrias vezes, obtendo-se, a cada repetio ou iterao,
um resultado mais preciso que aquele obtido na iterao
anterior. A cada iterao utiliza-se o resultado da iterao
anterior como parmetro de entrada para o clculo seguinte.

Zero de Funes
Isolamento de razes:
Para determinarmos o nmero e a localizao aproximada
de razes de uma funo, a fim de obtermos uma estimativa
inicial a ser usada nos processo iterativos, podemos examinar
o comportamento dessa funo atravs de um esboo grfico.
Por exemplo, f(x) = sen(x) + cos(x)
sen(x) + cos(x) = 0 , logo sen(x) = -cos(x)

Zero de Funes

Zero de Funes
Pelo grfico, vemos que a funo g(x) ir interceptar a
funo h(x) entre /2 e e entre 3/2 e 2. Portanto,
podemos afirmar que existe uma raiz de f(x) no intervalo
[/2, ] e no intervalo [3/2,2].
Porm, nem sempre o esboo grfico a forma mais
prtica de se obter um intervalo que contm pelo menos
uma raiz da funo f(x). Muitas vezes preciso se utilizar
um mtodo algbrico. Para isso, vamos recorrer ao teorema
de Bolzano.

Zero de Funes
Teorema de Bolzano
Seja uma funo f(x) contnua em um intervalo [a,b],
tal que, f(a) * f(b) < 0. Ento a funo f(x) possui pelo
menos uma raiz no intervalo [a,b].

Exerccios
Seja a funo f(x)= x - ln(x) 3,2. Calcule o valor de f(x)
para valores arbitrrios de x de forma a descobrir o
intervalo de uma raiz.

F(x)

-2,2

-1,89

-1,29

-0,58

0,19

Pelo teorema de Bolzano, conclumos que existe pelo menos


uma raiz real no intervalo [4,5].

Exerccios
Determine o intervalo para pelo menos uma raiz das
seguintes funes utilizando bozano:
1) x3 9x + 3
2) x3 2x2 + 2x
__
3) x - 5 * e-x
4) x * logx - 1

Zero de Funes
Mtodo da Dicotomia ou Bisseo
Seja uma funo f(x) contnua em um intervalo [a,b], e
uma raiz de f(x) isolada neste intervalo.

Inicialmente, subdividimos este intervalo em suas duas


metades, e verificamos se a raiz est contida na primeira ou
na segunda metade do intervalo inicial, usando o teorema
de Bolzano.

Zero de Funes

Zero de Funes

Mtodo da Dicotomia ou Bisseo


Repetimos o processo para aquela metade que contm a
raiz de f(x). Como todo processo numrico, importante
estimarmos o erro nesse resultado obtido.
No caso do mtodo da bisseo, o erro na estimativa ser
dado pela metade do comprimento do intervalo em estudo.

Exerccios

Exerccios

Determine uma raiz para a funo f(x) = ex + x considerando


um erro menor ou igual a 0,05.

Critrio de parada:

...

Exerccios

Mtodo das Aproximaes Sucessivas

Estimativa do nmero de iteraes k:

logo

Tambm chamado de Mtodo de Iterao Linear (MIL)


O mtodo da iterao linear um processo iterativo que apresenta
vantagens e desvantagens em relao ao mtodo da bisseco.
Seja uma funo f(x) contnua em um intervalo [a,b] que contenha
uma raiz de f(x). O Mtodo de Iterao Linear inicia-se
reescrevendo a funo f(x) como,
f(x) = (x) x ento,
f(x) = (x) x =0

para f(x) = 0, teremos que:


e

(x) = x

ou seja, no ponto x que corresponde raiz de f(x), ao substituirmos


o valor de x na funo (x), teremos como resultado o prprio
valor de x. Portanto, a raiz de f(x) ser o ponto fixo de (x).

10

Mtodo das Aproximaes Sucessivas


Por exemplo, a funo

Mtodo das Aproximaes Sucessivas

f(x) = x2 - x 2 pode ser reescrita como,

f(x) = x2 2 x = (x) x , onde (x) = x2 2.


Portanto, para encontrarmos a raiz de f(x), podemos encontrar o
valor numrico que ao substituirmos em (x) retorna o prprio
valor de x. Para encontrarmos esse valor de x, vamos utilizar um
processo iterativo, onde comeamos a calcular o valor de (x) com
um valor inicial de x, e recalculamos repetidamente o valor de (x)
sempre usando o resultado de uma dada iterao como a nova
estimativa de x, ou seja, fazendo:

Pode-se notar que dada uma funo f(x) existem diversas funes de
iterao que podem ser usadas no processo.
Exemplo: Encontre algumas funes de iterao a partir de
f (x) = x2 + ln(x) - x +1.

(4.17)
onde, k a ordem da iterao em que estamos (k = 0, 1, 2, 3, 4, ...).
A funo (x) chamada de funo de iterao.

Mtodo das Aproximaes Sucessivas

Mtodo das Aproximaes Sucessivas

Mtodo das Aproximaes Sucessivas

Mtodo das Aproximaes Sucessivas

11

Mtodo das Aproximaes Sucessivas

Mtodo das Aproximaes Sucessivas


Vamos iniciar a soluo encontrando uma boa estimativa inicial para o
valor da raiz de f(x). Para isso, vamos usar o mtodo grfico para o
isolamento de razes. Escrevendo:
f(x) = g(x) h(x) g(x) = x2 e h(x) = ex

Exemplo: Encontre uma estimativa para a raiz de :

usando o mtodo da iterao linear.

Mtodo das Aproximaes Sucessivas

Mtodo das Aproximaes Sucessivas

A partir do esboo grfico acima, conclui-se que a raiz encontra-se no


intervalo [-1,0]. Devemos agora escolher uma funo de iterao (x):

Mtodo das Aproximaes Sucessivas


Substituindo os valores de xk em f(x) para cada iterao k, vemos que a
cada etapa nos aproximamos mais da raiz de f(x), pois o valor dessa
funo fica mais prximo de zero a cada iterao:

f ( x) = x 2 e x

x
-1
-0,606
-0,738
-0,691
-0,707

Convergncia no MIL
A cada iterao podemos nos aproximar ou nos afastar da soluo real.
Portanto, antes de resolver um problema atravs desse mtodo preciso
se verificar se haver ou no a convergncia:
Seja uma funo f(x) contnua em um intervalo [a,b] e uma raiz de f(x)
contida em [a,b]. Seja (x) uma funo de iterao obtida a partir de f(x).

0,632
-0,178
0,067
-0,024
0,007

12

Mtodo das Aproximaes Sucessivas


Exemplo: Deseja-se encontrar a raiz de
Para isto, pretende-se usar uma das seguintes funes de iterao:

Mtodo das Aproximaes Sucessivas


Em seguida, vamos verificar a condio (ii) para 1(x).

Vamos iniciar verificando a condio (i) para a funo 1(x)

Ambas as funes 1(x) e 1(x) so contnuas x R com x -0,96.

Mtodo das Aproximaes Sucessivas

Mtodo das Aproximaes Sucessivas


Vamos encontrar as razes da funo acima (x2 + 1.92x 1,1584) e,
como ela se trata de uma parbola com concavidade para cima,
sabemos que a funo ser positiva para valores menores que a raiz
de menor valor (x1) e valores maiores que a raiz de maior valor (x2) ,
como ilustrado a seguir:

a condio (ii) do teorema da convergncia satisfeita.

Mtodo das Aproximaes Sucessivas


As razes da funo so:

Portanto:
| 1(x) | < 1 para x< 2,40 ou x > 0,48.
Finalmente, conclumos que as condies (i)
e (ii) do Teorema de Convergncia so
satisfeitas por:
no intervalo [1,2].

13

Você também pode gostar