Trabalho Calculo Numerico

download Trabalho Calculo Numerico

If you can't read please download the document

description

trabalho de cálculo numérico abordando erros e zeros de funções reais

Transcript of Trabalho Calculo Numerico

UNIVERSIDADE FEDERAL DE PELOTAS

DISCIPLINA DE CLCULO NUMRICO

REA 1

Noes Bsicas sobre ErrosZeros Reais de Funes ReaisResoluo de Sistemas Lineares

Rogrio Almeida Gouva

Pelotas, RS, Brasil2015

1. INTRODUOO Clculo Numrico tem por objetivo estudar algoritmos numricos para resoluo de problemas que podem ser representados por um modelo matemtico. Um algoritmo eficiente apresenta solues dentro de uma preciso desejada com um custo computacional (tempo de execuo + memria) baixo. As aproximaes obtidas para o que seriam as solues exatas do problema apresentam sempre erros decorrentes da discretizao do problema, ou seja, passar do modelo matemtico para o numrico, pela forma como as mquinas representam os nmeros. importante que esses erros sejam sempre estimados e controlados ao executar um algoritmo numrico para que as solues possam ser significativas para o problema em questo.Nesse relatrio sero apresentados os contedos aprendidos na sala de aula de maneira simplificada e ilustrados com exemplos computacionais visando relacionar a teoria do clculo numrico com problemas prticos.Inicialmente ser repassadas noes bsicas sobre erros em calculos numricos, sua significncia e exemplos prticos. Em seguida sero abordados os mtodos de resoluo das razes de funes reais considerando as condies iniciais mais apropriadas para cada exemplo e realizando um sumrio na comparao dos diferentes mtodos. Finalmente, sero abordados os mtodos diretos e iterativos de resoluo de sistemas lineares e comparaes quanto a aptido de cada mtodo.2. PACOTE DE SOFTWARETodos clculos apresentados nesse relatrio sero resolvidos com auxlio do pacote cientfico para clculo numrico GNU OCTAVE, o qual distribudo gratuitamente sob a licena General Public License e em maior parte compatvel com o conhecido pacote pago MATLAB. O OCTAVE considerado a melhor alternativa ao MATLAB e apresenta vantagens de leveza, menor tamanho em disco e rodar em plataforma Linux.

3. NOES BSICAS SOBRE ERROS3.1 Representao dos nmeros a representao de um nmero depende da base escolhida ou disponvel na mquina em uso e do nmero mximo de dgitos usado em sua representao.Dessa maneira podemos obter resultados diferentes para um mesmo clculo, dependendo do nmero de dgitos significativos, o caso da rea de uma circunferencia de raio 100m:

Na calculadora o resultado ser: 31415.92654 mJ no Octave: >>> format long; pi*100^2 ans = 31415.9265358979

Ou ainda:>>> output_precision(30); pi*100^2ans = 3.14159265358979318989440798759e+04

Tambm deve-se ter ateno a maneira como a mquina lida com os nmeros pois o computador calcula usando os nmeros em binrio, isso pode levar a erros de clculo. Por exemplo, ao realizar seguinte clculo no Octave>>> 1-0.2-0.2-0.2-0.2-0.2ans = 5.5511e-17Esse erro se deve a 0.2 ser uma dzima perodica em binrio levando a erros de preciso que dependem da eficincia da mquina. Para saber qual a representao binria de um nmero decimal podemos usar a funo dec2bin() do Octave:>>> dec2bin(11)ans = 10113.2 Erros os erros so entidades permanentes ao se realizar um clculo numrico, uma vez que so tomadas aproximaes para traduzir um modelo matemtico em numrico.Definimos erro absoluto a diferena entre o valor exato de um nmero x de seu valor aproximado x. Por exemplo, seja a raiz da funo f(x)=x-1, encontramos por aproximao de um mtodo numrico x = 1.0012. Mas sabemos por aritmtica que a raiz x=1 . Portanto h um erro absoluto: EA = x x = -0.0012Para comparar grandezas quanto a preciso mais conveniente utilizar a definio de erro relativo dado pela diviso de erro absoluto pelo valor aproximado.

Por exemplo, um erro de 0.1 em um x na ordem de 2000 no equivalente ao erro de 0.1 em um y na ordem de 3.3.3 Arredondamento e truncamento em um sistema de ponto flutuante qualquer nmero x pode ser representado como Como a segunda parte no pode ser incorporada a mantissa necessrio decidir como operar a mantissa definindo o erro absoluto. Existem algumas opes que sero ilustradas no Octave:* Truncamento: permanece apenas a mantissa;>>> fix ([-2.7, 2.7]) -2 2* Arredondamento assimtrico: para maior ou para menor.>>> ceil ([-2.7, 2.7]) -2 3>>> floor ([-2.7, 2.7]) -3 2* Arredondamento simtrico: mais usual, arredonda a mantissa para o numero mais prximo.>>> round ([-2.7, 2.7]) -3 33.4 Anlise de erros nas operaes aritmticas o erro em uma operao, geralmente causado pelo arredondamento, se propaga com as operaes subsequentes. Levando isso em conta importante escolher os nmeros de dgitos significativos de forma que os erros de arredondamento que se acumulam a cada operao no se tornem importantes no resultado final.Essas escolhas devem ser estudas com ateno observando se o modelo numrico apresenta um numero muito grande de operaes e se pode haver cancelamento subtrativo (dois numeros de magnitude similar subtrados gerando erro relativo grande). O usurio deve ento escolher um nmero de digitos significativos que elimine risco de propagao de erros sem exceder no custo computacional.

