620 likes | 830 Views
Cálculo Numérico Cálculo Numérico é uma área da Matemática que se ocupa com métodos do cálculo que tem por objetivo encontrar soluções aproximadas de problemas. .
E N D
Cálculo Numérico Cálculo Numérico é uma área da Matemática que se ocupa com métodos do cálculo que tem por objetivo encontrar soluções aproximadas de problemas.
O fato de encontrar soluções de problemas por métodos aproximadas, nos leva a admitir uma margem de erro na solução. É salutar que para cada problema específico se difina precisão pretendida ou o erro tolerado.
Exemplo 1: Encontrar a taxa de juros implícita nas condições de venda a seguir: À vista com 12% de desconto ou em (1+11) sem acréscimo.
Supondo que a tolerância do erro considerada no problema anterior seja de um erromenor que 0,1%.
Ao utilizar um método numérico ou gráfico e descobrir que a taxa porcentual procurada fica no interior do intervalo [2.4, 2.5], a solução aproximada é qualquer número deste intervalo, visto que, a diferança entre qualquer número que se utilize deste intervalo e a solução exata, é menor que 0,1.
A equação que foi resolvida para encontrar a taxa i doproblema que consta no exemplo 1 é a seguinte:
Onde :Va é o valor à vista;E é o valor da entrada;P o valor de cada prestação;n é o número de prestações(sem contar a entrada) e i é a taxa porcentual.
A solução exata não foi calculada, e geralmente isto não é importante, visto que, na prática, so será utilizado um valor aproximado deste, mesmo sabendo qual é o valor exato. Veja um exemplo:
Quantos metros de fita deverá ser comprada, para que ser colocada na diagonal de um quadrado, se o lado mede 1 metro. Solução exata:
É para resolver problemas, como o do exemplo do cálculo da taxa, que envolvem equações para as quais não há métodos algébricos, é que se utiliza os métodos numéricos ou Cálculo Numérico
Pode-se também optar pelo método da tentativa e erro. No caso do problema da taxa de juros, isto é muito simples se utilizamos o excel. Basta chutar as taxas até que o saldo devedor da ultima linha da planilha de amortização fique igual a zero, ou tão próximo, quanto se queira.
AS ETAPASa) Passar todos os termos da equação para o lado esquerdo da equação, ficando assim o lado direito com zero.b) Procurar a raíz da função com lei igual a equação formada.c) Utilizando o método gráfico ou fazendo uma tabela da função para isolar as raízes que interessam. d) Fazer o refinamento das raízes utilizando um método de refinamento.
Métodos para refinamento que serão estudadosa)Bisseçãob)Cordasc)Newton
Outro exemplo de problema em que a fórmula anterior se aplica:Encontrar a taxa mensal de juros compostos, nas vendas a prazo, que aparecem de forma inplícita nas condições de venda de uma loja.a)À vista com 10% de desconto ou b) 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=90 • Se for à prazo a entrada e cada parcela valem 100/5=20 • P=20 e E=20 n=4 i=?
Pode-se agora obter o gráfico da função e verificar em que intervalo do eixo com coordenada i, o gráfico corta este eixo.
Observando-se o último gráfico, pode-se afirmar que a taxa procurada fica no interior do intervalo [5.4 , 5.6]Utilizando estes dados para conferir a planilha de amortização temos:
Pode-se fazer uma tabela com pares ordenados (i, f(i)) e encontrar os intervalor onde há uma raíz, verificando entre que valores de i, a função f(i) troca de sinal, ou seja em que intervalo de i , o gráfico da função passa para de um lado do eixo “x” para o outro lado deste eixo.
Observando-se as tabelas anteriores, percebe-se qua a taxa procurada está no interior do intervalo [5.56 , 5.57]
a)Método das tabelasPode-se implementar o método do cálculo de valores dda tabela x e f(x) verificando em qual intervalo [a,b] produto f(a)f(b)<0, pois isto só ocorre quando f(a) e f(b) tem sinais diferentes e isto implica que existe pelo menos uma raíz neste intervalo. Calcula-se então valores de x e f(x) deste novo intervalo, com incremento menor que o anterior, e procura-se novo internalo onde há uma raíz. Segue-se neste processo até que o incremento do x esteja menor que o erro tolerado. Continua-se então a procurar as demais raízes, se isto fizer sentido.
Algoritmo 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 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:
Seja 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. Método da Bisseção
Algoritmo para o método das Bisseções bissecao := 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 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 aie bisã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.
Implementaçã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 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: