Cálculo Numérico Cálculo Numérico é uma área da Matemática que se ocupa com métodos do...

Post on 18-Apr-2015

118 views 0 download

Transcript of Cálculo Numérico Cálculo Numérico é uma área da Matemática que se ocupa com métodos do...

Cálculo NuméricoCálculo Numérico

Cálculo Numérico é uma Cálculo Numérico é uma área da Matemática que se área da Matemática que se ocupa com métodos do ocupa com métodos do cálculo que tem por objetivo cálculo que tem por objetivo encontrar soluções encontrar soluções aproximadas de problemas. aproximadas de problemas.

O fato de encontrar O fato de encontrar soluções de problemas por soluções de problemas por métodos aproximadas, nos métodos aproximadas, nos leva a admitir uma margem de leva a admitir uma margem de erroerro na solução. na solução.

É salutar que para cada É salutar que para cada problema específico se difina problema específico se difina precisão pretendida ou o erro precisão pretendida ou o erro tolerado.tolerado.

Exemplo 1: Exemplo 1: Encontrar a taxa de juros Encontrar a taxa de juros implícita nas condições de implícita nas condições de venda a seguir:venda a seguir: À vista com 12% de desconto À vista com 12% de desconto ou em (1+11) sem acréscimo.ou em (1+11) sem acréscimo.

Supondo que a tolerância Supondo que a tolerância do erro considerada no do erro considerada no problema anterior seja de um problema anterior seja de um erroerro menormenor que 0,1%. que 0,1%.

Ao utilizar um método Ao utilizar um método numérico ou gráfico e descobrir numérico ou gráfico e descobrir que a taxa porcentual procurada que a taxa porcentual procurada

fica no fica no interiorinterior do intervalo do intervalo [2.4, 2.5], a solução aproximada [2.4, 2.5], a solução aproximada

é qualquer número deste é qualquer número deste intervalo, visto que, a diferança intervalo, visto que, a diferança entre qualquer número que se entre qualquer número que se

utilize deste intervalo e a solução utilize deste intervalo e a solução exata, é exata, é menormenor que 0,1. que 0,1.

A equação que foi resolvida A equação que foi resolvida para encontrar a taxa para encontrar a taxa i i dodo problema que consta no problema que consta no exemplo 1 é a seguinte:exemplo 1 é a seguinte:

Onde :Onde :VaVa é o valor à vista; é o valor à vista;E E é o valor da entrada; é o valor da entrada;

PP o valor de cada prestação; o valor de cada prestação;n n é o número de prestações(sem é o número de prestações(sem

contar a entrada) e contar a entrada) e i i é a taxa porcentual. é a taxa porcentual.

A solução exata não foi A solução exata não foi calculada, e geralmente isto calculada, e geralmente isto não é importante, visto que, não é importante, visto que, na prática, so será utilizado na prática, so será utilizado um valor aproximado deste, um valor aproximado deste,

mesmo sabendo qual é o mesmo sabendo qual é o valor exato. valor exato.

Veja um exemplo:Veja um exemplo:

Quantos metros de Quantos metros de fita deverá ser comprada, fita deverá ser comprada, para que ser colocada na para que ser colocada na diagonal de um quadrado, diagonal de um quadrado, se o lado mede 1 metro. se o lado mede 1 metro.

Solução exata:Solução exata:

É para resolver problemas, É para resolver problemas, como o do exemplo do cálculo como o do exemplo do cálculo

da taxa, que envolvem da taxa, que envolvem equaçõesequações para as quais não para as quais não há métodos algébricos, é que há métodos algébricos, é que

se utiliza os se utiliza os métodos numéricos métodos numéricos

ou ou Cálculo NuméricoCálculo Numérico

Pode-se também optar pelo Pode-se também optar pelo método da tentativa e erro.método da tentativa e erro. No caso do problema da taxa No caso do problema da taxa de juros, isto é muito simples se de juros, isto é muito simples se utilizamos o excel. Basta chutar as utilizamos o excel. Basta chutar as taxas até que o saldo devedor da taxas até que o saldo devedor da ultima linha da planilha de ultima linha da planilha de amortização fique igual a zero, ou amortização fique igual a zero, ou tão próximo, quanto se queira. tão próximo, quanto se queira.

