Baixe o app para aproveitar ainda mais
Prévia do material em texto
CÁLCULO NUMÉRICO U N I V E R S I DA D E CANDIDO MENDES CREDENCIADA JUNTO AO MEC PELA PORTARIA Nº 1.282 DO DIA 26/10/2010 Impressão e Editoração 0800 283 8380 www.ucamprominas.com.br 2 SUMÁRIO INTRODUÇÃO ....................................................................................................... 3 UNIDADE 1 – ERROS ........................................................................................... 8 UNIDADE 2 – ZEROS DE FUNÇÕES ................................................................. 32 UNIDADE 3 – SISTEMAS LINEARES ................................................................. 51 CONCLUSÃO DA DISCIPLINA ........................................................................... 77 REFERÊNCIAS .................................................................................................... 79 3 INTRODUÇÃO Vamos iniciar a disposição teórica e prática de uma das disciplinas que compõem a sua matriz curricular, que é a disciplina de Cálculo Numérico. Você saberia ou teria ideia de como calcular a idade da Lua? Saberia descrever o número de bactérias em uma determinada colônia? Saberia interpretar e modelar situações envolvendo a Deflexão de uma Viga Simplesmente Engastada? Descrever o cálculo de probabilidades envolvendo o futebol? Todas estas questões e muitas outras que aparecem no nosso dia a dia, podem ser respondidas através dos procedimentos envolvendo o Cálculo Numérico. Já sabemos que a Matemática é uma ciência exata que faz parte da vida teórica e prática do nosso cotidiano. Mais precisamente, percebemos que a Matemática é uma ferramenta chave para a interpretação e resolução de problemas diversos, ou até mesmo em situações mais complexas relacionadas a modelagens (métodos numéricos e simulação de dados), a partir da utilização de conceitos e métodos mais simples até os mais sofisticados. Especificamente falando, por exemplo, operações e propriedades básicas aparecem comumente como alicerce para a resposta de problemas diversos, tais como os relacionados à Física, Engenharia, Ciências Sociais e a Química. Neste sentido, o conceito de função surge quando procuramos estudar, entender e modelar fenômenos de uma forma geral, sendo considerada uma das principais definições da Matemática presente fortemente nas modelagens em várias áreas do conhecimento. Os diversos tipos de funções contribuem de forma significativa para a determinação de soluções de problemas bem peculiares, sendo assim, a caracterização algébrica e geométrica de funções mais complexas é muito importante, sendo assim, percebemos a aplicabilidade da noção de limites para tirarmos informações acerca destas funções mais complexas. Porém, em várias situações, é necessário que na modelagem façamos alguns experimentos e, consequentemente, algumas modelagens via métodos numéricos, sendo assim, surge o Cálculo Numérico. Em particular, aqui pode aparecer, um instrumento muito utilizado na área computacional que são os algoritmos, que entendemos ser uma sequência lógica de passos para a resolução de um problema ou situação problema. 4 É interessante salientarmos que podemos dividir a Matemática em duas fatias com relação ao cálculo, ou seja, temos o cálculo numérico e o cálculo algébrico. O cálculo numérico envolve as operações da adição, subtração, multiplicação, divisão, potenciação e radiciação, envolvendo os números reais. Os cálculos envolvendo frações, também são abordados e explorados de forma complexa. O cálculo algébrico está diretamente ligado às expressões algébricas, envolvendo equações, inequações e sistemas de equações. Nele, podemos falar que todos os conceitos e métodos fixados no cálculo numérico são utilizados comumente. Algumas situações envolvendo cálculo numérico serão resolvidas abordando os conteúdos utilizados na demonstração. Figura 01: Dividindo os cálculos no âmbito da Matemática. Fonte: Elaborado pelo próprio autor. Dessa maneira, uma subárea da Matemática, se podemos dizer assim, surge e está diretamente ligada ao Cálculo Numérico, que é a Análise numérica, que pode ser descrita como o estudo de algoritmos que buscam resultados numéricos de problemas das mais diferentes áreas do conhecimento humano, modelados matematicamente. Salientamos que em termos gerais, os algoritmos de métodos numéricos se dividem em diretos, recursivos (recursão) e iterativos (iteração). Especificamente falando, os iterativos 5 apresentam uma sucessão de passos que converge ou não para o valor aproximado da solução exata. Desta forma, constitui objetivo da Análise Numérica encontrar sucessões que aproximem os valores exatos com um número mínimo de operações elementares. Saiba Mais! O objetivo do campo de Análise Numérica é projetar e analisar técnicas para encontrar soluções aproximadas, porém precisas, para problemas complexos, cuja variedade é demonstrada na Figura 02, na sequência. Figura 02: Objetivos da Análise Matemática. Fonte: Elaborado pelo próprio autor. Por exemplo, atualmente, através da Análise Numérica, conhecemos o valor de π e da constante de Euler (e = 2,71....) com milhões de casas conhecidas e com alto grau de precisão. De outra forma, uma das escrituras de matemáticos da Antiguidade é o tablet babilônio YBC 7289, que fornece uma aproximação sexagesimal da raiz quadrada de 2 ( 2 ) e o comprimento da diagonal de um quadrado unitário. Você Sabia? É interessante comentarmos que ser capaz de calcular as faces de um triângulo e, desta forma, o de conhecer as suas raízes quadradas é muito importante, por exemplo, em carpintaria e construção civil. Em uma 6 parede quadrada que tem dois metros por dois metros, uma diagonal deve medir exatamente 8 = 2,3 metros. Ressaltamos ainda que a Análise Numérica tenha sido concebida antes do desenvolvimento computacional (dos computadores), tal como percebemos hoje, esta teoria se relaciona a uma interdisciplinaridade entre a Matemática e a Tecnologia da Informação, daí o surgimento do termo Cálculo Numérico. Os procedimentos mais elementares e conhecidos do Cálculo Numérico são os Erros, Zeros de Funções e o Método de Newton e o Método de Newton- Raphson. Figura 03: Termos que aparecem no cálculo numérico. Fonte: Elaborado pelo próprio autor. Portanto, notamos que a Matemática pode ter relação direta com a ciência e tecnologia, sendo que algumas de suas áreas surgiram e foram desenvolvidas na tratativa, podendo ser frustradas ou não, de solucionarmos problemas reais via modelos matemáticos, ou seja, aqueles direcionados com alguma situação problema prática. Note também que em grande parte, tais problemas podem não ser resolvidos através de fórmulas ou expressões matemáticas exatas, logo, 7 comumente, devemos aceitar uma solução aproximada via métodos numéricos, que seriam as ferramentas mais adequadas para sua solução. Você Sabia? As demonstrações envolvendo teoremas de existência e unicidade (E.D.O., por exemplo) feitas por contrapositiva (ou redução ao absurdo), constituem exemplos de solução que não gera método construtivo. Contrariamente, qualquer algoritmo pode ser considerado um exemplo de solução que gera método construtivo. A fim de atingirmos os nossos objetivos, o nosso guia de estudos está estruturado em duas Unidades,descritas a seguir: Unidade 1: Erros – apresentaremos a teoria acerca dos erros, bem como, descreveremos procedimentos sistemáticos para encontrarmos as raízes de uma função y = f(x), como localização e descrição o seu valor. Unidade 2: Zeros de Funções – descreveremos procedimentos sistemáticos para encontrarmos as raízes de uma função y = f(x), como localização e descrição o seu valor. Unidade 3: Sistemas Lineares – descreveremos procedimentos sistemáticos para encontrarmos a solução de sistemas lineares, teoria esta, utilizada em várias áreas do conhecimento. Para finalizarmos os aspectos introdutórios da nossa disciplina, deve-se destacar que “aprendizagem” não significa, apenas, realizar os acréscimos na estrutura cognitiva do aluno; é preciso, sobretudo, estabelecer modificações para que ela se configure como uma aprendizagem significativa. Desta forma, é muito importante que você pesquise em outras fontes bibliográficas, tais como artigos, revistas e, principalmente, nas nossas referências. Além disso, tentaremos buscar uma linguagem bastante simples como forma de propiciar um bom entendimento dos aspectos discutidos na disciplina. Sempre refaça os diversos exemplos ilustrativos deste material de apoio. 8 UNIDADE 1 – ERROS 1. Aspectos Introdutórios da Unidade Sabemos que em diversas áreas da ciência é muito comum a resolução de problemas que envolvem a determinação de zeros de uma função (raízes da equação), isto é, o cálculo de valores de x que satisfazem a equação y = f(x) = 0. É interessante então caracterizarmos a localização de cada uma destas raízes (localização) e obviamente o seu valor. Desta forma, de acordo com PUGA, TÁRCIA e PAZ (2009), falamos: localização da Raiz – localizar ou separar uma raiz é caracterizar um intervalo da reta real, de preferência de amplitude reduzida, que contém a raiz e somente uma raiz; cálculo da Raiz – existem diversos métodos para a determinação das raízes, como estudaremos alguns destes métodos. Além disso, um outro conceito importante no aspecto da simulação ou da análise numérica ou do cálculo numérico é o erro. De acordo com o dicionário, erro significa uma consequência de uma ação inesperada, sem planejamento, conhecimento. Sabemos que a obtenção de uma solução numérica para um problema físico qualquer por meio da aplicação de métodos numéricos nem sempre fornece valores que se encaixam dentro de limites razoáveis e desejáveis. Tal afirmação é verdadeira mesmo quando se aplica um método adequado e os cálculos são efetuados de uma maneira correta, sendo que esta diferença, matematicamente falando, é denominada de erro e é importante ao processo, sendo que em alguns casos não temos como desprezá-la. 9 Figura 04: As várias fases da resolução de um problema real. Fonte: Barroso, Filho, Carvalho e Maia (1987). Observe que claramente visualizamos duas fases importantíssimas na Figura 04 anterior, que são: modelagem – é a fase de obtenção de um modelo matemático que descreve o comportamento do sistema físico em questão; resolução – é a fase de obtenção da solução do modelo matemático através da aplicação de métodos numéricos. Figura 05: Fases importantes da resolução de um problema real. Fonte: Barroso, Filho, Carvalho e Maia (1987). Não é difícil de acontecer que os resultados finais estejam distantes do que se esperaria obter, ainda que todas as fases de resolução tenham sido realizadas corretamente. Ressaltamos que os resultados obtidos mantêm relação direta com a precisão dos dados da entrada, da forma de como estes dados são apresentados no computador e das operações numéricas (métodos) efetuadas no desenvolvimento. Desta forma, segundo Barroso, Filho, Carvalho e Maia (1987), 10 os dados de entrada contêm uma imprecisão inerente, isto é, não há como evitar que ocorram, uma vez que representam medidas obtidas usando equipamentos específicos, como, por exemplo, no caso de medidas de corrente e tensão num circuito elétrico, ou então, podem ser dados resultantes de pesquisas ou levantamentos, como no caso de dados populacionais obtidos num recenseamento. Nesta unidade, estaremos interessados principalmente nos erros que surgem da representação de números num computador e os erros resultantes das operações numéricas efetuadas. Nesta unidade é de nosso interesse apresentar alguns aspectos sobre a teoria de erros, bem como procedimentos de determinação das raízes de uma função. Neste sentido, ao final desta unidade, o aluno será capaz de: apresentar a Importância da Obtenção de uma Solução Numérica para Modelagens; apresentar a Conversão de Números nos sistemas decimal e binário; definir e apresentar a Aritmética do Ponto Flutuante de um Computador ou Calculadora; apresentar e aplicar os Erros Absolutos e Relativos; apresentar e analisar os Erros de Arredondamento e Truncamento em um Sistema de Aritmética de Ponto Flutuante; apresentar alguns exemplos introdutórios envolvendo os tópicos discutidos anteriormente. 2. Como são os Erros No Desenvolvimento da Modelagem? Ao tentarmos representar um fenômeno do mundo físico por meio de um modelo matemático, raramente se tem uma descrição correta deste fenômeno. Normalmente, são necessárias várias simplificações do mundo físico para que se tenha um modelo matemático com qual se possa trabalhar. Exemplificando, podemos observar estas simplificações nas Leis de Mecânica que são ensinadas no segundo grau, nos exemplos que seguem. Exemplo 01: De acordo com Barroso, Filho, Carvalho e Maia (1987), para o estudo do movimento de um corpo sujeito a uma aceleração constante, temos a seguinte equação associada: 11 (1) d= d 0 + v 0 .t + 2.. 2 1 ta Onde: d: distância percorrida; d 0 : distância inicial; v 0 : velocidade inicial; t: tempo; a: aceleração. Vamos supor que um engenheiro queira determinar a altura de um edifício e que para isso disponha apenas de uma bolinha de metal, um cronômetro e a fórmula acima, ele sobe então ao topo do edifício e mede o tempo que a bolinha gasta para tocar o solo, ou seja, 3 segundos. Levando este valor à Equação 01 acima, obtemos: d = 0 + 0.3 + 2)3.(8,9. 2 1 d = 44, 1 metros Surge então a seguinte indagação: Você considera o valor encontrado como confiável? Existe confiabilidade neste procedimento? Observe que é bem provável que não, pois no modelo matemático não foram consideradas outras forças como, por exemplo, a resistência do ar, a velocidade do vento, entre outras. Além destas, existe um outro fator que tem muita influência: a precisão da leitura do cronômetro, pois para uma pequena variação no tempo medido existe uma grande variação na altura do edifício. Se o tempo medido fosse 3,5 segundos ao invés de 3 segundos, a altura do edifício seria de 60 metros. Em outras palavras, observamos para uma variação de 16,7% no valor lido no cronômetro, a altura calculada apresenta uma variação de 36%. A partir da situação descrita anteriormente, pode-se notar a grande influência que o modelo matemático e a precisão dos dados obtidos exercem sobre a confiabilidade da resposta conseguida. Vejamos mais uma situação ilustrativa. 12 Exemplo 02: De acordo com Barroso, Filho, Carvalho e Maia (1987), a variação no comprimento de uma barra de metal sujeita a uma certa variação de temperatura é dada pela seguinte fórmula: (2) l = l 0 .( .t + .t 2 ) Onde: l = variação do comprimento; l 0 : comprimento inicial; t: temperatura; , : constantes específicas para cada metal. Suponhamos que um pesquisador físico queira determinar a variação no comprimento de uma barra de metal quando sujeita a uma variação de temperatura de 10 0 C e sabendo-se que: l 0 = 1 metro 000068,0 001253,0 obtidos experimentalmente Substituindo, estes valores na Equação (02) acima, segue que: l = 1 x (0,001253 x 10 + 0,000068 x 10 2 ) l = 0,019330 Entretanto, como os valores de e foram obtidos experimentalmente com a precisão da ordem de 10 6 , temos que: 0,001252 < < 0,001254 e 0,000067 < < 0,000069 Então: l > 1 x (0,001252 x 10 + 0,000067 x 10 2 ) l < 1 x (0,001254 x 10 + 0,000069 x 10 2 ) Logo: 13 0,019220 < l < 0,019440 Ou, ainda, l = 0,0193 10 4 Como podemos notar, uma imprecisão na sexta casa decimal dos parâmetros e implicou uma imprecisão na quarta casa decimal de . Dependendo do instrumento que o físico utilize para medir a variação do comprimento, esta imprecisão não será notada e, para ele, o resultado será exato. Salientamos que se deve ter sempre em mente que a precisão do resultado obtido não é só função do modelo matemático adotado, mas também da precisão dos dados de entrada. No próximo tópico, descrevemos a parte relacionada a representação dos números e, surge então, o sistema de descrição de tais números, vamos lá? 3. Representação de Números Observe as situações descritas a seguir. Exemplo 03: De acordo com Barroso, Filho, Carvalho e Maia (1987), qual é o valor da área de uma circunferência de raio 100 m? Vejamos os resultados obtidos: a) A = 31400 m 2 b) A = 31416 m 2 c) A = 31415.92654 m 2 Como justificar as diferenças entre os resultados? É possível obter “exatamente” esta área? Como proceder para verificação? Exemplo 04: conforme Barroso, Filho, Carvalho e Maia (1987), caracterizar os somatórios seguintes em uma calculadora e em um computador: S = 30000 1i ix para x i = 0,5 e para x i = 0,11 Vejamos os resultados obtidos: 14 i) Para x i = 0,5: Na calculadora: S =15000 No computador: S = 15000 j) ii) Para x i = 0,11: Na calculadora: S = 3300 No computador: S = 3299,99691 Como seria a justificativa da diferença entre os resultados obtidos pela calculadora e pelo computador para ix = 0,11? Os erros ocorridos nos dois problemas dependem da representação dos números na máquina utilizada. A representação de um número depende da base escolhida ou disponível na máquina em uso e do número máximo de dígitos usados na sua representação. Uma das constantes mais importantes dentro da Matemática, o número , por exemplo, não pode ser representado através de um número finito de dígitos decimais. No Exemplo 03, o número foi escrito como 3,14, 3,1416 e 3,141592654, respectivamente, nos casos (a), (b) e (c). Em cada um deles foi obtido um resultado diferente, e percebemos, já que o erro neste caso então depende exclusivamente da aproximação escolhida para . Qualquer que seja a circunferência, a sua área nunca será obtida exatamente, uma vez que é um número irracional. Você se lembra do conceito de número irracional no ensino básico? Geralmente, você deve notar que qualquer cálculo que envolva números que não podem ser representados através de um número finito de dígitos não fornecerá como resultado um valor exato. Quanto maior o número de dígitos utilizados, maior será a precisão obtida. Por isso, a melhor aproximação para o valor da área da circunferência no Exemplo 03 é aquela obtida no caso (c). Além disso, um número pode ter representação finita em uma base e não- finita em outras bases. Atualmente, percebemos que a base decimal é a que mais empregamos. Porém, na antiguidade, foram utilizadas outras bases, como a base 12 e a base 60; como estudado na parte introdutória do nosso curso de Teoria dos Números, que descrevia sobre os diversos Sistemas de Numeração e Bases Posicionais. Não é novidade para nós, mas, o computador opera normalmente no sistema binário, já que é amplamente falado. Observe o que acontece na 15 interação entre o usuário e o computador: os dados de entrada são enviados ao computador pelo usuário no sistema décima; toda esta informação é convertida para o sistema binário, e as operações todas serão efetuadas neste sistema. Os resultados finais serão convertidos para o sistema decimal e, finalmente, serão transmitidos ao usuário. Todo este processo de conversão é uma fonte de erros que afetam o resultado final dos cálculos. Vamos estudar então os processos para conversão de números do sistema binário para o sistema decimal e vice-versa. Conversão de Números nos Sistemas Decimal e Binário, de acordo com Barroso, Filho, Carvalho e Maia (1987) Vejamos inicialmente a conversão de números inteiros. Para tal, consideremos os números (347) 10 e (10111) 2 , ou seja, o número 347 está escrito na base 10, enquanto que o número 10111 está escrito na base 2. Desta forma, estes números podem ser assim escritos da seguinte forma: (347) 10 = 3 x10 2 + 4 x 10 1 + 7 x 10 0 e (10111) 2 = 1 x 2 4 + 0 x 2 3 + 1 x 2 2 + 1 x 2 1 + 1 x 2 0 De um modo geral, um número na base , (a j a 1j ...a 2 a 1 a 0 ) , com 0 a k ( – 1), k = 1, ..., j, pode ser escrito na forma: a j . j + a 1j . 1j + ... + a 2 . 2 + a 1 . + a 0 . 0 . Com esta representação, podemos facilmente converter um número representado no sistema binário para o sistema decimal. Vejamos o exemplo abaixo. Exemplo 04: Conforme Barroso, Filho, Carvalho e Maia (1987), temos que: (10111) 2 = 1 x 2 4 + 0 x 2 3 + 1 x 2 2 + 1 x 2 1 + 1 x 2 0 Em seguida, colocamos o número 2 em evidência, obtendo: 16 (10111) 2 =2 x (1 + 2 x (1 + 2 x (1 + 2 x 1)))+ 1 =(23) 10 Deste exemplo, podemos obter um processo para converter um número qualquer representado no sistema binário para o sistema decimal: Procedimento de Conversão de um Número na Base 2 para a Base 10: De acordo com Barroso, Filho, Carvalho e Maia (1987), a representação do número (a j a 1j ...a 2 a 1 a 0 ) 2 na base 10, denotada por b 0 , é obtida através do processo: b j = a j b 1j = 1j + 2.b j b 2j = a 2j + 2. b 1j ............... ............... ................ b 1 = a 1 + 2.b 2 b 0 = a 0 + 2. b 1 Para (10111) 2 , a sequência obtida será: b 4 = a 4 = 1 b 3 = a 3 +2.b 4 = 0 + 2 x1 = 2 b 2 = a 2 +2. b 3 = 1 + 2 x 2 = 5 b 1 = a 1 + 2. b 2 = 1 + 2 x 5 = 11 b 0 = a 0 + 2. b 1 = 1 + 2 x 11 = 23 É de nosso interesse agora, desenvolver o procedimento contrário, ou seja, queremos caracterizar um processo para converter um número inteiro representado no sistema decimal para o sistema binário. De acordo com Barroso, Filho, Carvalho e Maia (1987), para tal, consideremos o número N 0 = (347) 10 e (a j a 1j ...a 2 a 1 a 0 ) 2 a sua representação na base 2, i.e.,a sua representação na base binária. Desta forma, temos então que: 17 347 = 2 x ( ja x 2 1j + 1ja x 2 1j +...+ 2a x 2 + 1a ) + 0a = 2 x 173 +1 E, portanto, o dígito a 0 = 1 representa o resto da divisão de 347 por 2. Repetindo agora este processo para o número N 1 =173, temos que: 173 = a j x 2 1j + a 1j x 2 2j +...+ a 2 x 2 + a 1 Obteremos o dígito a 1 , que será o resto da divisão de N 1 por 2. Seguindo este raciocínio, obtemos a sequência de números N j e a j . N 0 = 347 = 2 x 173 + 1 a 0 =1 N 1 = 173 = 2 x 86 + 1 a 1 = 1 N 2 = 86 = 2 x 43 + 0 a 2 =0 N 3 = 43 =2 x 21 + 1 a 3 =1 N 4 = 21= 2 x 10 +1 a 4 =1 N 5 = 10 = 2 x 5 + 0 a 5 =0 N 6 = 5 = 2 x 2 + 1 N 6 =1 N 7 = 2 = 2 x 1 + 0 a 7 =0 N 8 = 1 = 2 x 0 + 1 a 8 =1 Portanto, a representação de (347) 10 na base 2 será 101011011. Procedimento de Conversão de um Número na Base Decimal para a Base Binária: De acordo com Barroso, Filho, Carvalho e Maia (1987), geralmente, consideremos um número inteiro N na base 10 e a sua representação binária denotada por: (a j a 1j ...a 2 a 1 a 0 ) 2 . O algoritmo que descrevemos a seguir determina a cada k o dígito binário a k . Temos a seguinte sequência de passos: Passo 0: k = 0 N k = N 18 Passo 01: obtenha q k e r k tais que: N k = 2 x q k + r k Faça a k = r k Passo 02: Se q k = 0, pare. Caso contrário, faça N 1k = q k . Faça k = k +1 e volte para o passo 1. Consideremos agora a conversão de um número fracionário da base 10 para a base 2. Sejam, por exemplo: r = 0,125, s = 0,6666666..., t = 0,414213562... Sendo assim, dizemos que r tem representação finita e, que s e t possuem representação infinita. Daí surge naturalmente a seguinte indagação: Dado um número entre 0 e 1 no sistema decimal, como obter sua representação binária? Considerando o número r = 0,125, existem dígitos binários : d 1 , d 2 , ..., d j , ..., tais que (0,d 1 d 2 ... d j ) 2 será sua representação na base 2. Assim, (0,125) 10 = d 1 x 2 1 + d 2 x 2 2 +...+ d j x 2 j +... Multiplicando cada termo da expressão acima por 2 obtemos: 2 x 0,125 = 0,250 = d 1 + d 2 x 2 1 +...+ d j x 2 1 j +... E, portanto, d 1 representa a parte inteira de 2 x 0,125 que é igual a zero e d 2 x 12 + d 3 x 22 +...+ jd x 12 j +..., representa a parte fracionária de 2 x 0,125 que é 0,250. Aplicando agora o mesmo procedimento para 0,250, teremos: 0,250 = d 2 x 12 d 3 x 2 2 +...+ jd x 2 j 1 +... 2 x 0,250 = 0,5 = = d 2 + d 3 x 2 1 + d 4 x 22 +...+ jd x 2 j 2 +... d 2 = 0 E, repedindo o processo para 0,5, obtemos: 19 0,5 = d 3 x 12 d 4 x 2 2 +...+ d j x 2 2 j +... 2 x 0,5 = 1,0 = d 3 + d 4 x 2 1 +...+ d j x 32 j +... d 3 = 1 Como a parte fracionária de 2 x 0,5 é zero, o processo de conversão termina, e teremos: d 1 = 0, d 2 = 0 e d 3 = 1 e, portanto, o número (0,125) 10 tem representação finita na base 2: (0,001) 2 . Devemos ter em mente, a seguinte observação importante abaixo: Você Sabia? Um número real entre 0 e 1 pode ter representação finita no sistema decimal, mas representação infinita no sistema binário. Em termos gerais, seja r um número entre 0 e 1 no sistema decimal e (0,d 1 d 2 ... d j ) 2 sua representação no sistema binário. Os dígitos binários d 1 , d 2 , ..., d j , ... são obtidos através do seguinte algoritmo: Passo 0: r 1 = r; k = 1 Passo 01: calcule 2 kr . Se 2 kr 1,faça: kd =1, caso contrario, faça: kd = 0 Passo 02: Faça kr 1 = 2 kr – kd . Se kr 1 = 0, pare. Caso contrario: Passo 03: k = 1k . Volte ao Passo 01. 20 Cabe observarmos que o algoritmo pode ou não parar após um número finito de passos. Para 10)125,0(r teremos 4r = 0. Já para 10)1,0(r , teremos: 1r = 0,1. 1k 12r = 0,2 1d = 0 2r = 0,2 2k 22r = 0,4 2d = 0 3r = 0,4 3k 32r = 0,8 3d = 0 4r = 0,8 4k 42r = 1,6 4d = 1 5r = 0,6 5k 52r =1,2 5d = 1 6r = 0,2 = 2r Como 6r = 2r , teremos que os resultados para k de 2 a 5 se repetirão e, então: 10r = 6r = 2r = 0,2 e assim indefinidamente. Desta forma, concluímos que: (0,1) 10 = (0,0001100110011 0011 ...) 2 E, portanto, o número (0.1) 10 não tem representação binária finita. O fato de um número não ter representação finita no sistema binário pode acarretar a ocorrência de erros aparentemente inexplicáveis em cálculos efetuados em sistema computacionais binários. Analisando o Exemplo 04, da Seção 3, e usando o processo de conversão descrito anteriormente, temos que o número (0,5) 10 tem representação finita no sistema binário: (0,1) 2 ; já o número (0,11) 10 terá representação infinita: (0,0001110000101000111101 10001111010111000010 ...) 2 Um computador que opera no sistema binário irá armazenar uma aproximação para (0,1) 10 , uma vez que possui uma quantidade fixa de posições para guardar os dígitos da mantissa de um número, e esta aproximação será 21 usada para os cálculos. Não se pode, portanto, esperar um resultado exato. Consideremos agora um número entre 0 e 1 representando no sistema binário: ( r ) 2 =(0, 1d 2d ... jd ...) 2 Como podemos obter sua representação no sistema decimal? Um processo para conversão é equivalente ao que descrevemos anteriormente. Definindo 1r = r, a cada iteração k, o processo de conversão multiplica o número kr por (10) 10 = (1010) 2 e obtém o dígito b k como sendo a parte inteira deste produto convertida para a base decimal. É importante observar que as operações devem ser efetuadas no sistema binário. O algoritmo a seguir formaliza este processo. Passo 0: 1r = r ; k = 1 Passo 01: calcule kw = (1010) 2 x kr . Seja kz a parte inteira de kw kb é a conversão de kz para a base 10. Passo 02: Faça kr 1 = kw – kz Se r 1k = 0 pare. Passo 03: k = k+1. Volte ao passo 1. Por exemplo, considere o número: (r) 2 = (0,000111) 2 = (0, 1b 2b ... jb ) 10 Seguindo o algoritmo, teremos: 1r = (0,000111) 2 . 1w = (1010) 2 x 1r =1,00011 1b = 1 e 2r =0.00011. 2w = (1010) 2 x 2r = 0,111 2b = 0 e 3r =0.1111. 3w = (1010) 2 x 3r = 1001,011 3b = 9 e 4r = 0,011. 4w = (1010) 2 x 4r = 11,11 4b = 3 e 5r = 0,11. 22 5w = (1010) 2 x 5r = 111,1 b 5 = 7 e 6r = 0,1. 6w = (1010) 2 x 6r = 101 6b = 5 e 7r = 0. Portanto (0,000111) 2 = (0,109375) 10 , e podemos agora entender melhor por que o resultado da operação S = 30000 1 11,0 i não é obtido exatamente num computador. Já vimos que (0,11) 10 não tem representação finita no sistema binário. Supondo um computador que trabalhe com apenas 6 dígitos na mantissa, o número (0,11) 10 seria armazenado como (0,000111) 2 e este número representa exatamente (0,109375) 10 . Portanto, todas as operações que envolvem o número (0,11) 10 seriam realizadas com esta aproximação. Veremos na próxima seção, a representação de números em aritmética de ponto flutuante com o objetivo de se entender melhor a causa de resultados imprecisos em operações numéricas. Aritmética de Ponto Flutuante – de acordo com Barroso, Filho, Carvalho e Maia (1987), um computador ou calculadora representa um número real no sistema denominado aritmética de ponto flutuante. Neste sistema, o número r será representado na forma: (, 1d 2d ... d ) x e Onde: : é a base em que a máquina opera; t: é o número de dígitos na mantissa; 0 jd ( – 1), j = 1,...,t, d 1 0; e: é o expoente no intervalo [1; u]. Em qualquer máquina, apenas um subconjunto dos números reais é representado exatamente, e, portanto, a representação de um número real será realizada através de truncamento ou de arredondamento. Consideremos, por exemplo, uma máquina que opera no sistema: = 10; t = 3; e [-5,5]. 23 Os números serão representados na seguinte forma nesse sistema: 0, 1d 2d 3d x 10 e , 0 jd 9, 1d 0, e [-5,5] O menor número, em valor absoluto, representado nesta máquina é: M = 0,100 x 10 5 = 10 6 E o maior número, em valor absoluto, é: M = 0,999 10 5 = 99900 Consideremos o conjunto dos números reais e o seguinte conjunto: G = {x / m | x | M} Dado um número real x, vários casos poderão ocorrer, como segue: - Caso 01: x G – por exemplo: x = 235,89 = 0,23589 310 . Observe que este número possui 5 dígitos na mantissa. Então representados exatamente nesta máquina os números: 0,235 10 3 e 0,236 103 . Se for usado o truncamento, x será representado por 0,235 10 3 e, se for usado o arredondamento, x será representado por 0,236 10 3 (o truncamento e o arredondamento serão estudados nas próximas seções). - Caso 02: | x | < m – por exemplo: x = 0,345 10 7 . Este número não pode ser representado nesta máquina porque o expoente e é menor que -5. Esta é uma situação em que a máquina acusa a ocorrência de underflow. - Caso 03: | x | > m: Por exemplo: x = 0,875 109 . Neste caso, o expoente é maior que 5 e a máquina acusa a ocorrência de overflow. De acordo com Ruggiero e Lopes (1996), algumas linguagens de programação permitem que as variáveis sejam declaradas em precisão dupla. Neste caso, esta variável será representada no sistema de aritmética de ponto flutuante da máquina, mas com aproximadamente o dobro de dígitos disponíveis na mantissa. É importante observarmos que, neste caso, o tempo de execução e requerimentos de memória aumentam de forma significativa. O zero em ponto flutuante é, em geral, apresentado com o menor expoente possível na máquina. Isto porque, a representação do zero por uma mantissa nula e um expoente qualquer para a base pode acarretar perda de dígitos significativos no resultado da adição deste zero a um outro número. Por exemplo, em uma máquina que opera na base 10 com 4 dígitos na mantissa, para x = 0,0000 x 10 4 24 e y = 0,3134 x10 2 , o resultado de x + y seria 0,3100 10 2 , isto é, são perdidos dois dígitos do valor exato y. Exemplo 05: De acordo com Barroso, Filho, Carvalho e Maia (1987), encontrar a representação dos números x descritos a seguir num sistema de aritmética de ponto flutuante de três dígitos para = 10, m = - 4 e M = 4. x = 1,25 x = 10,053 x = -238,15 x = 2,71828... x = 0,000007 718235,82 Solução: neste caso, as representações obtidas por arredondamento e por truncamento são mostradas na Figura 06 a seguir. Representação obtida Representação obtida por arredondamento por truncamento 1,25 0,125 x 10 0,125 x 10 10,053 0,101 x 10 2 0,100 x 10 2 -238,15 - 0,238 x 10 3 - 0,238 x 10 3 2,71828... 0,272 x 10 0,271 x 10 0,000007 (expoente menor que – 4) = 718235,82 (expoente maior que 4) = Figura 06: Resolução do Exemplo 05. Fonte: Elaborado pelo próprio autor. 25 4. Erros Agora, nosso interesse é o de definir e discutir toda a teoria que envolve os principais tipos de erros, que são: os erros absolutos e os erros relativos, que são caracterizados logo abaixo. Conversão de Números nos Sistemas Decimal e Binário, conforme Barroso, Filho, Carvalho e Maia (1987). No Exemplo 03, diferentes resultados para a área da circunferência foram obtidos, dependendo da aproximação adotada para o valor da . Definição: De acordo com Barroso, Filho, Carvalho e Maia (1987), denominamos de erro absoluto a diferença entre o valor exato de um número x e de seu valor aproximado x . Denotaremos o erro absoluto de x por EA x . Em outras palavras, ou em símbolos, temos que: EA x = x – x . Em geral, apenas o valor x é conhecido, e, neste caso, é impossível obter o valor exato do erro absoluto. Por exemplo, sabendo-se que (3,14; 3,15) tomaremos para um valor dentro deste intervalo e teremos, então, | EA x | = | – | < 0,01. Seja agora o número x representado por x = 2112,9, de tal forma que | EA x | < 0,1, ou seja, x (2112,8; 2113) e seja o número y representado por y = 5,3, de tal forma que | EA y | < 0,1, ou seja, y (5,2; 5,4). Os limitantes superiores para os erros absolutos são os mesmos. Desta forma, surge a seguinte indagação: Podemos dizer que ambos os números estão representados com a mesma precisão? Para tal resposta, segundo Ruggiero e Lopes (1996), é necessário compararmos a ordem de grandeza de x e y. Definição: De acordo com Barroso, Filho, Carvalho e Maia (1987), definimos o erro relativo como sendo o erro absoluto dividido pelo valor aproximado. Denotaremos tal erro por ER x . Em símbolos, temos que ER x = x EAx . Note que na ilustração anterior, temos que | ER x | = || || x EAx < 9,2112 1,0 4,7 x 10 5 . Confirmando, portanto, que o número x é representado com maior precisãoque o número y. 26 Erros de Arredondamento e Truncamento em um Sistema de Aritmética de Ponto Flutuante De acordo com Barroso, Filho, Carvalho e Maia (1987), vimos anteriormente que a representação de um número depende fundamentalmente da máquina utilizada, pois seu sistema estabelecerá a base adotada, o total de dígitos na mantissa, entre outros. Consideremos um sistema que opera em aritmética de ponto flutuante de t dígitos na base 10, e seja x, escrito na forma: x = f x x 10 e + g x x 10 te onde 0,1 f x 1 e 0 g x 1. Por exemplo, se t = 4 e x = 234,57 , então: x = 0,2345 x 10 3 + 0,7 x 10 1 donde f x = 0,2345 e g x = 0,7. É claro que na representação de x neste sistema g x x 10 te , não pode ser incorporado totalmente à mantissa. Então, surge a questão de como considerar esta parcela na mantissa e definir o erro absoluto (ou relativo) máximo cometido. Vimos anteriormente também, que podem ser adotados dois critérios: o do arredondamento e o do truncamento (ou cancelamento). No truncamento, g x x 10 te é desprezado e x = f x x 10 e . Neste caso, temos que: | EA x | = | x – x | = | g x | x 10 te < 10 te , visto que | g x | < 1 E | ER x | = || || x EAx < e x te x xf xg 10|| 10|| < e te x101,0 10 = 10 1t , visto que 0,1 é o menor valor possível para f x . Por outro lado, no arredondamento, xf é modificado para levar em consideração g x . A forma de arredondamento mais utilizada é o arredondamento simétrico: x = 2 1 ||,1010 2 1 ||,10 x tee x x e x gsexf gsexf Portanto, se | g x | < 2 1 , g x é desprezado, caso contrário, somamos o número 1 ao último dígito de f x . Então, se | g x | < 2 1 teremos | EA x | = 27 | x – x | = | g x | x 10 te < 2 1 x 10 te e | ER x | = || || x EAx < e x te x xf xg 10|| 10|| < e te x x 101,0 105,0 = 2 1 x 10 1t . E se 2 1 || xg , teremos: | EA x | = | x – x | = | (f x x 10 e + g x x 10 te ) – (f x x 10 e + 10 te ) | = | g x x 10 te – 10 te | = |( g x – 1)| x 10 te 2 1 x 10 te E | ER x | = || || x EAx |1010| 105,0 tee x te xf x < e x te xf x 10|| 105,0 < e te x x 101,0 105,0 = 2 1 x 10 1t Portanto, em qualquer caso, teremos | EA x | 2 1 x 10 te e | ER x | = 2 1 x 10 1t . Devemos salientar ainda que, apesar de incorrer em erros menores, o uso do arredondamento acarreta um tempo maior de execução e por esta razão o truncamento é mais utilizado. Análise de Erros nas Operações Aritméticas de Ponto Flutuante De acordo com Barroso, Filho, Carvalho e Maia (1987), dada uma sequência de operações, como, por exemplo, u = [(x + y) – z – t] w, é importante a noção de como o erro em uma operação propaga-se ao longo das operações subsequentes. O erro total em uma operação é composto pelo erro das parcelas ou fatores e pelo erro no resultado da operação. Nos exemplos a seguir, suponhamos que as operações são efetuadas num sistema de aritmética de ponto flutuante de quatro dígitos, na base 10, e com acumulador de precisão dupla. Exemplo 06: Conforme Barroso, Filho, Carvalho e Maia (1987), dados x = 0,937 410 e y = 0,1272 210 , obter x + y. Solução: a adição em aritmética de ponto flutuante necessita do alinhamento dos pontos decimais dos dois números. Para isto, a mantissa do número de menor expoente deve ser deslocada para a direita. Este deslocamento deve ser de um número de casas decimais igual à diferença entre dois expoentes. Desta forma, alinhando os pontos decimais dos valores acima, temos que: 28 x = 0,937 410 e y = 0,001272 410 Então, x + y = (0,937 + 0,001272) 410 = 0,938272 410 Este é o resultado exato desta operação. Dado que em nosso sistema t é igual a 4, este resultado dever ser arredondado ou truncado. Então, yx = 0,938272 410 no arredondamento e yx = 0,9382 410 no truncamento. Exemplo 07: De acordo com Barroso, Filho, Carvalho e Maia (1987), sejam x e y do Exemplo anterior. Qual é o valor do produto x.y? Solução: Neste caso, temos que: x.y = (0,937 10 4 ) (0,1272 10 2 ) x.y = (0,937 0.,272) 10 6 x.y = 0,1191864 10 6 . Então, yx. = 0,1192 610 , caso efetuemos o arredondamento, e yx. = 0,1191 610 , se for efetuado o truncamento. Os dois exemplos anteriores (06 e 07) mostram que ainda que as parcelas ou fatores de uma operação estejam representados exatamente no sistema, não se pode esperar que o resultado armazenado seja exato. Na maioria dos sistemas, o resultado exato da operação que denotaremos por OP é normalizado e, em seguida, arredondado ou truncado para t dígitos, obtendo assim o resultado aproximado OP que é armazenado na memória da máquina. Então, conforme já vimos anteriormente, o erro relativo no resultado de uma operação (supondo que as parcelas ou fatores estão representados exatamente) será: |ER OP | < 10 1t no truncamento E |ER OP | < 2 1 .10 1t no arredondamento. Veremos a seguir as fórmulas para o erro absoluto e para o erro relativo nas operações aritméticas com erros nas parcelas ou fatores. Suponhamos que o erro final é arredondado. 29 Consideremos x e y, tais que x = x + EA X e y = y + EA Y . Adição: yx x + y = ( x + EA X ) + ( y + EA Y ) = ( x + y ) + (EA X + EA Y ) Então, o erro absoluto na soma, denotado por EA YX é a soma dos erros absolutos das parcelas: EA YX = EA X + EA Y O erro relativo será: EA YX = yx YXEA = x EAX yx x + y EAy . yx y = ER X yx x + ER Y . yx y yx y . Subtração: x – y De forma análoga, temos que: EA YX = EA X – EA Y e ER YX = yx YX EAEA = ER X yx x – ER Y . yx y Produto: x.y x.y = ( x + EA X ).( y + EA Y ) = x . y + x . EA Y + y .EA X + (EA X .EA Y ) Considerando que (EA X .EA Y ) é um número pequeno, podemos desprezar este termo da expressão acima, sendo assim, teremos então que: EA YX . x .EA Y + y .EA X ER YX . yx y . EA..EAx XY = x XEA + y YEA = ER X + ER Y Divisão: y x 30 y x = Y X EAy EAx = y EAx X = y YEA1 1 Representando o fator y YEA1 1 sob a forma de uma série infinita, teremos: y YEA1 1 = 1 – y YEA + 2 y EAY – 3 y EAY + ... E desprezando os termos com potênciasmaiores do que 1, obteremos: y x y EAx X . y EAY1 = y x + y EA X – 2)( . y EAx Y – 2)( . y EAEA YX Então, y x y x + y EA X – 2)( . y EAx Y Desta forma, EA Y X y EA X – 2)( . y EAx Y = 2)( . y EAy X – 2)( . y EAx Y = 2)( .. y EAxEAy YX ER Y X y x y EAxEAy YX . )( .. 2 = x EA X – y EA Y = ER X – ER Y Escrevemos todas essas fórmulas sem considerar o erro de arredondamento ou truncamento no resultado. A análise completa da propagação de erros se faz considerando os erros nas parcelas ou fatores e no resultado de cada operação efetuada. Exemplo 08: De acordo com Barroso, Filho, Carvalho e Maia (1987), supondo que x, y, z e t estejam representados exatamente, qual o erro total no cálculo de u = (x + y)z – t? (Calcularemos o erro relativo e denotaremos por RA o erro relativo de arredondamento no resultado da operação). Solução: Seja s = x + y. O erro relativo nesta operação será: 31 .0 RARA yx y ER yx x ERER YXS Assim, | ERs | = | RA | < 2 1 x 10-t + 1. Calculando agora s x z, teremos m = s x z, e o erro relativo desta operação será: ERm = ERs + ERz + RA = ERs + z EAz + RA = RAs + 0 + RA. Então, | ERm | | RAs | + | RA | < 2 1 x 10-t + 1 + 2 1 x 10-t + 1 = 10-t + 1. Calcularemos u = m – t e o erro relativo desta operação será: .RA tm m ERRA tm m m EA RA tm EA RA tm EAEA ER m mmtm u Então, | ERu | | ERm | tm m + RA < 10-t + 1 tm m + 2 1 x 10-t + 1 Finalmente, | ERu | < 2 1 tm m x 10-t + 1. 32 UNIDADE 2 – ZEROS DE FUNÇÕES 1. Objetivos da Unidade Nesta unidade é de nosso interesse apresentar os fundamentos teóricos e práticos de caracteriação das raízes ou zeros de uma funcao y = f(x). Sendo assim, ao final desta unidade você será capaz de: apresentar a importância da Resolução de Equações do tipo f(x) = 0 em diversas áreas do conhecimento; apresentar e aplicar os principais resultados envolvendo o Isolamento das Raízes; apresentar toda Teoria envolvendo o Refinamento das Raízes; apresentar diversos Métodos Iterativos para obtenção de Zeros Reais de Funções; apresentar exemplos envolvendo os aspectos teóricos discutidos anteriormente. 2. Aspectos Introdutórios da Unidade Percebemos ao longo do estudo da aplicabilidade da Matemática em outras áreas do conhecimento, que nas mais diversas áreas das ciências exatas ocorrem, frequentemente, situações que envolvem a resolução de uma equação funcional do tipo f(x) = 0, ou seja, em outras palavras, é necessário encontrar as raízes da função f(x). Para os nossos propósitos, trabalharemos no universo dos números reais , ou seja, é de nosso interesse encontrar as raízes (ou zeros) reais da função f(x). Por exemplo, podemos considerar o circuito da Figura 07 a seguir. 33 Figura 07: Circuito elétrico – sistema não linear. Fonte: Barroso, Filho, Carvalho e Maia (1987). A Figura 07 acima representa um dispositivo não linear, isto é, a função g que dá a tensão em função da corrente não linear. Sejam E e R, e caso suponhamos conhecida a característica do dispositivo v = g(i), se quisermos saber a corrente que vai fluir no circuito, temos de resolver a equação E – Ri – g(i) = 0 (pela lei de Kirchoff). Em verdade, na prática, g(i) é um polinômio do terceiro grau. Sendo assim, é de nosso interesse, resolver a equação f(i) = E – Ri – g(i) = 0. O objetivo desta Unidade 02 é o de apresentar o estudo de métodos numéricos para resolução de não lineares, como o descrito na Figura 07 acima. Definição: De acordo com Barroso, Filho, Carvalho e Maia (1987), um número real é um zero da função f(x) ou uma raiz da equação f(x) = 0 se f( ) = 0. Em alguns casos, por exemplo, de equações polinomiais, os valores de x que anulam f(x) podem ser reais ou complexos. Como dito anteriormente, nesta Unidade, estaremos interessados somente nos zeros reais de f(x). Geometricamente falando, segundo Ruggiero e Lopes (1996), os zeros reais são representados pelas abscissas dos pontos onde uma curva intercepta o eixo ox . A Figura 08, abaixo, traz algumas ilustrações envolvendo a interpretação geométrica de um zero de uma função y = f(x). Figura 08: A interpretação geométrica das raízes de uma função real. Fonte: Barroso, Filho, Carvalho e Maia (1987). Desta maneira, surge a questão: Como obter raízes reais de uma equação qualquer? É sabido que para algumas equações, como por exemplo, as equações polinomiais de segundo grau, existem fórmulas explícitas que dão as raízes em função dos coeficientes. No entanto, no caso de polinômios de grau 34 mais alto e no caso de funções mais complicadas, é praticamente impossível se achar os zeros exatamente. Por isso, temos de nos contentar em encontrar apenas aproximações para esses zeros; mas isto não é uma limitação muito séria, pois, com os métodos que apresentaremos, conseguimos, a menos de limitações de máquinas, encontrarmos os zeros de uma função com qualquer precisão prefixada. A ideia central destes métodos, segundo Ruggiero e Lopes (1996), é partir de uma aproximação inicial para a raiz e, em seguida, refinar essa aproximação através de um processo iterativo. Sendo assim, os métodos são formados de duas fases, que são: Fase I – localização ou isolamento das raízes, que consiste em obter um intervalo que contém a raiz; Fase II – refinamento, que consiste em escolhidas aproximações iniciais no intervalo encontrado na Fase I, melhorá-las sucessivamente até se obter uma aproximação para a raiz dentro de uma precisão prefixada. 3. Fase I: Isolamento das Raízes Nesta fase é feita uma análise teórica e gráfica da função f(x). É importante e interessante salientar que o sucesso da Fase II depende amplamente da precisão desta análise. Na análise teórica, usamos frequentemente o Teorema 01 abaixo: Teorema 01: De acordo com Barroso, Filho, Carvalho e Maia (1987), seja f(x) uma função contínua num intervalo [a, b]. Se f(a).f(b) < 0, então existe pelo menos um ponto x = entre a e b que é um zero de f(x). Vejamos a interpretação geométrica na Figura 09 a seguir. 35 Figura 09: A interpretação geométrica do Teorema 01. Fonte: Barroso, Filho, Carvalho e Maia (1987). Conforme podemos visualizar pela Figura 04 anterior, a interpretação gráfica deste Teorema é extremamente simples (e uma demonstração deste resultado pode ser encontrada em [5]). Importante! Sob as hipóteses do Teorema 01 anterior, se f´(x) existir e preservar sinal em (a, b), então este intervalo contém um único zero de f(x). Vejamos a interpretação geométrica da observação na Figura 10 abaixo: Figura 10: A interpretação geométrica da Figura 09. Fonte: Barroso, Filho, Carvalho e Maia (1987). 36 Uma forma de isolarmos as raízes de f(x) usando os resultados anteriores é tabelar f(x) para vários valores de x eanalisar as mudanças de sinal de f(x) e o sinal da derivada nos intervalos em que f(x) mudou de sinal. Vejamos alguns exemplos ilustrativos. Exemplo 09: Consideremos a função polinomial f(x) = x 3 – 9x + 3, encontrar todas as raízes de f(x) = 0. Solução: Vamos construir uma tabela de valores para f(x) e considerando apenas os sinais, temos: x - -100 -10 -5 -3 -1 0 1 2 3 4 5 f(x) - - - - + + + - - + + + Desta forma, percebemos que f(x) é uma função contínua (função polinomial) para qualquer x real e observando as variações de sinal, podemos concluir que cada um dos intervalos I1 = [-5, -3], I2 = [0, 1] e I3=[2, 3] contém pelo menos um zero de f(x). Como f(x) é polinômio de grau 3, podemos afirmar que cada intervalo contém um único zero de f(x); em outras palavras, podemos dizer que localizamos todas as raízes da equação f(x) = 0. Exemplo 02: Consideremos a função polinomial f(x) = x – 5.e x encontrar todas as raízes da equação f(x) = 0. Solução: Em primeiro lugar observe que o domínio de f(x), que denotaremos por D(f), é o conjunto dos números reais não-negativos, ou seja, D(f) = . De modo similar, ao raciocínio do Exemplo 09, construindo uma tabela de valores com o sinal de f(x) para determinados valores de x temos que: x 0 1 2 3 ... f(x) - - + + ... Ou seja, analisando a Tabela, vemos que f(x) admite pelo menos um zero no intervalo (1, 2). Para se saber se este zero é único neste intervalo, podemos usar a observação anterior, isto é, analisar o sinal da derivada de f(x), i.e., de f’(x) como segue: f´(x) = x2 1 + 5e-x > 0, x > 0 37 Assim, podemos concluir que f(x) admite um único zero em todo seu domínio de definição e este zero está no intervalo (1, 2). Saiba Mais! É importante ressaltarmos que a análise gráfica da função f(x) ou da equação f(x) = 0 é de fundamental importância para se obter boas aproximações para a raiz. Para tanto, é suficiente utilizarmos um dos seguintes processos: i) Esboçar o gráfico da função f(x) e localizar as abcissas dos pontos onde a curva intercepta o eixo ox . ii) A partir da equação f(x) = 0, obter a equação equivalente g(x) = h(x), esboçar os gráficos das funções g(x) e h(x) no mesmo eixo cartesiano e localizar os pontos x onde as duas curvas se interceptam, pois neste caso f( ) = 0 g( ) = h( ). iii) Usar os programas que traçam gráficos de funções, disponíveis em algumas calculadoras ou softwares matemáticos. O esboço do gráfico de uma função requer um estudo detalhado do comportamento desta função, que envolve basicamente os itens: domínio da função; pontos de descontinuidade; intervalos de crescimento e decrescimento; pontos de máximo e mínimo; concavidade; pontos de inflexão e assíntotas da função, conforme estudado no Cálculo Diferencial e Integral. Exemplo 10: Considerando a função f(x) = x3 – 9x + 3, usando o processo (i), temos que: 38 Figura 11: A interpretação geométrica do Exemplo 10 (Processo (i)). Fonte: Barroso, Filho, Carvalho e Maia (1987). Agora, utilizando o processo (ii): da equação x3 – 9x + 3, podemos obter a equação equivalente x3 = 9x – 3. Neste caso, temos g(x) = x3 e h(x) = 9x – 3. Logo, Figura 12: A interpretação geométrica do Exemplo 10 (Processo (ii)). Fonte: Barroso, Filho, Carvalho e Maia (1987). 39 Exemplo 11: Considerando a função f(x) = x – 5.e x , neste caso é mais conveniente usarmos o processo (ii), desta forma: x - 5e-x = 0 x = 5e-x g(x) = x e h(x) = 5e-x Figura 13: A interpretação geométrica do Exemplo 11 (Processo (ii)). Fonte: Barroso, Filho, Carvalho e Maia (1987). 4. Fase II: Refinamento Aqui vamos estudar alguns métodos numéricos de refinamento de raiz. A forma como se efetua o refinamento é que diferencia cada um dos métodos. Todos eles pertencem à classe dos métodos iterativos. Definição: De acordo com Barroso, Filho, Carvalho e Maia (1987), um método iterativo consiste em uma sequência de instruções que são executadas passo a passo, algumas das quais são repetidas em ciclos. A execução de um ciclo recebe o nome de iteração. Cada iteração utiliza resultados das iterações anteriores e efetua determinados testes que permitem verificar se foi atingido um resultado próximo o suficiente do resultado esperado. Observamos que os métodos iterativos para obter zeros de funções fornecem apenas uma aproximação para a solução exata. Os métodos iterativos para refinamento da aproximação inicial para a raiz exata podem ser colocados num Diagrama de Fluxo como descrito na Figura 14 abaixo: 40 Figura 14: Diagrama de Fluxo representativo de um método iterativo. Fonte: Barroso, Filho, Carvalho e Maia (1987). a. Critérios de Parada Pelo Diagrama de Fluxo da Figura 14, verificamos que todos os métodos iterativos para obter zeros de função efetuam um teste do tipo: x k está suficientemente próximo da raiz exata? Que tipo de teste devemos efetuar para verificarmos se xk está suficientemente próximo da raiz exata? Para isto, é necessário entendermos o significado de “raiz aproximada”. Existem duas interpretações para raiz aproximada que nem sempre levam ao mesmo resultado: x é raiz aproximada com precisão se: i) | x - | < ; ou ii) | f( x ) | < . Como efetuar o teste (i) se não conhecemos ? 41 Uma forma é reduzir o intervalo que contém a raiz a cada iteração. Ao se conseguir um intervalo [a, b] tal que: [a,b] e b – a < Figura 15: Ilustração da obtenção do intervalo [a, b]. Fonte: Barroso, Filho, Carvalho e Maia (1987). Nem sempre é possível ter as exigências (i) e (ii) satisfeitas simultaneamente. Os gráficos, da Figura 16 a seguir, ilustram algumas possibilidades: então x [a, b], | x - | < . Portanto, x [a, b] pode ser tomado como x . 42 Figura 16: Interpretação geométrica de diversas situações. Fonte: Barroso, Filho, Carvalho e Maia (1987). Os métodos numéricos são desenvolvidos de forma a satisfazer pelo menos um dos critérios. Observamos que, dependendo da ordem de grandeza dos números envolvidos, é aconselhável usar teste do erro relativo, como por exemplo, considerar x como aproximação de se L xf )( < onde L = | f(x) | para algum x escolhido numa vizinhança de . Em programas computacionais, além do teste de parada usado para cada método, deve-se ter o cuidado de estipular um número máximo de iterações para se evitar que o programa entre em "looping" devido a erros no próprio programa ou à inadequação do método usado para o problema em questão. b. Métodos Iterativos para se Obter Zeros Reais de Funções Agora, discutiremos diversos métodos iterativos e suas principais propriedades, a fim de encontrarmos os zeros reais de funções. 43 I. Método da Bissecção Seja a função f(x) contínua no intervalo [a, b] e tal que f(a).f(b) < 0. Vamos supor, para simplificar, que o intervalo (a, b) contenha uma única raiz da equação f(x) = 0. O objetivo deste método é o de reduzir a amplitude do intervalo, que contém a raiz até se atingir a precisão requerida: (b – a) < , usando para isto a sucessiva divisão de [a, b] ao meio. Graficamente, podemos visualizar o procedimento na Figura 17 a seguir. Figura 17: A interpretação geométrica do Método da Bissecção. Fonte: Barroso, Filho, Carvalhoe Maia (1987). As iterações são realizadas da seguinte forma: 01 01 00 0 0 0 00 0 ),( 0)( 0)( 0)( 2 xb aa xa xf bf af ba x 12 12 11 1 1 1 11 1 ),( 0)( 0)( 0)( 2 bb xa bx xf bf af ba x 44 23 23 22 2 2 2 22 2 ),( 0)( 0)( 0)( 2 bb xa bx xf bf af ba x Exemplo 12: Já vimos que a função f(x) = x.log(x) – 1 tem um zero no intervalo (2, 3). O método da bissecção aplicado a esta função com [2, 3] como intervalo inicial fornece: 3 5,2 )3;5,2( 01015,50)5.2( 04314,0)3( 03979,0)2( 5,2 2 32 01 01 3 0 bb xa xf f f x 75,2 5,2 )75,2;5,2( 02082,0)75,2( 0)3( 0)5,2( 75,2 2 35,2 12 121 xb aa f f f x ALGORITMO 01 – Seja f(x) contínua em [a, b] e tal que f(a)f(b) < 0. 1) Dados iniciais: a) Intervalo inicial [a, b]. b) Precisão . 2) Se (b - a) < , então escolha para x qualquer x [a, b]. FIM. 3) k = 1 4) M = f(a) 5) x = 2 ba 6) Se M.f(x) > 0, faça a = x. Vá para o Passo 8. 7) b = x 8) Se (b – a) < , escolha para x qualquer x [a, b]. FIM. 45 9) k = k + 1. Volte para o Passo 5. Terminado o processo, teremos um intervalo [a, b] que contém a raiz (e tal que (b – a) < ) e uma aproximação x para a raiz exata. Exemplo 13: Considerando a função f(x) = x3 – 9x + 3, I = [0,1] e =10-3, desta forma, temos que: Iteração x f(x) b - a 1 .5 -1.375 .5 2 .25 .765625 .25 3 .375 -.322265625 .125 4 .3125 .218017578 .0625 5 .34375 -.0531311035 .03125 6 .328125 .08220229114 .015625 7 .3359375 .0144743919 7.8125 x 10-3 8 .33984375 -.0193439126 3.90625 x 10-3 9 .337890625 -2.43862718 x 10-3 1.953125 x 10-3 10 .336914063 6.01691846 x 10-3 9.765625 x 10-3 Então x = 0,337402344 em dez iterações. Observe que neste exemplo escolhemos x = 2 ba . ESTUDO DA CONVERGÊNCIA É bastante intuitivo percebermos que se f(x) é uma função contínua no intervalo [a, b] e f(a).f(b) < 0, o método da bissecção vai gerar uma sequência {x k } que converge para a raiz. No entanto, a prova analítica da convergência requer algumas considerações. Suponhamos que [a0, b0] seja o intervalo inicial e que a raiz seja única no interior desse intervalo. O método da bissecção gera três sequências: {a k }: não-decrescente e limitada superiormente por b0; então existe r tal que rak k lim {b k }: não-crescente e limitada inferiormente por a0, então existe se s tal que sbk k lim {x k }: por construção (x k = 2 kk ba ), temos a k < x k < b k , k. A amplitude de cada intervalo gerado é a metade da amplitude do intervalo anterior. Assim, k: b k – a k = k ab 2 00 . 46 Então k lim (bk –ak) = kk ab 2 lim 00 = 0. Como { a k } e { b k } são convergentes, segue que: k lim bk – k lim ak = 0 k lim bk = k lim ak. Portanto r = s. Seja = r = s o limite das duas sequências. Dado que para todo k o ponto x k pertence ao intervalo (a k , b k ), o Cálculo Diferencial e Integral nos garante que k lim xk = . Resta provarmos que é o zero da função, ou seja, f( ) = 0. Em cada iteração k temos f(a k ). f(b k ) < 0. Então: 0 k lim f(a k ).f (b k ) = k lim f(a k ) k lim f(b k ) = f( k lim a k ) f( k lim b k ) = f(r).f(s) = f( )f( ) = [f( )]2 Assim, 0 [f( )]2 0 donde f( ) = 0. Portanto, k lim x k = e é zero da função. Das hipóteses iniciais temos que = . Desta maneira, concluímos que o método da bissecção gera uma sequência convergente sempre que f for uma função contínua em [a, b] com f(a).f(b) < 0. Ao aluno interessado nos resultados sobre convergência de sequências de reais utilizados nesta demonstração recomendamos a referência [5]. ESTIMATIVA DO NÚMERO DE ITERAÇÕES Consideremos uma precisão e um intervalo inicial [a, b], é possível sabermos, a priori, quantas interações serão efetuadas pelo método da bissecção até que se obtenha b – a < , usando o Algoritmo 01. Vimos que b k – a k = k kk abab 22 0011 Devemos obter o valor de k tal que b k – a k < , ou seja, 47 0000 2 2 abab k k k .log(2) > log(b0 – a0) – log( ) k > )2log( )log()log( 00 ab Portanto, se k satisfaz a relação acima, ao final da iteração k teremos o intervalo [a, b] que contém a raiz , tal que x [a, b] | x – | b – a < . Por exemplo, se desejarmos encontrar , o zero da função f(x) = x log(x) – 1 que está no intervalo [2, 3] com precisão = 10-2, quantas iterações, no mínimo, devemos efetuar? K > 764.6 3010.0 2 )2log( )10log(2)1log( )2log( )10log()23log( 2 k Vejamos alguns comentários finais (observações finais) referentes ao discutido nesta seção associados ao Método da Bissecção de acordo com Ruggiero e Lopes (1996). Conforme demonstramos, satisfeitas as hipóteses de continuidade de f(x) em [a, b] e de troca de sinal em a e b, o método da bissecção gera uma sequência convergente, ou seja, é sempre possível obter um intervalo que contém a raiz da equação em estudo, sendo que o comprimento deste intervalo final satisfaz a precisão requerida. As iterações não envolvem cálculos complexos. A convergência é muito lenta, pois se o intervalo inicial é tal que b0 – a0 >> e se for muito pequeno, o número de iterações tende a ser muito grande, como por exemplo: b0 – a0 = 3 k 24,8 k = 25 = 10-7 O Algoritmo 01 pode incluir também o teste de parada com o módulo da função e o do número máximo de iterações. II. Método da Posição Falsa 48 Consideremos f(x) uma função contínua no intervalo [a, b] e tal que o produto f(a).f(b) seja negativo, ou seja, f(a).f(b) < 0. Suponhamos também que o intervalo (a, b) contenha uma única raiz da equação f(x) = 0. Podemos esperar conseguir a raiz aproximada x usando as informações sobre os valores de f(x) disponíveis a cada iteração. No caso do método da bissecção, x é simplesmente a média aritmética entre a e b, i.e., x = 2 ba . No Exemplo 07, temos f(x) = x3 - 9x + 3, [a, b] = [0, 1] e f(1) = -5 < 0 < 3 = f(0). Como | f(0) | está mais próximo de zero que | f(1) |, muito provavelmente a raiz está mais próxima de 0 que de 1 (pelo menos isto ocorre quando f(x) é linear em [a, b]). Assim,em vez de tomarmos a média aritmética entre a e b, o Método da Posição Falsa toma a média aritmética ponderada entre a e b com pesos | f(b) | e | f(a) |, respectivamente, ou seja: x = )()( )(.)(. |)(||)(| |)(|.|)(|. afbf afbbfa afbf afbbfa visto que f(a) e f(b) têm sinais opostos. Graficamente, este ponto x é a intersecção entre o eixo ox e a reta r(x) que passa por (a, f(a)) e (b, f(b)): Figura 18 (a): A interpretação geométrica do ponto x. Fonte: Barroso, Filho, Carvalho e Maia (1987). E as iterações são feitas como descritas na Figura 18(b) abaixo: 49 Figura 18 (b): As iterações no Método da Posição Falsa. Fonte: Barroso, Filho, Carvalho e Maia (1987). Exemplo 14: Vamos aplicar o Método da Posição Falsa a função x.log(x) – 1 no intervalo [a0, b0] = [2, 3], desta forma temos que: f(a0) = –0,3979 <0 f(b0) = 0,4314 > 0 4798.2 8293.0 0565.2 )3979.0(4314.0 )3979.0(34314.02 )()( )()( 0 xx afbf abfbaf x f(x0) = – 0,0219 < 0. Como f(a0) e f(x0) têm o mesmo sinal, segue que a1 = x0 = 2,4798 f(a1) < 0 b1 = 3 f(b1) > 0 4049,2 )0219,0(4314,0 )0219,0(4313,04798,2 1 xx x e f(x1) = –0,0011. Analogamente, a2 = x1 = 2,5049 b2 = b1 = 3 ALGORITMO 02 Consideremos f(x) contínua em [a, b] e tal que f(a).f(b) < 0. 1) Dados iniciais a) intervalo inicial [a, b] b) precisões 1 e 2 50 2) Se (b – a) < 1, então escolha para x qualquer x [a, b]. FIM. ou b como x . FIM. se |f(a)| < 2 escolha a ou se | f(b) | < 2 3) k = 1 4) M = f(a) 5) x = )()( )(.)(. afbf afbbfa 6) Se | f(x) | < 2 , escolha x = x. FIM. 7) Se Mf(x) > 0, faça a = x. Vá para o passo 9. 8) b = x 9) Se b – a < 1, então escolha para x qualquer x (a, b). FIM. 10) k = k + 1. Volte ao Passo 5. 51 UNIDADE 3 – SISTEMAS LINEARES É sabido que na Matemática um Sistema linear é um conjunto formado por equações lineares, além disso, esta teoria é amplamente utilizada em outras áreas do conhecimento. Desta maneira, nesta unidade, é de nosso interesse apresentar aspectos teóricos envolvendo a resolução de sistemas lineares, bem como alguns métodos de resolução dos mesmos. Neste sentido, ao final desta unidade, o aluno será capaz de: apresentar a Importância da Resolução de Sistemas Lineares, problema que aparece nas mais diversas áreas do conhecimento; apresentar os principais métodos para resolução de Sistemas Lineares; discutir e aplicar o Método da Eliminação de Gauss; apresentar e discutir os principais resultados envolvendo o Método da Eliminação de Gauss; reconhecer a importância da disciplina na sua área de atuação. 1. Aspectos Introdutórios É interessante notarmos que a resolução de sistemas lineares é um problema que surge nas mais diversas áreas, desde a Física, Engenharia e Computação até mesmo na área médica, sendo assim, é de fundamental importância uma descrição completa da teoria envolvendo os sistemas lineares, bem como os diversos métodos de resolucao dos mesmos. Vejamos um exemplo introdutório. Exemplo 15: (Aplicação à Física) – De acordo com Barroso, Filho, Carvalho e Maia (1987), consideremos, por exemplo, o problema de determinar as componentes horizontal e vertical das forças que atuam nas junções da treliça descritas na Figura 18 abaixo: 52 Figura 19: A treliça do Exemplo 15. Fonte: Barroso, Filho, Carvalho e Maia (1987). Para isto, temos de determinar as 17 forças desconhecidas que atuam nesta treliça. As componentes da treliça são supostamente presas nas junções por pinos, sem fricção. Um Teorema da Mecânica elementar nos diz que, como o número de junções j está relacionado ao número de componentes m por 2j – 3 = m, a treliça é estaticamente determinante; isto significa que as forças componentes são determinadas completamente pelas condições de equilíbrio estático nos nós. Sejam Fx e Fy as componentes horizontal e vertical, respectivamente. Fazendo = sen(45°) = cos(45°) e supondo pequenos deslocamentos, as condições de equilíbrio são: Junção 2 0.. 0.. 531 541 fffF fffF y x Junção 3 010 0 3 62 fF ffF y x Junção 4 0 0 7 84 fF ffF y x Junção 5 015.. 0.. 975 10965 fffF ffffF y x Junção 6 0.. 0.. 13119 131298 fffF ffffF y x Junção 7 0 0 11 1410 fF ffF y x 53 Junção 8 0. 0. 1615 1612 ffF ffF y x Junção 9 0. 0. 101513 171413 fffF fffF y x Junção 10 0. 1716 ffFx Portanto, para obtermos as componentes pedidas, é necessário resolvermos esse sistema linear, que tem 17 variáveis, que são f1, f2, ..., f17 e 17 equações. Definição: De acordo com Barroso, Filho, Carvalho e Maia (1987), um sistema linear com m equações e n variáveis é escrito usualmente na forma: mnmnmm nn nn bxaxaxa bxaxaxa bxaxaxa ... ... ... 2211 22222121 11212111 Onde: aij : coeficientes 1 i m, 1 j n xj : variáveis j = 1,..., n bi : constantes i = 1,..., m A resolução de um sistema linear consiste em calcular os valores de xj, (j = 1,..., n), caso eles existam, que satisfaçam as m equações simultaneamente. Caso, usemos a notação matricial, o sistema linear pode ser representado da seguinte forma A.x = b, onde: mnmm n n aaa aaa aaa A 21 22221 11211 é a matriz dos coeficientes, nx x x x 2 1 é o vetor das variáveis e mb b b b 2 1 é o vetor constante. 54 Definicao: De acordo com Barroso, Filho, Carvalho e Maia (1987), chamamos de x* o vetor solução e de x , uma solução aproximada do sistema linear A.x = b. Vamos analisar a seguir, através de exemplos com duas equações e duas variáveis, as situações que podem ocorrer com relação ao número de soluções de um sistema linear. i) Solução única: 23 32 21 21 xx xx com x* = 1 1 (1) ii) Infinitas soluções 624 32 21 21 xx xx (2) Para o qual, qualquer x* = ( , 3 – 2 )t com , é solução. iii) Nenhuma solução: 224 32 21 21 xx xx (3) Vejamos a representação gráfica, de cada uma das situações descritas anteriormente: (1) Retas concorrentes. (2) Retas coincidentes. (3) Retas paralelas. 55 Figura 20: A interpretação geométrica das situações descritas anteriormente. Fonte: Barroso, Filho, Carvalho e Maia (1987). Mesmo no caso geral em que o sistema linear envolve m equações e n variáveis,
Compartilhar