Apostila Calculo Numerico V2

  • View
    2.797

  • Download
    2

Embed Size (px)

Transcript

APOSTILA DE CLCULO NUMRICO Professor: William Wagner Matos Lira Monitores: Ricardo Albuquerque Fernandes Flavio Bomfim 1ERROS 1.1Introduo 1.1.1Modelagem 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:Fasedeobtenodeummodelomatemticoquedescreveumproblema fsico em questo. Resoluo:Fasedeobtenodasoluodomodelomatemticoatravsdaobtenoda soluo analtica ou numrica. 1.1.2Clculo Numrico O clculo numrico compreende: A anlise dos processos que resolvem problemas matemticos por meio de operaes aritmticas; Odesenvolvimentodeumaseqnciadeoperaesaritmticasquelevems respostas numricas desejadas (Desenvolvimento de algoritmos); Ousodecomputadoresparaobtenodasrespostasnumricas,oqueimplicaem escrever o mtodo numrico como um programa de computador Espera-se, com isso, obter respostas confiveis para problemas matemticos. No entanto, no raro acontecer que os resultados obtidos estejam distantes do que se esperaria obter.1.1.3Fontes de erros Suponhaquevocestdiantedoseguinteproblema:vocestemcimadeumedifcio quenosabeaaltura,masprecisadetermin-la.Tudoquetememmosumabolade metal e um cronmetro. O que fazer? Conhecemos tambm a equao onde: s a posio final; s0 a posio inicial; v0 a velocidade inicial; t o tempo percorrido; g a acelerao gravitacional. Abolinhafoisoltadotopodoedifcioemarcou-senocronmetroqueelalevou2 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). 1.2Representao numrica Motivao: Exemplo 1: Calcular a rea de uma circunferncia de raio 100 metros. a) 31140 m2 b) 31416 m2 c) 31415,92654 m2 Exemplo 2: Calcular =30001ix Spara5 . 0 =ixe para11 . 0 =ix S para5 . 0 =ix S para11 . 0 =ixCalculadora150003300 Computador150003299,99691 Por que das diferenas? No caso do Exemplo 1 foram admitidos trs valores diferentes para o nmero : a) =3,14 b) =3,1416 c) =3,141592654 Dependnciadaaproximaoescolhidapara .Aumentando-seonmerodedgitos aumentamos a preciso. Nunca conseguiremos um valor exato. No caso do Exemplo 2 as diferenas podem ter ocorrido em funo da base utilizada, da formacomoosnmerossoarmazenados,ouemvirtudedoserroscometidosnas operaes aritmticas. Oconjuntodosnmerosrepresentveisemqualquermquinafinito,eportanto, discreto,ousejanopossvelrepresentaremumamquinatodososnmerosdeum dadointervalo[a,b].ArepresentaodeumnmerodependedaBASEescolhidaedo nmero mximo de dgitos usados na sua representao. Qual a base utilizada no nosso dia-a-dia?Base decimal (Utiliza-se os algarismos: 0, 1, 2, 3, 4, 5, 6, 7, 8 e 9). Existemoutrasbases:8(baseoctal),12,60,porm,abaseutilizadapelamaioriados computadores a base binria, onde se utiliza os algarismos 0 e 1. Oscomputadoresrecebemainformaonumricanabasedecimal,fazemaconverso parasua base (a base binria) e fazem nova converso para exibir osresultados na base decimal para o usurio. Exemplos: (100110)2 = (38)10 (11001)2 = (25)10 1.2.1Representao de um nmero inteiro Em princpio, representao de um nmero inteiro no computador no apresenta qualquer dificuldade. Qualquer computador trabalha internamente com uma base fixa , onde um inteiro2 ; e escolhido como uma potncia de 2. Assim dado um nmero inteiro0 x , ele possui uma nica representao, ) ... ( ) ... (001111 0 1 2 1 d d d d d d d d d xnnnn n n+ + + + = = onde id um dgito da base em questo, no caso de uma base binria1 =nde 0 1,..., d dn so iguais a 1 ou 0 que so os dgitos da base binria. Exemplos: a) Como seria a representao do nmero 1100 numa base2 = 0 1 2 322 0 2 0 2 1 2 1 ) 1100 ( + + + = Portanto 2 2) 1100 ( ) 1100 ( = . b) Como seria a representao do nmero 1997 em uma base10 = ? 0 1 2 310 7 10 9 10 9 10 1 1997 + + + =Logo, 1997 = 10) 1997 ( . 1.2.2Representao de um nmero real Se o nmero realxtem parte inteira ix , sua parte fracionria xf = x - xi pode ser escrita como uma soma de fraes binrias: ) ... ( ) ... () 1 (12211 0 1 2 1nnnn n n fd d b b b b b b b x + + + + = = 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? ) 10 8 10 2 ( ) 10 9 10 3 ( ) 28 , 39 (2 1 0 110 + + + =10 10) 28 , 39 ( ) 28 , 39 ( = b) Como seria a representao do nmero 2 10(?) ) 375 , 14 ( = em uma base binria? 2 10) 011 , 1110 ( ) 375 , 14 ( = Precisamos saber fazer a converso de bases que o tpico seguinte. 1.3Converso entre as bases Conforme dito anteriormente, a maioria dos computadores trabalha na base , onde um inteiro2 ; normalmente escolhido como uma potncia de 2. 1.3.1Binria para Decimal Exemplos: a) 100 1 2 32) 13 ( 1 0 4 8 2 1 2 0 2 1 2 1 ) 1101 ( = + + + = + + + =b) 100 1 2 3 42) 25 ( 1 0 0 8 16 2 1 2 0 2 0 2 1 2 1 ) 11001 ( = + + + + = + + + + =1.3.2Decimal para Binria Naconversodeumnmeroescritoembasedecimalparaumabasebinriaso utilizados:omtododasdivisessucessivasparaaparteinteiraeomtododas multiplicaes sucessivas para converso da parte fracionria do nmero em questo. - Mtodo das divises sucessivas (parte inteira do nmero) a) Divide-se o nmero (inteiro) por 2; b) Divide-se por 2, o quociente da diviso anterior; c) Repete-se o processo at o ltimo quociente ser igual a 1. O nmero binrio ento formado pela concatenao do ltimo quociente com os restos das divises, lidos em sentido inverso. - Mtodo das multiplicaes sucessivas (parte fracionria do nmero) a) Multiplica-se o nmero (fracionrio) por 2; b) Do resultado, a parte inteira ser o primeiro dgito do nmero na base binria e a parte fracionria novamente multiplicada por 2; c) O processo repetido at que a parte fracionria do ltimo produto seja igual a zero Exemplos: a) 2 10(?) ) 13 ( = QuocienteResto 13/261 6/230 3/211 Resultado: 2 10) 1101 ( ) 13 ( = b) 2 10(?) ) 25 ( =QuocienteResto 25/2121 12/260 6/230 3/211 Resultado: 2 10) 11001 ( ) 25 ( = c) 2 10(?) ) 375 , 0 ( = 0,375x 20,7500,750x 21,5000,500x 21,000(0,375)10=(0,011)2 c) 2 10(?) ) 25 , 13 ( = Converte-se inicialmente a parte inteira do nmero: QuocienteResto 13/261 7/230 3/211 ... em seguida converte-se a parte fracionria: 2 10) 01 , 0 ( ) 25 , 0 ( = Resultado:2 10) 01 , 1101 ( ) 25 , 13 ( = Ateno: Nem todo nmero real na base decimal possui uma representao finita na base binria.Tentefazeraconversode 10) 1 , 0 ( .Estasituaoilustrabemocasodeerrode arredondamento nos dados. 1.3.3Exerccios Propostos Faa as converses indicadas abaixo: a) 10 2(?) ) 100110 ( =b) 10 2(?) ) 1100101 ( =c) 2 10(?) ) 28 , 40 ( =d) 10 2(?) ) 01 , 110 ( =e) 2 10(?) ) 8 , 3 ( =1.4Arrredondamento e aritmtica de ponto flutuante Umnmerorepresentado,internamente,numcomputadoroumquinadecalcular atravs de uma seqncia de impulsos eltricos que indicam dois estados: 0 ou 1, ou seja, os nmeros so representados na base binria. 0,250,50 x 2x 2 0,50 1,0 De uma maneira geral, um nmerox representado na base por: ettd d d dx . ...3322 1

+ + + + =onde: id - so nmeros inteiros contidos no intervalot i di,.., 2 , 1 ; 1 0 = ; e - representa o expoente dee assume valores entreS e I onde S I , - so, respectivamente, limite inferior e superior para a variao do expoente;

+ + + +ttd d d d ...3322 1achamadamantissaeapartedonmeroquerepresenta seusdgitossignificativoset onmerodedgitossignificativosdosistemade representao, comumente chamado de preciso da mquina. Um nmero realxno sistema de aritmtica de ponto flutuante pode ser escrito tambm na forma: etd d d d x ). ... , 0 (3 2 1 =com01 d , pois o primeiro algarismo significativo de x. Exemplos: a)Escreverosnmerosreais35 . 01 = x ,172 . 52 = x ,0123 . 02 = x ,0003 . 04 = x , e 3 . 53915 = xonde esto todos na base10 = em notao de um sistema de aritmtica de ponto flutuante. Soluo: 0 0 2 110 35 . 0 10 ) 10 5 10 3 ( 35 . 0 = + = x1 1 4 3 2 110 5172 . 0 10 ) 10 2 10 7 10 1 10 5 ( 172 . 5 = + + + = 1 1 3 2 110 123 . 0 10 ) 10 3 10 2 10 1 ( 0123 . 0 = + + =4 4 5 4 3 2 110 53913 . 0 10 ) 10 3 10 1 10 9 10 3 10 5 ( 3 . 5391 = + + + + = 3 3 110 3 . 0 10 ) 10 3 ( 0003 . 0 = = b) Considerando agora que estamos diante de uma mquina que utilize apenas trs dgitos significativosequetenhacomolimiteinferioresuperiorparaoexpoente, respectivamente,-2e2,comoseriamrepresentadosnestamquinaosnmerosdo exemplo a)? Soluo:Temosentoparaestamquina3 = t ,2 = I e2 = S .Destaforma 2 2 e . Sendo assim temos: 010 350 . 0 35 . 0 =110 517 . 0 172 . 5 = 110 123 . 0 0123 . 0 =410 53913 . 0 3 . 5391 = No pode ser representado por esta mquina. Erro de overflow. 310 3 . 0 0003 . 0 ==No pode ser representado por esta mquina. Erro de underflow. Umerrodeoverflowocorrequandoonmeromuitograndeparaserrepresentado,j umerrodeunderflowocorrenacondiocontrria,ouseja,quandoumnmero pequeno demais para ser representado. c)Numamquinadecalcularcujosistemaderepresentaoutilizadodebasebinria, considerandoqueamquinatenhacapacidadeparaarmazenarumnmerocomdez dgitossignificativos,comlimitesinferioresuperiorparaoexpoentede-15e15, respectivamente. Como que representado o nmero (25)10 neste sistema ? 1.5Erros 1.5.1Erros absoluto, relativo e percentu