AS ETAPASAS ETAPASa) Passar todos os termos da equação a) Passar todos os termos da equação para o lado esquerdo da equação, ficando para o lado esquerdo da equação, ficando assim o lado direito com zero.assim o lado direito com zero.b) Procurar a raíz da função com lei igual a b) Procurar a raíz da função com lei igual a equação formada.equação formada.c) Utilizando o método gráfico ou fazendo c) Utilizando o método gráfico ou fazendo uma tabela da função para isolar as raízes uma tabela da função para isolar as raízes que interessam.que interessam. d) Fazer o refinamento das raízes d) Fazer o refinamento das raízes utilizando um método de refinamento.utilizando um método de refinamento.

MMétodos para refinamento que étodos para refinamento que serão estudadosserão estudadosa)Bisseçãoa)Bisseçãob)Cordasb)Cordasc)Newtonc)Newton

Outro exemplo de problema em que a Outro exemplo de problema em que a fórmula anterior se aplica:fórmula anterior se aplica: Encontrar a taxa mensal de juros Encontrar a taxa mensal de juros compostos, nas vendas a prazo, que compostos, nas vendas a prazo, que aparecem de forma inplícita nas aparecem de forma inplícita nas condições de venda de uma lojacondições de venda de uma loja..

a)a) À vista com 10% de descontoÀ vista com 10% de desconto ou ou b) em 5 vezes (1+4) sem acréscimob) em 5 vezes (1+4) sem acréscimo..

