Escolar Documentos
Profissional Documentos
Cultura Documentos
Apostila Calculo Numérico
Apostila Calculo Numérico
1 ERROS
1.1 Introduo
1.1.1 Modelagem e Resoluo
A utilizao de simuladores numricos para determinao da soluo de um problema
requer a execuo da seguinte seqncia de etapas:
Etapa 1: Definir o problema real a ser resolvido
Etapa 2: Observar fenmenos, levantar efeitos dominantes e fazer referncia a
conhecimentos prvios fsicos e matemticos
Etapa 3: Criar modelo matemtico
Etapa 4: Resolver o problema matemtico
Modelagem: Fase de obteno de um modelo matemtico que descreve um problema
fsico em questo.
Resoluo: Fase de obteno da soluo do modelo matemtico atravs da obteno da
soluo analtica ou numrica.
s a posio final;
s0 a posio inicial;
v0 a velocidade inicial;
t o tempo percorrido;
g a acelerao gravitacional.
A bolinha foi solta do topo do edifcio e marcou-se no cronmetro que ela levou 2
segundos para atingir o solo. Com isso podemos conclui a partir da equao acima que a
altura do edifcio de 19,6 metros.
Essa resposta confivel? Onde esto os erros?
Erros de modelagem:
Resistncia do ar,
Velocidade do vento,
Forma do objeto, etc.
Estes erros esto associados, em geral, simplificao do modelo matemtico.
Erros de resoluo:
Preciso dos dados de entrada
(Ex. Preciso na leitura do cronmetro. p/ t = 2,3 segundos, h = 25,92 metros, gravidade);
Forma como os dados so armazenados;
Operaes numricas efetuadas;
Erro de truncamento (troca de uma srie infinita por uma srie finita).
3000
Calculadora
Computador
S para xi = 0.5
S para xi = 0.11
15000
15000
3300
3299,99691
(1100) 2 = 1 2 3 + 1 2 2 + 0 21 + 0 2 0
Portanto (1100 ) 2 = (1100 ) 2 .
b) Como seria a representao do nmero 1997 em uma base = 10 ?
1997 = 1 10 3 + 9 10 2 + 9 101 + 7 10 0
Logo, 1997 = (1997)10 .
Assim o nmero real ser representado juntando as partes inteiras e fracionrias, ou seja,
onde, x possui n+1 algarismos na parte inteira e m+1 algarismos na parte fracionria.
Exemplo:
a) Como seria a representao do nmero 39,28 em uma base decimal?
(14,375)10 = (1110,011) 2
Precisamos saber fazer a converso de bases que o tpico seguinte.
Quociente
6
3
1
Resto
1
0
1
Quociente
12
6
3
1
Resto
1
0
0
1
0,375
x2
0,750
0,750
x2
1,500
0,500
x2
1,000
(0,375)10=(0,011)2
c) (13,25)10 = (?)2
Converte-se inicialmente a parte inteira do nmero:
Quociente
6
3
1
13/2
7/2
3/2
Resto
1
0
1
(0,25)10 = (0,01) 2
0,25
x2
0,50
x2
0,50
1,0
1.4
onde:
d i - so nmeros inteiros contidos no intervalo 0 d i 1; i = 1,2,.., t ;
e - representa o expoente de e assume valores entre I e S onde
I , S - so, respectivamente, limite inferior e superior para a variao do expoente;
dt
d1 d 2 d 3
+ 2 + 3 + ... + t a chamada mantissa e a parte do nmero que representa
Um nmero real x no sistema de aritmtica de ponto flutuante pode ser escrito tambm
na forma:
x = (0, d1d 2 d 3 ...d t ). e
com d 1 0 , pois o primeiro algarismo significativo de x.
Exemplos:
a) Escrever os nmeros reais x1 = 0.35 , x 2 = 5.172 , x 2 = 0.0123 , x 4 = 0.0003 ,
e x5 = 5391.3 onde esto todos na base = 10 em notao de um sistema de aritmtica de
ponto flutuante.
Soluo:
0.35 = 0.350 10 0
5.172 = 0.517 101
0.0123 = 0.123 10 1
5391.3 = 0.53913 10 4 No pode ser representado por esta mquina. Erro de overflow.
0.0003 == 0.3 10 3 No pode ser representado por esta mquina. Erro de underflow.
Um erro de overflow ocorre quando o nmero muito grande para ser representado, j
um erro de underflow ocorre na condio contrria, ou seja, quando um nmero
pequeno demais para ser representado.
c) Numa mquina de calcular cujo sistema de representao utilizado de base binria,
considerando que a mquina tenha capacidade para armazenar um nmero com dez
dgitos significativos, com limites inferior e superior para o expoente de -15 e 15,
respectivamente. Como que representado o nmero (25)10 neste sistema ?
1.5
Erros
Ea x = x x
Em geral apenas x conhecido, e o que se faz assumir um limitante superior ou uma
estimativa para o mdulo do erro absoluto.
Exemplos:
a) Sabendo-se que = (3,14; 3,15) tomaremos para um valor dentro deste intervalo e
teremos, ento, E a x = < 0.01 .
b) Seja x representado por x = 2112,9 de forma que E a x < 0,1 podemos dizer que
x (2112,8; 2113,0) .
c) Seja y representado por y = 5,3 de forma que E a y < 0,1 , podemos dizer que
y (5,2; 5,4)
Temos que os valores para os respectivos erros absolutos nas letras b e c foram idnticos.
Podemos afirmar que os valores de x e y foram representados com a mesma preciso?
O erro absoluto no suficiente para descrever a preciso de um clculo. Da a maior
utilizao do conceito de erro relativo.
Erro relativo: Erro absoluto dividido pelo valor aproximado.
E ax
E rx =
xx
x
E px = Erx 100%
Exemplos:
a) Seja x representado por x = 2112,9 de forma que E a x < 0,1 podemos dizer que
x (2112,8; 2113,0) .
E rx =
E ax
x
<
0,1
4,7 10 5
2112,9
b) Seja y representado por y = 5,3 de forma que E a y < 0,1 , podemos dizer que
y (5,2; 5,4)
E ry =
Eay
y
<
0,1
0,02
5,3
E p y = 0,02.100% = 2%
escolher um critrio adequado para podermos avaliar se o erro que est sendo cometido
grande ou pequeno.
x
1,25
10,053
-238,15
2,71828
0,000007
718235,82
Representao por
arredondamento
0,125x10
0,101x102
-0,238x103
0,272x10
Exp< -4 (underflow)
Exp > 4 (overflow)
Representao por
truncamento
0,125x10
0,100x102
-0,238x103
0,271.10
Exp < -4 (underflow)
Exp > 4 (overflow)
2 ZEROS DE FUNES
2.1 Caracterizao Matemtica
Exemplo:
Mecnica Vetorial para Engenheiros Esttica
F. P. Beer & E. R. Johnston, Jr.
5a Edio Revisada 1994
MAKRON Books do Brasil Editora Ltda
Problema 4.60 (Pgina 254) Uma haste delgada de comprimento 2R e
peso P est presa a um cursor em B e apoiada em um cilindro de raio R.
Sabendo que o cursor pode se deslocar livremente ao longo de sua guia
vertical, determine o valor de correspondente ao equilbrio. Despreze o
atrito.
B
2R
Corpo
flutuante
W: peso do corpo
h (calado)
Lquido
1
0.
0
0.
1.
0. 0.5 0. 0.6 0.
0.7 0. 0.8 0.
0.9 1
Pr-requisitos:
o Considere uma funo f(x) contnua dentro de um intervalo [a, b];
o Considere ainda que nos extremos do intervalo [a, b] a funo estudada
apresente sinais contrrios, ou seja, f(a)*f(b)<0.
Resultado:
o Garante-se a existncia de pelo menos um zero dessa funo dentro do
intervalo [a, b].
Idia:
o Encontrar um intervalo menor que o intervalo original e que atenda aos prrequisitos acima mencionados;
o Repetir o procedimento anterior at que se atinja o critrio de tolerncia de
determinao do zero da funo.
Estratgia de diminuio do intervalo:
o Nenhum cuidado especial necessrio para garantir o primeiro pr-requisito
uma vez que toda funo contnua em um intervalo, tambm ser contnua em
qualquer subintervalo menor;
o Para garantir que nesse novo intervalo a funo continue a apresentar sinais
contrrios, deve-se:
o Escolher um ponto c dentro do intervalo original [a, b];
o Redefinir o novo intervalo substituindo o extremo cujo sinal da funo o
mesmo que no ponto escolhido.
Y=f(X)
Y=f(X)
f(b)
f(b)
Ponto
interior
f(c)
f(a)
f(c)
c
z
b
Zero
f(a)
Zero
Ponto
interior
Y=f(X)
f(b)
Equao de recorrncia:
f(ze)
ze =
a
z ze
f(a)
a+b
2
Zero
estimado
Zero
Equao de recorrncia:
Y=f(X)
f(b)
Reta
secante
Zero
estimado
f(ze)
f(a)
a ze
z
b
Zero
f (a )
f ( b)
=
ze a b ze
a f ( b) b f ( a )
ze =
f ( b) f (a )
Y=f(X)
= arctan (f ( a ) )
f(a)
f(ze)
Zero
ze
Zero
estimado
tan( ) = f (a ) =
Equao de recorrncia:
ze = a
Ponto de
partida
f (a )
a ze
f (a )
f (a )
onde
aij so os coeficientes;
xj so as variveis;
bi so as constantes, tal que
onde
Admite soluo.
No possui soluo;
O determinante de A deve ser nulo;
O vetor B no pode ser nulo ou mltiplo de alguma coluna de A.
3.4.3 Interpolao
Para i = (n-1),...,1
Para j = (i+1),...,n
Fim
Fim
3.6.1.1 Escalonamento
Operaes Elementares
a) Permutar duas equaes do sistema;
b) Multiplicar uma das equaes do sistema por um nmero real no nulo;
c) Somar a uma das equaes do sistema uma outra equao desse sistema
multiplicada por um nmero real;
A aplicao de operaes elementares ao sistema em questo garante que o novo
sistema ser equivalente ao original.
Exemplo:
Resumindo:
x2 = Cx1 + g
x3 = Cx2 + g
xk+1=Cxk + g
Costuma-se adotar como critrio de parada para os mtodos iterativos os seguintes testes:
+ a12 x2
a11 x1
a x
21 1
a31 x1
M
an1 x1
onde
+ a22 x2
a32 x2
M
a n 2 x2
+ a13 x3 L + a1n xn
+ a23 x3
+ a33 x3
M
an 3 x3
L + a 2 n xn
L + a3n xn
O
M
L + ann xn
= b1
= b2
= b3
M
= bn
a21
C = a22
M
a
n1
ann
a12
a11
0
M
an 2
ann
a1n
a11
a2 n
L
a22
O
M
0
L
b1
a
11
b
2
g = a22
M
b
n
ann
Ento, pode-se calcular o vetor soluo para cada iterao k, como sendo:
bi aij x (jk 1)
xi( k ) =
j =1
j i
aii
, para i = 1,K, n
Exemplo:
0
1
C=
4
0
1
3
0
2
5
1
3
2
4
0
7
3
g = 1
1
Iterao
1
2
3
4
5
6
7
8
...
Soluo exata
2.3333
1.6667
2.1611
1.8944
2.0568
1.9647
2.0196
1.9881
2.0000
{x}
1.0000
-0.0833
0.2833
-0.0569
0.0831
-0.0256
0.0254
-0.0100
...
0.0000
1.0000
0.6000
1.0333
0.8867
1.0228
0.9668
1.0102
0.9898
1.0000
Observa-se que quanto mais iteraes forem realizadas, mais prximo estar o vetor x da
soluo exata do sistema linear.
Algoritmo
Enquanto
dist > tolerncia
nite < nmero mximo de iteraes.
ento:
nite = nite + 1
Para i = 1,...,n
s = bi
Para j = 1,...,n
Se i for diferente de j
s = s aij * x0j
Fim
Fim
xi = s/aii
Fim
dist = norma(x-x0)
x0=x
Fim
an1 x1
onde
+ a12 x2
+ a22 x2
a32 x2
+ a13 x3 L + a1n xn
+ a23 x3 L + a2 n xn
+ a33 x3 L + a3n xn
a n 2 x2
an3 x3
L + ann xn
= b1
= b2
= b3
M
= bn
Isolando x, atravs da separao pela diagonal, conforme foi feito no mtodo anterior:
Numa dada iterao (k), ao calcular-se x1, ainda no se tem posse dos demais valores do
vetor soluo do sistema (x2, x3, .., xn). Por esse motivo, utiliza-se valores do vetor
soluo da iterao (k-1). J para os outros elementos de x(k), pode-se fazer uso de valores
j calculados na iterao corrente, por exemplo, ao calcular-se x2 j se conhece
previamente o valor de x1, e ao calcular-se x3, j se conhece os valores de x1 e x2.
Este fato constitui a principal diferena entre os mtodos de Gauss-Jacobi e Gauss-Seidel.
Generalizando, para uma iterao (k) qualquer, um elemento i do vetor do vetor soluo
pode ser representado da seguinte forma:
i 1
xi( k ) =
bi aij x (jk )
j =1
aii
j =i +1
ij
x (jk 1)
, para i = 1, K, n
Exemplo:
(
(
(
)
)
)
7
(1) 1
0
0
x1 = 3 7 1x2 1x3 = 3
1
5
(1)
1
0
x2 = 4 1x1 2 x3 =
12
4
1
(
1
)
1
1
x3 = 5 0 x1 2 x2 = 5
5
6
Os resultados obtidos para as iteraes esto dispostos na tabela a seguir.
Note que para o mesmo sistema linear e para um mesmo chute inicial, o mtodo de
Gauss-Seidel tende a convergir para a resposta exata do sistema numa quantidade menor
de iteraes que o mtodo de Gauss-Jacobi. Isto ocorre porque como vimos, o mtodo de
Gauss-Seidel faz uso de elementos do prprio vetor soluo da iterao corrente para
atualizar sua estimativa.
Iterao
1
2
3
4
5
6
7
...
Soluo exata
(k)
2.3333
1.9167
1.9792
1.9948
1.9987
1.9997
1.9999
2.0000
{x}
0.4167
0.1042
0.0260
0.0065
0.0016
0.0004
0.0001
...
0.0000
0.8333
0.9583
0.9896
0.9974
0.9993
0.9998
1.0000
1.0000
Observa-se tambm que quanto mais iteraes forem realizadas, mais prximo estar o
vetor x da soluo exata do sistema linear em questo.
Algoritmo
Enquanto
dist > tolerncia
nite < nmero mximo de iteraes.
ento:
nite = nite + 1
Para i = 1,...,n
s0 = b i
s1 = 0;
Para j = 1,...,(i-1)
s0 = s0 aij*xj
Fim
Para j = (i+1),...,n
s1 = s1 aij*x0j
Fim
xi = (s0+s1)/aii
Fim
dist = norma(x-x0)
x0=x
Fim
asj
j =1
s = js
ass
a js
j =1
s = js
ass
1 =
a12 + K + a1n
a11
s =
Exemplo:
Utilizando o critrio das linhas, verificar se o sistema com matriz dos coeficientes A
abaixo garante condio de convergncia para os mtodos iterativos.
10 2 1
A = 1 5 1
2 3 10
Verifica-se ento que independentemente do chute inicial para o vetor soluo x0, ao
utilizar um mtodo iterativo para resolver um sistema linear com matriz dos coeficientes
igual a apresentada acima, ir se convergir para a soluo exata do sistema.
4 INTERPOLAO
Interpolar uma funo f(x) consiste em aproximar essa funo por uma outra funo p(x)
que satisfaa algumas propriedades. Em geral, a interpolao de funes usada nas
seguintes situaes:
e o fato de que o polinmio interpolador ter, no mximo, grau (n-1), temos que o
polinmio interpolador assumir a seguinte forma:
de forma que
A matriz A a chamada matriz de Vandermonde e desde que os valores de x1, x2, ..., xn
sejam distintos, o determinante de A diferente de zero, e ento, o sistema apresenta
soluo nica. Ento, para encontrar o polinmio interpolador de uma srie de n pontos
distintos conhecidos, basta encontrar a soluo do sistema linear acima, assunto tratado
no captulo anterior.
Exemplo:
Encontrar o polinmio de grau 2 que interpola os pontos da tabela abaixo:
x
-1
0
2
f(x)
4
1
-1
Soluo:
Resolvendo o sistema:
E desse modo:
Exemplo:
Encontre o polinmio de grau 2 que interpole o seguinte conjunto de pontos
x
-1
0
2
f(x)
4
1
-1
Soluo:
Polinmio adotado de grau 2, ento n=3, logo:
Algoritmo:
p=0
Para i = 1,...,n
s=1
Para k = 1,...,n
Se k for diferente de i
s = s * (x-xk)/(xi-xk)
Fim
Fim
p = p + f(xi)*s
Fim
Desse modo:
Exemplo:
Encontrar o polinmio de grau 2 que interpole o seguinte conjunto de pontos:
x
-1
0
2
f(x)
4
1
-1
Soluo:
Grau do polinmio = 2, logo n=3
Polinmio adotado:
Algoritmo:
D = matriz nula nxn
1 coluna de D = {y}
Para j = 2,...,n
Para i = j,...,n
di,j = (di,j-1 di-1,j-1)/(xi xi-j+1)
Fim
Fim
p=0
Para i = 1,...,n
s=1
Para j = 1,...,(i-1)
s = s * (x-xj)
Fim
p = p + s*di,i
Fim
** Obs: Note que para cada mtodo numrico de interpolao apresentado utilizou-se o
mesmo exemplo e como resposta para todos os casos foi obtido o mesmo polinmio
interpolador.
5 AJUSTE
Dado um conjunto de pontos, no ajuste ou aproximao tenta-se encontrar uma funo
p(x) que melhor aproxime esses pontos. Aqui, no existe a necessidade da funo passar
pelos pontos conhecidos.
Em geral, usa-se aproximao de funes nas seguintes situaes:
Considere uma tabela de m pontos (x1, f(x1)), (x2, f(x2)), ..., (xm, f(xn)) com x1, x2, ...,
xm pertencentes a um intervalo [a,b]. Deseja-se encontrar uma funo q(x) = a1g1(x) +
a2g2(x) + ... + angn(x) que melhor ajuste esses pontos. Ou seja, determinar a funo q(x)
que mais se aproxime de f(x).
Diz-se que este um modelo matemtico linear porque os coeficientes a determinar
aparecem linearmente, embora as funes g1(x), g2(x), ..., gn(x) possam ser funes no
lineares de x como, por exemplo, g1(x) = ex, g2(x) = 1+x2, etc.
Problema: Como escolher as funes g1(x), g2(x), ..., gn(x)?
A escolha das funes pode ser feita observando o grfico dos pontos tabelados ou
baseando-se em fundamentos tericos dos experimentos que forneceu a tabela.
Exemplo:
Experincia onde foram medidos valores de corrente eltrica que passa por uma
resistncia submetida a vrias tenses.
Usando clculo diferencial, sabe-se que para encontrar um ponto de mnimo de F(a1, a2,
..., an), necessrio achar inicialmente os pontos crticos (ou seja, todos os ais).
Exemplo:
Encontrar a melhor reta que ajusta os valores da tabela abaixo:
x
f(x)
0,00
1,0000
0,25
1,2840
0,5
1,6487
0,75
2,1170
1,00
2,7183
ou em notao matricial:
0,00
1,0000
0,25
1,2840
0,5
1,6487
0,75
2,1170
1,00
2,7183
5.1.3 Linearizao
Algumas funes de duas constantes podem ser linearizadas antes da aplicao do
mtodo dos mnimos quadrados, com o objetivo de obter o sistema de equaes visto
anteriormente. O procedimento varia de acordo com o tipo de funo:
Ento, se fizermos:
Encontra-se a seguinte expresso:
Logo, se fizermos:
encontramos a linearizao:
encontra-se a expresso:
Fazendo:
Tem-se tambm:
Exemplo:
Encontrar a melhor funo que ajusta os valores da tabela abaixo:
x
y
-1
36,547
-0,7
17,264
-0,4
8,155
-0,1
3,852
0,2
1,82
0,5
0,86
0,8
0,406
1,0
0,246
Ou seja, a coordenada y de cada ponto dever ser substituda por seu logaritmo, logo:
y'
3,5986
2,8486
2,0986
1,3486
0,5988
Para adaptar esses valores, coeficientes da reta, para a funo exponencial, ainda basta
fazer as seguintes adaptaes:
Logo,
onde,
Algoritmo
Verifica tipo_de_ajuste;
Caso tipo_de_ajuste seja Exponencial
Para i = 1,...,m
yi = ln Yi
Fim
Fazer Ajuste Linear com x,y retornando coeficientes s1 e s2
a = e s1
b = s2
Caso tipo_de_ajuste seja Logartmico
Para i = 1,...,m
xi = ln xi
Fim
Fazer Ajuste Linear com x,y retornando coeficientes s1 e s2
a = s2
b = e s1 / a
Caso tipo_de_ajuste seja Potencial
Para i = 1,...,m
yi = ln yi
xi = ln xi
Fim
Fazer Ajuste Linear com x,y retornando coeficientes s1 e s2
a = e s1
b= s2
Caso tipo_de_ajuste seja Hiperblico
Para i = 1,...,m
xi = 1/xi
Fim
Fazer Ajuste Linear com x,y retornando coeficientes s1 e s2
a = s1
b = s2
Caso tipo_de_ajuste seja Polinomial (polinmio de grau n-1)
Para i = 1,...,n
Para j = i,...,n
Aij = 0
Para k = 1,...,m
Aij = Aij + xk^(i+j-2)
Fim
Aji = Aij
Fim
bi = 0
Para k = 1,...,m
bi = bi + yk*xk^(i-1)
Fim
Fim
s = (A^-1) . b
Fim
ou seja,
Por exemplo:
Este sistema no linear admite quatro solues, representadas pelos pontos onde as
curvas se interceptam.
Cada funo fi(X) uma funo no linear em em X e portanto F(X) tambm uma
funo no linear em X.
Para sistemas lineares, tnhamos:
6.2 Consideraes
O vetor das derivadas parciais da funo fi(X) denominado vetor gradiente de fi(X) e
denotado por:
Exemplo:
Determinar a matriz Jacobiana do sistema no linear abaixo:
Iteratividade
A partir de um ponto inicial , geram sequncias . Na situao de
convergncia,
uma das solues do sistema quando:
Verificar se F(
Verificar se
Linearizao
Procura-se substituir, numa certa vizinhana, um problema complicado
por sua aproximao linear. Essa aproximao pode ser obtida, por
exemplo, tomando-se os primeiros termos de uma expanso usando Srie
de Taylor.
Iterao
Devido repetio do procedimento, at que se garanta a convergncia
para a soluo do sistema ou o fim desejado.
Expandindo essa equao usando srie de Taylor prximo a um ponto inicial (x1,f(x1)) e
tomando-se apenas os primeiros termos desta expanso (linearizao), tem-se:
onde
Graficamente, temos:
Reescrevendo,
Exemplo:
Aplicar o mtodo de Newton resoluo do sistema no linear F(X) = 0, onde:
considerando tolerncia
chute inicial
Soluo:
Para k = 1 (Primeira iterao)
Soluo exata:
Algoritmo:
Enquanto (||F(
k=k+1
Calcular
Dx =
XK+1 =
||< ) e (k<k(max))
e
Fim
Apesar da reduo do custo computacional, este mtodo pode ser mais sensvel
convergncia, ou seja, o nmero de iteraes necessrias geralmente maior que quando
se usa o mtodo de Newton-Raphson.
Exemplo:
Aplicar o mtodo de Newton Modificado resoluo do sistema no linear F(X) = 0,
onde:
considerando tolerncia
chute inicial