Apostila Calculo Numerico V2
-
Author
diego-ramos -
Category
Documents
-
view
2.825 -
download
2
Embed Size (px)
Transcript of Apostila Calculo Numerico V2
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 percentual Erro absoluto: Diferena entre o valor exato de um nmeroxe seu valor aproximado xobtido a partir de um procedimento numrico. x x Exa = Em geral apenasx conhecido, e o que se faz assumir um limitante superior ou uma estimativa para o mdulo do erro absoluto. Exemplos: a)Sabendo-seque) 15 , 3 ; 14 , 3 ( = tomaremospara umvalordentrodesteintervaloe teremos, ento,01 . 0 < = xaE . b)Sejax representadopor9 , 2112 = x deformaque1 , 0 ezplot(cos(x)^3-sin(x),[0.5 1]), grid Exemplo: Aplicao do Princpio de Arquimedes para a determinao do calado de embarcaes. Incgnita: Profundidade h correspondente ao equilbrio. Equao resultante durante o desenvolvimento da soluo: Slido.VSlido= Lquido.VLquido deslocado(h) Reformatao do problema: Slido.VSlido- Lquido.VLquido deslocado(h)=0 Considerando f(h)=Slido.VSlido- Lquido.VLquido deslocado(h), a soluo da equao corresponde ao zero da funo f(h). E(h): empuxo W: peso do corpoLquido Corpo flutuante h (calado)2.3.2Mtodos a Partir de um Intervalo (Bisseo e Cordas) Pr-requisitos:oConsidere uma funo f(x) contnua dentro de um intervalo [a, b];oConsidereaindaquenosextremosdointervalo[a,b]afunoestudada apresente sinais contrrios, ou seja, f(a)*f(b)tol, redefine-se o intervalo de estudo, repetindo-se a estratgia at que a tolerncia seja verificada.2b aze+=Equao de recorrncia:ZeroZero estimadof(b)bz zeYXY=f(X)f(ze)af(a) A estimativa do zero da funo Y=f(X) feita a partir do ponto mdio do intervalo analisado. Se o valor estimado no atender tolerncia estabelecida para o problema, ou seja, |f(ze)|>tol, redefine-se o intervalo de estudo, repetindo-se a estratgia at que a tolerncia seja verificada.2b aze+=Equao de recorrncia:ZeroZero estimadof(b)bz zeYXY=f(X)f(ze)af(a)2b aze+=2b aze+=Equao de recorrncia:ZeroZero estimadof(b)bz zeYXY=f(X)f(ze)af(a) O mtodo das cordas fundamenta-se no fato de que, geralmente, o zero da funo vai estar localizado o mais prximo do extremo do intervalo onde a funo apresenta o menor valor em mdulo. A estimativa do zero da funo Y=f(X) feita a partir da reta secante que une os pares extremos (a,f(a)) e (b,f(b)) do intervalo analisado. O ponto em que essa reta secante intercepta o eixo das abscissas corresponde estimativa do zero da funo. Se o valor estimado no atender tolerncia estabelecida para o problema, ou seja, |f(ze)|>tol, redefine-se o intervalo de estudo, repetindo-se a estratgia at que a tolerncia seja verificada.ZeroZero estimadof(b)b zzeYXY=f(X)Reta secante Pela semelhana dos tringulos retngulos destacados na figura:) a ( f ) b ( f) a ( f b ) b ( f aze ze b) b ( fa ze) a ( f = =Equao de recorrncia:f(ze)af(a) O mtodo das cordas fundamenta-se no fato de que, geralmente, o zero da funo vai estar localizado o mais prximo do extremo do intervalo onde a funo apresenta o menor valor em mdulo. A estimativa do zero da funo Y=f(X) feita a partir da reta secante que une os pares extremos (a,f(a)) e (b,f(b)) do intervalo analisado. O ponto em que essa reta secante intercepta o eixo das abscissas corresponde estimativa do zero da funo. Se o valor estimado no atender tolerncia estabelecida para o problema, ou seja, |f(ze)|>tol, redefine-se o intervalo de estudo, repetindo-se a estratgia at que a tolerncia seja verificada.ZeroZero estimadof(b)b zzeYXY=f(X)Reta secante Pela semelhana dos tringulos retngulos destacados na figura:) a ( f ) b ( f) a ( f b ) b ( f aze ze b) b ( fa ze) a ( f = =Equao de recorrncia:f(ze)af(a)2.3.5Mtodo de Newton f(a)f(ze)ZeroZero estimado( ) ) a ( f arctan = a z zePonto de partidaYXY=f(X) A estimativa do zero da funo Y=f(X) feita a partir da reta tangente funo em um ponto de partida. O ponto em que essa reta tangente intercepta o eixo das abscissas corresponde estimativa do zero da funo. Se o valor estimado no atender tolerncia estabelecida para o problema, ou seja, |f(ze)|>tol, repete-se o esquema at que a mesma seja verificada.Reta tangentePara o tringulo retngulodestacado na figura:) a ( f) a ( fa ze ze a) a ( f) a ( f ) tan( = = = Equao de recorrncia:f(a)f(ze)ZeroZero estimado( ) ) a ( f arctan = a z zePonto de partidaYXY=f(X) A estimativa do zero da funo Y=f(X) feita a partir da reta tangente funo em um ponto de partida. O ponto em que essa reta tangente intercepta o eixo das abscissas corresponde estimativa do zero da funo. Se o valor estimado no atender tolerncia estabelecida para o problema, ou seja, |f(ze)|>tol, repete-se o esquema at que a mesma seja verificada.Reta tangentePara o tringulo retngulodestacado na figura:) a ( f) a ( fa ze ze a) a ( f) a ( f ) tan( = = = Equao de recorrncia:ZeroZero estimado( ) ) a ( f arctan = a z zePonto de partidaYXY=f(X) A estimativa do zero da funo Y=f(X) feita a partir da reta tangente funo em um ponto de partida. O ponto em que essa reta tangente intercepta o eixo das abscissas corresponde estimativa do zero da funo. Se o valor estimado no atender tolerncia estabelecida para o problema, ou seja, |f(ze)|>tol, repete-se o esquema at que a mesma seja verificada.Reta tangentePara o tringulo retngulodestacado na figura:) a ( f) a ( fa ze ze a) a ( f) a ( f ) tan( = = = Equao de recorrncia:3SOLUO DE SISTEMAS DE EQUAES LINEARES 3.1Caracterizao Matemtica onde aij so os coeficientes;xj so as variveis; bi so as constantes, tal que e. 3.2Notao Matricial onde A a matriz dos coeficientes; x o vetor de incgnitas; b o vetor de constantes. 3.3Classificao quanto soluo 3.3.1Sistema Possvel ou Compatvel Admite soluo. 3.3.1.1 Sistema Possvel e Determinado Possui uma nica soluo; O determinante de A deve ser diferente de zero; Se b for um vetor nulo (constantes nulas), a soluo do sistema ser a soluo trivial, ou seja, o vetor x tambm ser nulo. 3.3.1.2 Sistema Possvel e Indeterminado Possui infinitas solues; O determinante de A deve ser nulo; O vetor de constantes B deve ser nulo ou mltiplo de uma coluna de A. 3.3.2Sistema Impossvel ou Incompatvel 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.4Ilustrao com Problemas de Engenharia 3.4.1Mtodo da Rigidez 3.4.2Circuitos Eltricos 3.4.3Interpolao 3.5Classificao dos Mtodos de Soluo de Sistemas de Equaes Lineares 3.5.1Mtodos Diretos So aqueles que conduzem soluo, exata a menos de erros de arredondamento introduzidos pela mquina, aps um nmero finito de passos; Pertencem a esta classe todos os mtodos estudados no 1 e 2 graus. No entanto, esses mtodos no so usados em problemas prticos quando o nmero de equaes elevado, pois apresentam problemas de desempenho; Surge ento, a necessidade de utilizar tcnicas mais avanadas e eficientes como: Mtodo de Eliminao de Gauss e Mtodo de Gauss-Jordan. 3.5.2Mtodos Indiretos (Iterativos) So aqueles que se baseiam na construo de seqncias de aproximaes. A cada passo, os valores calculados anteriormente so utilizados para reforar a aproximao. O resultado obtido aproximado; Geralmente so utilizados os seguintes critrios de parada para as iteraes: Limitao no nmero de iteraes e Determinao de uma tolerncia para a exatido da soluo; Podem no convergirpara a soluo exata; Podem ser inviveis quando o sistema muito grande ou mal-condicionado; Exemplos de Mtodos Iterativos: Mtodos de Gauss-Jacobi e de Gauss-Seidel. 3.6Mtodos Diretos Para sistemas lineares possveis e determinados de dimenso n x n, o vetor soluo, x, dado por: No entanto, calcular explicitamente a inversa de uma matriz no aconselhvel devido quantidade de operaes envolvidas. 3.6.1Mtodo da Eliminao de Gauss Evita o clculo da inversa de A; A soluo usando o Mtodo da Eliminao de Gauss consiste em duas etapas: a)Transformao do sistema original num sistema equivalente usando uma matriz triangular superior (Escalonamento); b)Resoluo deste sistema equivalente. Por questes didticas, a resoluo do sistema equivalente ser mostrada antes do escalonamento do sistema. 3.6.1.1 Resoluo do Sistema Equivalente Exemplo: Tendo o sistema escalonado n x n, torna-se simples a obteno da soluo; Calcula-se inicialmente o x3 pela ltima equao; Depois, utiliza-se o valor de x3 na 2 equao para obter o valor de x2; Em seguida, faz-se uso dos valores j conhecidos de x2 e x3 na 1 equao para computar x1. De forma geral, temos: Algoritmo para resoluo do sistema equivalente
Parai = (n-1),...,1
Paraj = (i+1),...,n Fim Fim 3.6.1.1 Escalonamento Percorre-se os elementos abaixo da diagonal principal, transformando-os, atravs de operaes elementares, em termos nulos, e garantindo que os elementos que j foram transformados anteriormente no mais sejam modificados. 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. 3.6.1.2 Escalonamento sem pivoteamento Exemplo: Algoritmo para escalonamento do sistema Paraj = 1,...,(n-1) Parai = (j+1),...,n Parak = 1,...,n Fim Fim Fim 3.6.1.3 Escalonamento com pivoteamento Evitar que os pivs usados no escalonamento sejam nulos. Exemplo: Critrio: buscar linha com maior coeficiente em mdulo. Trocar a segunda pela terceira linha: Continuar escalonando ... Observao: Opivoteamentopodeserempregadocomoobjetivodeminimizaroserrosde arredondamentoetruncamentoquandoamatrizdoscoeficientesAnofor diagonalmentepredominante.Antesdoescalonamentodeumadadacoluna,procura-se colocar como piv omaior elemento emmdulo de todos aqueles da diagonal principal para baixo. Resumindo: Escalonamento sem pivoteamento Repetir da primeira at a penltima coluna; Repetir para as linhas abaixo da diagonal principal; Aplicar operao elementar com o objetivo de zerar o elemento da linha corrente abaixo da diagonal principal; Alterar linha da matriz dos coeficientes; Alterar linha do vetor das constantes. Escalonamento com pivoteamento Repetir da primeira at a penltima coluna; Verificar a necessidade de se fazer o pivoteamento; Procurar uma linha adequada; No caso de encontrar, fazer a permuta das linhas; Verificar a necessidade de se fazer o escalonamento da coluna corrente; Repetir para as linhas abaixo da diagonal principal; Aplicar operao elementar com o objetivo de zerar o elemento da linha corrente abaixo da diagonal principal; Alterar linha da matriz dos coeficientes; Alterar linha do vetor das constantes. 3.7Mtodos Iterativos Geram uma seqncia de vetores {x}k, a partir de uma aproximao inicial {x}0. Sob certas condies essa seqncia converge para a soluo, caso ela exista. Seja o sistema linear Ax=b, onde: A: matriz dos coeficientes, nxn; b: vetor de termos constantes, nx1; x: vetor de incgnitas, nx1. Esse sistema convertido, de alguma forma, em um sistema do tipo x = Cx + g, onde: C uma matriz nxn; g um vetor nx1. Partindo de uma aproximao inicial x0, construmos consecutivamente os vetores: x1 = Cx0 + g x2 = Cx1 + g x3 = Cx2 + g xk+1=Cxk + g Costuma-se adotar como critrio de parada para os mtodos iterativos os seguintes testes: xk seja suficiente prximo de xk-1
(ou seja, distncia entre xk e xk-1 seja menor que uma dada tolerncia); Nmero mximo de iteraes. 3.7.1Mtodo de Gauss-Jacobi Idia principal: Cadacoordenadadovetorcorrespondentenovaaproximaocalculadaapartirda respectivaequaodosistema,utilizando-seasdemaiscoordenadasdovetor aproximao da iterao anterior. De forma genrica tem-se o sistema n x n abaixo: onde . Pode-se ento, isolar os termos do vetor de incgnitas x, da seguinte forma: Desta forma, podemos montar a matriz C e o vetor g: = += + += + + += + + +n n nn n n nn nn nn nb x a x a x a x ab x a x a x a x ab x a x a x a x ab x a x a x a x aLM M O M M MLLL3 3 2 2 1 13 3 3 33 2 32 1 312 2 3 23 2 22 1 211 1 3 13 2 12 1 11
=0002 122222211111112LM O M MLLnnnnnnnnaaaaaaaaaaaaC)`=nnnabababgM222111Ento, pode-se calcular o vetor soluo para cada iterao k, como sendo: Ou generalizando para os termos xi do vetor soluo de uma iterao k: Exemplo: Calculando a matriz C e o vetor g, obtm-se: Pode-se ento calcular o vetor x para as iteraes: n i paraax a bxiini jjkj ij iki, , 1 ,1) 1 () (K ===
=05204204131310C)`=1137gOs resultados obtidos para as iteraes esto dispostos na tabela a seguir: Iterao{x}(k)
1 2.33331.00001.00002 1.6667 -0.08330.60003 2.16110.28331.03334 1.8944 -0.05690.88675 2.05680.08311.02286 1.9647 -0.02560.96687 2.01960.02541.01028 1.9881 -0.01000.9898... ...Soluo exata 2.00000.00001.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 Parai = 1,...,n s = bi Paraj = 1,...,n Sei for diferente de j s = s aij * x0j Fim Fim xi = s/aii Fim dist = norma(x-x0) x0=x Fim 3.7.2Mtodo de Gauss-Seidel Idia principal: Cadacoordenadadovetorcorrespondentenovaaproximaocalculadaapartirda respectivaequaodosistema,utilizando-seascoordenadasdovetoraproximaoda iteraoanterior,quandoessasaindanoforamcalculadasnaiteraocorrente,eas coordenadas do vetor aproximao da iterao corrente, no caso contrrio. De forma genrica tem-se o sistema n x n abaixo: onde . 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 vetorsoluodosistema(x2,x3,..,xn).Poressemotivo,utiliza-sevaloresdovetor soluo da iterao (k-1). J para os outros elementos de x(k), pode-se fazer uso de valores jcalculadosnaiteraocorrente,porexemplo,aocalcular-sex2jseconhece 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: = += + += + + += + + +n n nn n n nn nn nn nb x a x a x a x ab x a x a x a x ab x a x a x a x ab x a x a x a x aLM M O M M MLLL3 3 2 2 1 13 3 3 33 2 32 1 312 2 3 23 2 22 1 211 1 3 13 2 12 1 11n i paraax a x a bxiini jkj ijijkj ij iki, , 1 ,1) 1 (11) () (K = = + ==Exemplo: Estimativas para a primeira iterao: Os resultados obtidos para as iteraes esto dispostos na tabela a seguir. Notequeparaomesmosistemalineareparaummesmochuteinicial,omtodode 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-Seidelfazusodeelementosdoprpriovetorsoluodaiteraocorrentepara atualizar sua estimativa. Iterao{x}(k)
1 2.33330.41670.83332 1.91670.10420.95833 1.97920.02600.98964 1.99480.00650.99745 1.99870.00160.99936 1.99970.00040.99987 1.99990.00011.0000... ...Soluo exata 2.00000.00001.0000 Observa-setambmquequantomaisiteraesforemrealizadas,maisprximoestaro vetor x da soluo exata do sistema linear em questo. ( )( )( )= == == =652 0 5511252 1 441371 1 7311211) 1 (30311) 1 (20302) 1 (1x x xx x xx x xAlgoritmo Enquanto dist > tolerncia nite < nmero mximo de iteraes. ento: nite = nite + 1 Parai = 1,...,n s0 = bi s1 = 0; Paraj = 1,...,(i-1) s0 = s0 aij*xj Fim Paraj = (i+1),...,n s1 = s1 aij*x0j Fim xi = (s0+s1)/aii Fim dist = norma(x-x0) x0=x Fim 3.7.3Condio de suficincia para a convergncia dos mtodos iterativos Ao se utilizar um mtodo iterativo para solucionar um sistema de equaes lineares deve tomar cuidado pois, dependendo do sistema em questo, e da estimativa inicial escolhida, o mtodo pode no convergir para a soluo do sistema. Existem,porm,algunscritriosparaverificaraconvergnciadeummtodoiterativo. Basta atender a pelo menos um deles para que a convergncia ocorra independentemente da aproximao inicial escolhida. Nesses critrios so calculados valores s, onde. A condio de convergncia que o valor mximo de todos os s deve ser inferior a 1. 3.7.3.1 Critrio das linhas Os valores de s so calculados conforme a equao abaixo: ssns jjsjsaa|||.|
\|= =13.7.3.2 Critrio das colunas Os valores de s so calculados conforme a equao abaixo: 3.7.3.3 Critrio de Sassenfeld Onde o valor de 1 calculado da mesma forma que o 1 do critrio das linhas: E os demais s so calculados utilizando os valores j calculados de 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. 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. ssns jjjssaa|||.|
\|= =1111 121aa an+ +=Kssn ss s ss ssaa a a a1 1 1 1 1 1+ + + +=+ K K
=10 3 21 5 11 2 10A4INTERPOLAO Interpolar uma funo f(x) consiste em aproximar essa funo por uma outra funo p(x) quesatisfaaalgumaspropriedades.Emgeral,ainterpolaodefunesusadanas seguintes situaes: So conhecidos valores numricos da funo f(x) em alguns pontos discretos de x edeseja-seobtervaloresdef(x)empontosdesconhecidos,masdentrodolimite avaliado; Quandoumadeterminadafunof(x)possuiosoperadoresdediferenciaoe integrao muito complexos; Nasoluonumricadeequaesdiferenciaisusandoomtododasdiferenas finitas e o mtodo dos elementos finitos. Considere n pontos distintos (x1,f(x1)), (x2,f(x2)), ..., (xn,f(xn)). O objetivo encontrar uma funo interpolante p(x), tal que: As principais tcnicas de interpolao utilizadas atualmente so baseadas em polinmios (ou seja, p(x) uma funo polinomial). O grfico abaixo representa uma funo interpoladora para os pontos (1,1), (2,3), (3,5) e (4,3). Note que a curva intercepta todos os pontos fornecidos. 4.1Mtodos Numricos para Interpolao Dados n pontos distintos (x1,f(x1)), (x2,f(x2)), ..., (xn,f(xn)), deseja-se aproximar f(x) por um polinmio p(x) de grau menor ou igual a (n-1). Suponhaquevoctenhadoispontosdistintos(n=2),ento,omelhorpolinmioque interpolaessesdoispontosserumareta,ouseja,umpolinmiodegrau1.Damesma forma,dados3pontosdistintos,omelhorpolinmioserumaparbola.Casovoc fornea, por exemplo, 3 pontos (n=3) que pertenam a uma reta, o polinmio interpolador ainda sim ser ter grau 1, ou seja, grau menor que (n-1). 4.1.1Mtodo de Vandermonde Considerando a condio bsica para a interpolao: eofatodequeopolinmiointerpoladorter,nomximo,grau(n-1),temosqueo polinmio interpolador assumir a seguinte forma: Ento, obter o polinmio p(x), significa encontrar os coeficientes de forma que p(xk) = f(xk), para k=1,...,n. Desse modo: Obtm um sistema de equaes lineares, com n equaes e n incgnitas. Escrevendo o sistema acima na notao matricial, tem-se: A matriz A a chamada matriz de Vandermonde e desde que os valores de x1, x2, ..., xn sejamdistintos,odeterminantedeAdiferentedezero,eento,osistemaapresenta soluo nica.Ento, paraencontraropolinmiointerpoladordeumasrie de n pontos distintosconhecidos,bastaencontrarasoluodosistemalinearacima,assuntotratado no captulo anterior. Exemplo: Encontrar o polinmio de grau 2 que interpola os pontos da tabela abaixo: xf(x) -14 01 2-1 Soluo: Resolvendo o sistema: **Obs:AmatrizdoscoeficientesA(MatrizdeVandermonde)podeestarmal condicionada, neste caso, tal mtodo no recomendado. Algoritmo: Parai = 1,...,n Paraj = 1,...,n Aij = xi^(j-1) Fim Fim a = A-1 . {y} 4.1.2Mtodo de Lagrange Seja p(x) um polinmio com grau (n-1) que interpola f em x1, x2, ..., xn. Ento, podemos representar p(x) na forma: ou A equao mostrada acima o chamado Polinmio de Lagrange, onde Vamos tomar como exemplo um polinmio quadrtico (n=3), ento: E desse modo: Exemplo: Encontre o polinmio de grau 2 que interpole o seguinte conjunto de pontos xf(x) -14 01 2-1 Soluo: Polinmio adotado de grau 2, ento n=3, logo: Ento, o polinmio interpolador de Lagrange : Algoritmo: p = 0 Parai = 1,...,n s = 1 Parak = 1,...,n Se k for diferente de i s = s * (x-xk)/(xi-xk) Fim Fim p = p + f(xi)*s Fim 4.1.3Mtodo de Newton A frmula de Newton dada por: onde dk so os operadores diferenas divididas entre os pontos (x1,f(x1)),...,(xn,f(xn)). Esses operadores so dados por: Desse modo: Exemplo: Encontrar o polinmio de grau 2 que interpole o seguinte conjunto de pontos: xf(x) -14 01 2-1 Soluo: Grau do polinmio = 2, logo n=3 Polinmio adotado: Calculando os operadores diferenas dividas: Ento, tem-se o Polinmio de Newton: Algoritmo: D = matriz nula nxn 1 coluna de D = {y} Paraj = 2,...,n Parai = j,...,n di,j = (di,j-1 di-1,j-1)/(xi xi-j+1) Fim Fim p=0 Parai = 1,...,n s = 1 Paraj = 1,...,(i-1) s = s * (x-xj) Fim p = p + s*di,i Fim **Obs:Notequeparacadamtodonumricodeinterpolaoapresentadoutilizou-seo mesmoexemploecomorespostaparatodososcasosfoiobtidoomesmopolinmio interpolador. 5AJUSTE 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: Quando se desejar extrapolar ou fazer previses em regies fora do intervalo considerado; Quando os dados tabelados so resultados de experimentos, onde erros na obteno destes resultados podem influenciar a sua qualidade. Considereumatabeladempontos(x1,f(x1)),(x2,f(x2)),...,(xm,f(xn))comx1,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-sequeesteummodelomatemticolinearporqueoscoeficientesadeterminar 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)? Aescolhadasfunespodeserfeitaobservandoogrficodospontostabeladosou baseando-se em fundamentos tericos dos experimentos que forneceu a tabela. Exemplo: Experinciaondeforammedidosvaloresdecorrenteeltricaquepassaporuma resistncia submetida a vrias tenses. 5.1Mtodo dos Mnimos Quadrados O Mtodo dos Mnimos Quadrados um mtodo bastante utilizado para ajustar uma determinada quantidade de pontos. Sua deduo ser mostrada a seguir. Consideredadosmpontos(x1,f(x1)),(x2,f(x2)),...,(xm,f(xm))easnfunesg1(x), g2(x), ..., gn(x) escolhidas de alguma forma. Considere que o nmero de pontos tabelados msempremaiorouigualaonmerodefunesescolhidasn(ouaonmerode coeficientes a determinar ai). O objetivo encontrar oscoeficientesa1, a2, ..., antais quea funoq(x) = a1g1(x)+ a2g2(x) + ... + angn(x) se aproxime ao mximo de f(x). Seja dk = f(xk) q(xk) o desvio em xk. Um conceito de proximidade que dk seja mnimo para todo k = 1, 2, ..., m. O Mtodo dos Mnimos Quadrados consiste em escolher os ais de tal forma que a soma dos quadrados dos desvios seja mnima. 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). 5.1.1Ajuste Linear Considere a funo de ajuste dada por: onde a1 e a2 so os coeficientes a serem determinados pelo mtodo dos mnimos quadrados. A condio de minimizao satisfeita se: Comisso, obtm um sistema de equaes lineares: Tambmpodendo ser representado na forma matricial: Exemplo: Encontrar a melhor reta que ajusta os valores da tabela abaixo: x0,000,250,50,751,00 f(x)1,00001,28401,64872,11702,7183 Logo, a funo de ajuste dada por: e seu grfico mostrado abaixo. 5.1.2Ajuste Polinomial O processo usado acima para clculo da funo para ajuste linear pode ser estendido para ajuste polinomial. Assim, uma funo polinomial de grau (n-1) dada por: onde os coeficientes ai podemser obtidos atravs da expanso do sistema utilizado no ajuste linear atravs do clculo de agora para i = 1,...,n. Essa expanso ir resultar no seguinte sistema de equaes(n equaes, n incgnitas): ou em notao matricial: Note que a matriz A simtrica, ou seja, A = AT. Exemplo: Encontrar a melhor parbola que ajusta os valores da tabela abaixo: x0,000,250,50,751,00 f(x)1,00001,28401,64872,11702,7183 Polinmio adotado: (n=3) Calculando os termos da matriz A e do vetor b: Montando o sistema linear, encontra-se o seguinte sistema matricial: Resolvendo o sistema acima, encontra-se a seguinte soluo para o problema: Ou seja, a parbola que melhor ajusta os pontos fornecidos tem equao: 5.1.3Linearizao 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: 5.1.3.1 Funo Exponencial Aplicando logaritmo em ambos os lados, tem-se: Ento, se fizermos: Encontra-se a seguinte expresso: que nada mais seno uma reta. Da o nome linearizao. 5.1.3.2 Funo Logartmica A funo pode ser expandida para: Logo, se fizermos: encontramos a linearizao: 5.1.3.3 Funo Potencial Aplicando logaritmo em ambos os lados: Com as seguintes hipteses: encontra-se a expresso: 5.1.3.4 Funo Hiperblica Fazendo: Tem-se tambm: Exemplo: Encontrar a melhor funo que ajusta os valores da tabela abaixo: x-1-0,7-0,4-0,10,20,50,81,0 y36,54717,2648,1553,8521,820,860,4060,246 Sugesto: Utilizar uma funo exponencial. Soluo: Como vamos ajustar os pontos por uma funo exponencial precisamos fazer a seguinte adaptao: Ou seja, a coordenada y de cada ponto dever ser substituda por seu logaritmo, logo: y'3,59862,84862,09861,34860,5988-0,1508 -0,9014-1,4024 Ento faz-se um ajuste linear dos pontos de abscissa x e ordenada y, obtendo-se os seguintes valores para os coeficientes da reta: Para adaptar esses valores, coeficientes da reta, para a funo exponencial, ainda basta fazer as seguintes adaptaes: Logo, E ento, calcula-se os valores de a e b: Ento, a funo exponencial que melhor ajusta os pontos fornecidos no exemplo : 5.1.4Qualidade do Ajuste Uma forma de avaliar a qualidade do ajuste atravs do coeficiente de correlao de Pearson r. Este coeficiente pode ser calculado pela seguinte expresso: onde, Este coeficiente, assume apenas valores entre -1 e 1. r= 1, significa uma correlao perfeita positiva entre as duas variveis; r= -1, significa uma correlao negativa perfeita entre as duas variveis, isto , se uma aumenta, a outra sempre diminui; r= 0, significa que as duas variveis no dependem linearmente uma da outra. No entanto, pode existir uma outra dependncia que seja "no linear". Assim, o resultado r=0 deve ser investigado por outros meios. Algoritmo Verifica tipo_de_ajuste; Caso tipo_de_ajuste seja Exponencial Parai = 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 Parai = 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 Parai = 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) Parai = 1,...,n Paraj = i,...,n Aij = 0 Parak = 1,...,m Aij = Aij + xk^(i+j-2) Fim Aji = Aij Fim bi = 0 Parak = 1,...,m bi = bi + yk*xk^(i-1) Fim Fim s = (A^-1) . b Fim 6SISTEMA DE EQUAES NO LINEARES Dada uma funo no linear o objetivo encontrar as solues para ou seja, Por exemplo: Este sistema no linear admite quatro solues, representadas pelos pontos onde as curvas se interceptam. 6.1Notao Utilizada 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.2Consideraes F(X) tem derivadas contnuas no domnio; Existe pelo menos um ponto X* D, tal queF(X*) = 0. O vetor das derivadas parciais da funo fi(X) denominado vetor gradiente de fi(X) e denotado por: A matriz das derivadas parciais de F(X) chamada matriz Jacobiana J(X):
Exemplo: Determinar a matriz Jacobiana do sistema no linear abaixo: 6.3Caractersticas dos Mtodos para Resoluodos Sistemas de Equaes no Lineares Iteratividade A partir de um ponto inicial, geram sequncias. Na situao de convergncia, uma das solues do sistema quando: Existncia de critrios de convergncia Verificar se F( ) tem mdulo pequeno. Ou seja: Verificar se est prximo de zero. Ou seja: Limitar o nmero de iteraes K por um nmero mximo de iteraes. 6.4Mtodos Numricos Veremos aqui basicamente trs tipos de mtodos numricos para a resoluo de sistemas de equaes no lineares. Os mtodos sero descritos e caracterizados a seguir. 6.4.1Mtodo de Newton-Raphson Este o mtodo mais amplamente utilizado para resolver sistemas de equaes lineares. O mtodo combina duas idias bsicas comuns nas aproximaes numricas: 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. 6.4.1.1 Caso Escalar Para ilustrar mais facilmente o uso do mtodo de Newton para a soluo de sistemas de equaes no lineares, considere um sistema com uma incgnita e uma nica equao: 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 a primeira derivada de f em x1. Igualando a equao anterior a zero e desenvolvendo-a, tem-se: Pensando no processo iterativo: Graficamente, temos: Tomando a tangente curva em x1, tem-se que: E para uma iterao k qualquer: 6.4.1.2 Caso Vetorial Considere agora o sistema mostrado inicialmente. Usando o mesmo raciocnio do caso escalar, tem-se que: onde o ndice superior 1 no vetor X indica a iterao: Rearranjando o sistema, colocando-o na forma matricial, tem-se: Reescrevendo, Multiplicando a equao acima pelo inverso da matriz Jacobiana, tem-se: Generalizando para uma iterao k qualquer, temos: Porm, como o processo de inverso muito caro computacionalmente, opta-se por resolver o sistema de equaes lineares abaixo para obter a sua soluo. Exemplo: Aplicar o mtodo de Newton resoluo do sistema no linear F(X) = 0, onde: considerando tolerncia , nmero mximo de iteraes k(max) = 2 e chute inicial . Soluo: Para k = 1 (Primeira iterao)
Para k = 2 (Segunda iterao)
Soluo exata: Algoritmo: Enquanto (||F( ||< ) e (k