Para dada 100 de preço de tabela,O valor `a vista é 100(1-10/100)= 90; Va=90Se for à prazo a entrada e cada parcela

valem 100/5=20P=20 e E=20 n=4 i=?

Pode-se agora obter o Pode-se agora obter o gráfico da função e verificar gráfico da função e verificar em que intervalo do eixo em que intervalo do eixo com coordenada i, o gráfico com coordenada i, o gráfico corta este eixo.corta este eixo.

GraphmáticaGraphmática

Observando-se o último gráfico, Observando-se o último gráfico, pode-se afirmar que a taxa pode-se afirmar que a taxa procurada fica no interior do procurada fica no interior do

intervalo [5.4 , 5.6]intervalo [5.4 , 5.6]

Utilizando estes dados para Utilizando estes dados para conferir a planilha de conferir a planilha de amortização temos:amortização temos:

Pode-se fazer uma tabela com Pode-se fazer uma tabela com pares ordenados (i, f(i)) e encontrar pares ordenados (i, f(i)) e encontrar

os intervalor onde há uma raíz, os intervalor onde há uma raíz, verificando entre que valores de i, a verificando entre que valores de i, a

função f(i) troca de sinal, ou seja função f(i) troca de sinal, ou seja em que intervalo de i , o gráfico da em que intervalo de i , o gráfico da função passa para de um lado do função passa para de um lado do

eixo “x” para o outro lado deste eixo “x” para o outro lado deste eixo. eixo.

Observando-se as tabelas Observando-se as tabelas anteriores, percebe-se qua a taxa anteriores, percebe-se qua a taxa

procurada está no procurada está no interiorinterior do do intervalo intervalo

[5.56 , 5.57][5.56 , 5.57]

a)Método das tabelasa)Método das tabelasPode-se implementar o método do cálculo de Pode-se implementar o método do cálculo de valores dda tabela x e f(x) verificando em qual valores dda tabela x e f(x) verificando em qual intervalo [a,b] produto f(a)f(b)<0, pois isto só intervalo [a,b] produto f(a)f(b)<0, pois isto só

ocorre quando f(a) e f(b) tem sinais diferentes e ocorre quando f(a) e f(b) tem sinais diferentes e isto implica que existe pelo menos uma raíz isto implica que existe pelo menos uma raíz

neste intervalo. neste intervalo. Calcula-se então valores de x e f(x) deste novo Calcula-se então valores de x e f(x) deste novo intervalo, com incremento menor que o anterior, intervalo, com incremento menor que o anterior, e procura-se novo internalo onde há uma raíz. e procura-se novo internalo onde há uma raíz. Segue-se neste processo até que o incremento Segue-se neste processo até que o incremento

do x esteja menor que o erro tolerado. do x esteja menor que o erro tolerado. Continua-se então a procurar as demais raízes, Continua-se então a procurar as demais raízes,

se isto fizer sentido. se isto fizer sentido.

Algoritmo para uma tabelaAlgoritmo para uma tabela tabela1 := proc (li, inc, n) global f; local x1, x2, i; for i to n do x1 := li+(i-1)*inc; x2 := x1+inc; print(x1,f(x1)); if f(x1)*f(x2) <= 0 then print(`a=`,x1,` f(a)=`,f(x1)); print(`b=`,x2,` f(b)`,f(x2)) ; fi ; od ; end:

Saída de ( x, f(x) ) para Saída de ( x, f(x) ) para

li=0; inc=1 e n=10 > tabela1(0,1,10);li=0; inc=1 e n=10 > tabela1(0,1,10); 0, -19.72 1, -16.32 2, -10.92 3, -3.52 a= 3, f(a)= -3.52 b=, 4 f(b) 5.88 4, 5.88 5, 17.28 6, 30.68 7, 46.08 8, 63.48 9, 82.88

O próximo procedimento do Maple que encontra raízes pelo método baseado em tabelas, serve como algoritmo

para fazer procedimentos de linguagens de programação tal como Pascal.

raizes := proc (li, ls, erro) local cx, n, i, k, k0, x, inf; global f; if ls < li then do cx := li; li := ls; ls := cx ; od; fi; inf:=10^(-7); x := li+inf; n := abs(li-ls); k0 := 0; k := k0; while x < ls do for i to 10*n do if f(x)*f(x+10^k) < 0 then k := k-1; i := 1 fi; x := x+10^k; if abs (f(x)) < erro then do print(`x=`,evalf(x),`f(x)=`,f(x)); i := 1; k := k0; break; od; fi ; od; od; end:

Método da BisseçãoMétodo da BisseçãoSeja f(x) uma função real contínua, no intervalo [a, b], tal que f(a). f(b)<0 e a tolerância

considerada.O método de bisseção consiste em dividir o

intervalo [a, b] ao meio, obtendo dois subintervalos [a, xo] e [xo,b] a serem considerados. Se o critério para

avaliação da tolerância for satisfeito, por exemplo, se | f(xn)|< então xn é a raiz procurada, senão

escolhe-se um dos subintervalos para repetir o procedimento.

Para efetuar a escolha, verifica-se em qual dos intervalos [a, xo] ou [xo, b] a função tem sinais

contrários nos extremos ou seja , verifica-se se f(a). f(x0)<0 ou se f(b). f(x0)<0.

Deve-se proceder desta forma para a escolha dos demais subintervalos.

Algoritmo para o método das BisseçõesAlgoritmo para o método das Bisseçõesbissecao := proc (erro, a, b) local a1, b1, xo, i ; global f; xo := a; a1 := a; b1 := b; i := 0; while erro < abs(f(xo)) do i := i+1; xo := (a1+b1)/2; if f(a1)*f(xo) < 0 then b1 := xo else a1 := xo ; fi ; od; print( ` raíz procurada é `,xo,` sendo que o erro é `,f(xo),` número de iterações`, i );end:

Método das CordasMétodo das Cordas Seja f(x) uma função real contínua, no

intervalo [a, b], que contém somente um ponto r tal que f(r) =0 e seja a tolerância considerada.

O método das cordas consiste em encontrar subintervalos sucessivos de [a, b], obtidos pela interseção do eixo x e a reta que passa pelos pontos ( ai , f(ai) ) e ( bi , f(bi) ), onde ai e bi

são os extremos dos subintervalos que satisfazes a condição f(ai).f(bi)<0, até encontrar um extremo

que satisfaça a tolerância considerada.

Fórmulas do Método das CordasFórmulas do Método das Cordas

Implementaçãodo do método de cordasImplementaçãodo do método de cordas cordas := proc (erro, a, b) local p, x, df2, c, xo, xn, i, y1, y2; global f; xn := a; i := 0; df2 := D(D(p)); xo := a-p(a)/(p(a)-p(b))*(a-b); if 0 < p(xn)*df2(xn) then c := a else c := b; fi; while erro < abs(p(xn)) do i := i+1; xn := xo-p(xo)/(p(xo)-p(c))*(xo-c); xo := xn; od; print(` a raíz procurada é `,xn,` o erro é `,abs(p(xn)),` o