4. ZEROS REAIS DE FUNES REAISUm nmero real zero de uma funo f(x) ou raz da equao f(x)=0 se f()=0. Esses zeros so portanto os valores onde o grfico de f(x) corta o eixo das abscissas.Em equaes polinomiais at o segundo grau existem frmulas explcitas para as razes em funo dos coeficientes, entretanto para maioria das funes praticamente impossvel encontrar exatamente seus zeros. Para essas funes devemos utilizar mtodos numricos para sua resoluo que no fornecem os zeros exatos mas com excelentes aproximaes limitadas apenas pela preciso de mquina.Os mtodos de resoluo se dividem em duas fases:FASE 1 isolamento de razes, obteno de um intervalo menor possvel que contm a raz a real. Um intervalo para cada zero da funo, sem sobreposio.FASE 2 refinamento, uma vez escolhidas as aproximaes iniciais do intervalo melhorar sucessivamente at que a aproximao da raz esteja dentro da preciso prefixada.

4.1 Isolamento de Razes o principal teorema para definir o intervalo que contm uma raz :Seja f(x) contnua em [a,b], e f(a)f(b) < 0 (isto , ela troca de sinal), ento existe pelo menos um zero nesse intervalo.

A interpretao grfica simples:

O teorema auxiliar para isolar a raiz seria: Se f'(x) existir e preservar sinal em [a,b], ento existe apenas um zero real de f(x) nesse intervalo.

Conhecendo esses teoremas podemos estimar um intervalo para as razes esboando o grfico da funo e calculando alguns de seus valores. Na prtica sempre mais conveniente plotar o grfico em software e usar o conhecimento prvio da algbra da funo, por exemplo, grau, periodicidade, simetria, etc.

4.2 Refinamento o refinamento se d sempre atravs de mtodos iterativos e eles se diferenciam por seus algoritmos.O mtodo iterativo funciona em ciclos sendo que cada ciclo denominados iteraes partindo de informaes do ciclo anterior. Ao atingir um resultado proximo suficiente do resultado esperado o clculo pra. Em um diagrama de fluxo, os mtodos de refinamento ficam assim:

O critrio de parada x ser raiz aproximada com preciso : (I) ou(II) formulaNo conhecemos para o teste (I), entretanto equivale a relao b-a < onde (a,b) o intervalo de x. Ambos critrios no so necessariamente satisfeitos simultaneamente:

Entretanto uma vez que um deles esteja satisfeito a aproximao quase sempre boa o suficiente.Muitas vezes o clculo pode entrar em um looping por erros internos e dessa forma nunca satisfazer os critrios de parada, da importante estabelecer um nmero mximo de iteraes. Caso no seja especificado o Octave tem como nmero padro 256 iteraes.Vamos aos mtodos:4.2.1 Mtodo da Bisseco seja f(x) contnua no intervalo [a,b] tal que f(a)f(b) < 0, supondo uma nica raz nesse intervalo, esse intervalo ser dividido ao meio a cada iterao, f(x) ser calculada e os critrios de parada verificados.

Caso os critrios no estejam satisfeitos um novo intervalo [a,b] gerado a partir do sinal de f(x). Isto , mantendo f(a) e f(b) com sinais contrrios. Criei um script do Octave com a funo bisseco, tomando como critrio de parada o tamanho do intervalo:A funo bisseco ir tomar uma funo f, um intervalo inicial (a,b), um = err, e um nmero mximo de iteraes itermax.Vamos fazer o exemplo #4 cap.2 do livro-texto no Octave:

Exatamente mesmo resultado do livro.4.2.2 Mtodo da Posio Falsa seja f(x) contnua no intervalo [a,b] tal que f(a)f(b) < 0, supondo uma nica raz nesse intervalo, nesse mtodo ao invs de tomar o ponto mdio do intervalo, x ser a mdia ponderada:

O script segue a mesma estrutura do mtodo da bisseco, mas o critrio de parada ser o |f(x)| 0 para todo x em Rn )Essa definio simplifica a fatorao de A da seguinte maneira:

Um script para realizar a fatorao de Cholesky para uma matriz A apropriada mostrado a seguir:

5.2 MTODOS ITERATIVOS5.2.1 Introduo e teste de paradaA ideia dos mtodos iterativos generalizar o mtodo do ponto fixo, um sistema Ax=b se transforma num sistema para iterao:(x(k)) = Cx+g = x(k+1)Se a sequncia de aproximaes x(1),..., x(k), tal que o ento a = Ca+g que e a soluo do sistema Ax=b.O critrio de parada utilizado se baseia na diferena d entre x(k)-x(k-1) como trata-se de um vetor com n entradas, tomamos

Se d(k) for menor que a preciso ento toma x(k) = x. Tambm pode ser conveniente fazer o teste com base no erro relativo:

5.2.2 Mtodo de Gauss-JacobiNesse mtodo geramos as funes de iterao isolando o x pela separao da diagonal.

O novo sistema equivale a um Cx+g onde:

Portanto dada uma aproximao inicial x(0) calculamos de maneira recursiva novos valores para x que idealmente se aproximaro da soluo do sistema.

REFERNCIAS BIBLIOGRFICASRUGGIERO M.A. e LOPES V.L. Clculo numrico: aspectos tericos e computacionais. 2.ed. So Paulo, 1996