número de iterações foi `,i); end:

Método de NewtonMétodo de Newton Seja f(x) uma função real contínua, com as derivadas

f’(x) e f’’(x) também contínuas no intervalo [a, b], que tenha somente um ponto r de [a, b], tal que f(r) = 0 e seja a tolerância considerada.

O método de Newton consiste em encontrar uma seqüencia de números de [a, b], obtidos pela interseção da reta tangente ao gráfico de f(x) em um dos extremos do intervalo ou subintervalos, com o eixo x.

Se f(a). f”(a) >0 então inicia-se a iteração fazendo xo=a,

caso contrário inicia-se com xo = b.

Faz-se tantas iterações até que o erro definido seja menor ou igual a .

Os gráficos a seguir mostram a interpretação geométrica do método de Newton. A função utilizada para fazer os gráficos é a seguinte:

A seqüência de iterações do método de Newton é a seguinte:

Após encontrar um intervalo [a,b] tal que a função seja

somente crescente ou somente decrescente, escolhe-se xo

entre {a ,b} de modo que f(xo) f”(xo)>0

Implementação do método de Newton Implementação do método de Newton com o Maplecom o Maple

newton := proc (erro, a, b) local f, x, df2, df1, p1, p2, xn, i, c; f := x-> evalf(x^3-1+x^2-2*x) ; df1 := D(f); df2 := D(D(f)); xn := a; i := 0; if 0 < f(xn)*df2(xn) then xn := a ; else xn := b ; fi; c := xn; while erro < abs(f(xn)) do xn := xn-f(xn)/df1(xn); i := i+1 od; print(x,i,`=`,xn,` f(xn)=`,f(xn)); print(`número de iteraçãos :`,i) end:

Exercícios resolvidosExercícios resolvidos

Método de BissaçãoMétodo de Bissaçãoff(i)=(i)=78 - 10[1-(1+i)78 - 10[1-(1+i)-9-9]/i]/i

i f( i) i f( i)1E-10 -12 0,02 -3,622

0,01 -7,66 0,025 -1,7090,02 -3,622 0,03 0,1389 i f( i)0,03 0,1389 0,0275 -0,7770,04 3,6467 i f( i) 0,0288 -0,3170,05 6,9218 0,025 -1,709 0,03 0,13890,06 9,9831 0,0275 -0,7770,07 12,848 0,03 0,1389 i f( i)0,08 15,531 0,0288 -0,3170,09 18,048 0,0294 -0,089 erro<0,1

0,1 20,41 0,03 0,1389

Raíz procurada: i= 0,029 ou 2,9%

di i f(i) i1 f(i)1E-09 1E-09 1000 0,01000 292,31216

0,01 0,01 292,31 0,01500 -127,596920,01 0,02 -599,4 0,02000 -599,436720,01 0,03 -17280,01 0,04 -3160 i2 f(i)0,01 0,05 -4984 0,01000 292,312160,01 0,06 -7312 0,01250 88,449450,01 0,07 -10291 0,01500 -127,596920,01 0,08 -141100,01 0,09 -19012 i3 f( i)0,01 0,1 -25313 0,01250 88,44945

0,01375 -18,002830,01500 -127,59692

f(i)= 4600 -100[(1+i)36-1]/i

i4 f(i) i10 f(i)0,01250 88,449 i7 f(i) 0,01353 0,6490,01318 31,350 0,01351 2,462 0,01354 -0,2580,01385 -26,653 0,01360 -4,796 0,01355 -1,165

0,01368 -12,067i5 f( i) i11 f(i)0,01318 31,350 i8 f(i) 0,01353 0,6490,01351 2,462 0,01351 2,462 0,01354 0,1950,01385 -26,653 0,01355 -1,165 0,01354 -0,258

0,01360 -4,796i6 f( i) i12 f( i)0,01351 2,462 i9 f( i) 0,01354 0,1950,01368 -12,067 0,01351 2,462 0,01354 -0,0310,01385 -26,653 0,01353 0,649 0,01354 -0,258

0,01355 -1,165

i= 0,01354 ou 1,354%

dx x f(x ) x1 f(x)1E-10 -1 3,0 -0,303

1 1 -0,69315 3,5 -0,0841 2 -0,60944 4,0 0,16681 3 -0,302591 4 0,16679 x2 f(x)1 5 0,7419 3,50 -0,0841 6 1,38908 3,75 0,03781 7 2,08798 4,00 0,16681 8 2,825611 9 3,59328 x3 f(x)1 10 4,38488 3,500 -0,084

3,625 -0,0243,750 0,0378

x4 f(x)3,6250 -0,024

|x4-x3|= 0,0625 <0,1 3,6875 0,00663,7500 0,0378

X=

dx x f(x ) x1 f(x)1E-10 1 1,000 0,282

1 -5 -3,007 1,500 -0,9821 -4 -2,018 2,000 -3,3891 -3 -1,051 -2 -0,135 x2 f(x)1 -1 0,6321 1,000 0,2821 0 1 1,250 -0,2401 1 0,2817 1,500 -0,9821 2 -3,3891 3 -15,09 x3 f(x)1 4 -48,6 1,000 0,282

1,125 0,045 <0,11,250 -0,240

|x4-x3|= 0,063 <0,1x4 f(x)

1,125 0,0451,188 -0,0911,250 -0,240