Baixe o app para aproveitar ainda mais
Prévia do material em texto
NOTAS DE AULA 1 Disciplina: Cálculo Numérico Professora: Dra. Camila N. Boeri Di Domenico Cálculo Numérico – Prof.a Dr.a Camila Nicola Boeri Di Domenico 1. APRESENTAÇÃO DA DISCIPLINA 1.1. INTRODUÇÃO Métodos numéricos são técnicas matemáticas usadas na solução de problemas matemáticos que não podem ser resolvidos ou que são difíceis de se resolver analiticamente. Uma solução analítica é uma resposta exata na forma de uma expressão matemática escrita em termos das variáveis associadas ao problema que está sendo resolvido. Uma solução numérica é um valor numérico aproximado para a solução (ou seja, um número). Embora soluções numéricas sejam uma aproximação, elas podem ser muito precisas. Em muitos métodos numéricos, os cálculos são executados de maneira iterativa até que a precisão desejada seja obtida. Como exemplo, pode-se citar as duas integrais a seguir: ∫𝑒𝑥𝑑𝑥 = 𝑒𝑥|0 1 = 𝑒 − 1 1 0 ∫𝑒𝑥 2 𝑑𝑥 =? 1 0 Os métodos numéricos, embora poucos em quantidade, podem ser aplicados a um grande número de problemas. Exemplo: Não possui solução analítica! Requer uma solução aproximada, ou seja, um método numérico. Cálculo Numérico – Prof.a Dr.a Camila Nicola Boeri Di Domenico Não somente a maioria dos problemas não podem ser resolvidos por métodos analíticos, como também existem problemas cuja solução por um método exato é mais trabalhosa que mediante a utilização de um método aproximado (como exemplo, tem-se a resolução de sistemas lineares). Assim, o processo de solução de um problema na engenharia é influenciado pelas ferramentas (métodos matemáticos) disponíveis para a solução desse problema. Dessa forma, tem-se por objetivo introduzir o cálculo numérico, onde será enfocado o estudo das noções básicas de erros, zeros reais de funções reais, resolução de sistemas de equações lineares, interpolação, ajuste de curvas, integração numérica e solução numérica de equações diferenciais ordinárias. 1.2. MOTIVAÇÃO Para utilizar eficazmente qualquer ferramenta de solução, necessitamos conhecer e entender o problema. Os computadores têm uma grande utilidade para resolver problemas de engenharia, porém são praticamente ineficientes se não compreendemos o funcionamento dos sistemas de engenharia. Assim, a resolução dos diversos problemas que surgem nas mais diferentes áreas, envolve várias fases: A busca das soluções de equações polinomiais de grau maior que quatro Aparece com frequência em problemas técnicos-científicos Não pode ser resolvido por um método exato. Cálculo Numérico – Prof.a Dr.a Camila Nicola Boeri Di Domenico Duas fases podem ser identificadas no diagrama anterior: a) Modelagem: é a fase de obtenção de um modelo matemático que descreve o comportamento do problema em questão. b) Resolução: é a fase de obtenção da solução do modelo matemático através da aplicação de métodos numéricos. Os métodos numéricos são técnicas mediante as quais é possível formular problemas matemáticos de tal forma que possam ser resolvidos usando operações aritméticas (algoritmo com um número finito de operações). Entretanto, não é raro acontecer que os resultados finais estejam distantes do que se esperaria obter, ainda que todas as fases tenham sido realizadas corretamente: são os chamados erros, introduzidos quando métodos numéricos são usados na solução de um problema. Cálculo Numérico – Prof.a Dr.a Camila Nicola Boeri Di Domenico 2. NOÇÕES BÁSICAS SOBRE ERROS 2.1. MOTIVAÇÃO 2.1.1. Explosão do Foguete Ariane 5 O dia 4 de junho de 1996 será para sempre lembrado como um dia sombrio para a Agência Espacial Europeia. O primeiro voo não tripulado do foguete Ariane 5, que decolou carregando quatro satélites científicos caríssimos, acabou 39 segundos depois do lançamento, em uma horrível bola de fogo e fumaça. Estima-se que a explosão causou um prejuízo de US$ 370 milhões. Não foi uma falha mecânica nem um ato de sabotagem. O desastre foi causado por um simples bug em um software, que fez cálculos errados ao se tornar sobrecarregado com números mais longos do que era capaz de suportar. Erros semelhantes foram também os responsáveis por uma série de incidentes nos últimos anos, fazendo sondas espaciais desaparecerem ou desviando mísseis de seus alvos. Imagine tentar representar um valor de, por exemplo, 105.350 quilômetros em um hodômetro que tem um valor máximo de 99.999. O contador "viraria" para 00.000 e contaria até 5.350, a quantia restante. Foi esse mesmo tipo de imprecisão que condenou o lançamento do Ariane 5. Tecnicamente, o problema é chamado de "estouro de inteiros", o que significa que os números são muito longos para serem armazenados em um sistema computacional, às vezes provocando seu mau funcionamento. Uma investigação do incidente com o foguete europeu revelou que um processo deixado pelo software da geração anterior, o Ariane 4, capturou uma inesperada medida de velocidade no novo veículo – muito mais rápido que seu antecessor – e o software do Ariane 5 não conseguiu lidar com esse número tão grande. Uma sequência de autodestruição foi iniciada e, segundos depois, acontecia a tragédia. Cálculo Numérico – Prof.a Dr.a Camila Nicola Boeri Di Domenico Esse tipo de falha ocorre com uma frequência surpreendente. Acredita-se que um dos motivos pelo qual a Nasa perdeu o contato com a sonda espacial Deep Impact, em 2013, foi o fato de seu software ter alcançado um inteiro. [Fonte: BBC Future] 2.2. INTRODUÇÃO Ao efetuarmos operações matemáticas, mesmo que com números naturais ou inteiros, devemos considerar que nem sempre obtemos resultados exatos, assim temos de interpretar números que são finitos, mas que possuem representação infinita. Por exemplo, a divisão de 1 por 3 3 1 é finita (está entre 0 e 1), todavia possui representação no conjunto do números reais com infinitas casas decimais (0,3333...). Além disso, lidamos também com números que não podem ser expressos como a divisão de dois números inteiros, são os chamados números irracionais, o que acarreta em chegarmos a apenas uma representação aproximada do número em questão. Com a evolução das tecnologias para fins computacionais, os cálculos complexos ficaram a cargo de máquinas que estão sendo sempre aperfeiçoadas a fim de aumentar seus recursos. As máquinas operam diversos cálculos, dos mais simples aos mais complexos, porém por mais complexas que sejam, trabalham com um número finito de recursos, o que não é suficiente quando lidamos com números de infinitos dígitos. Assim, qualquer cálculo, seja realizado por mãos humanas ou por máquinas, que envolva números que não possam ser expressos por um número finito de dígitos, não fornecerá como resultado um valor exato, mas sim um valor aproximado; e, quanto maior o número de dígitos utilizados, maior será a precisão obtida. É por isso que precisamos aprender a lidar com os erros, ou melhor, com a margem de erro. Vejamos dois exemplos Cálculo Numérico – Prof.a Dr.a Camila Nicola Boeri Di Domenico Exemplo 1: A primeira grande crise matemática de que se tem conhecimento foi quando os pitagóricos se depararam com o problema da diagonal de um quadrado. Sabemos que a diagonal de um quadrado de lado L qualquer é calculada pela expressão 2L . O número irracional 2 é um número que não pode ser representado, em sua forma decimal, com um número finito de dígitos. Assim, qualquer operação que o envolva estará sujeita a aproximações para sua representação, como por exemplo: 1,4142 ou 1,4142136 ou ainda 1,4142135623730950488016887242097. Por exemplo, na trigonometria, o arco de valor 4 possui seno igual a 2 2 , o que nos permite infinitas representações, remetendo-nosa resultados próximos do exato, mas que não são verdadeiramente exatos: 7,0 2 2 ; 7071,0 2 2 ; 8657071067811,0 2 2 . Exemplo 2: A área A de uma circunferência, de raio r , é obtida através do cálculo da fórmula 2rA . Neste caso, para uma circunferência de raio igual a 10m poderemos obter como área: 2314mA ; 21592653,314 mA ; 2793238461592653589,314 mA . Como é um número irracional não teremos um valor exato para o cálculo da área, mas sim valores aproximados. No primeiro cálculo utilizamos 3,14 (três algarismos significativos para ) e no segundo cálculo, utilizamos 3,141592653 Cálculo Numérico – Prof.a Dr.a Camila Nicola Boeri Di Domenico (dez algarismos significativos) e no terceiro 3,1415926535897932384 (vinte algarismos significativos). Nenhum dos resultados está incorreto, porém o terceiro está mais preciso que o segundo, por sua vez está mais preciso que o primeiro, assim quanto maior o número de dígitos utilizados nos cálculos, maior a precisão do número, ou seja, mais próximo estamos da representação real do número. As diferenças entre resultados para uma mesma operação podem ser consequência da precisão dos dados de entrada da operação (como nos casos ilustrados acima), ou ainda da forma como estes números são representados nos computadores ou calculadoras, pois devemos levar também em consideração que estes trabalham com o sistema de representação binário. Assim, ao inserirmos um número no computador, normalmente o representamos na base decimal, este o converte para binário, realiza operações matemáticas nessa base e converte o resultado novamente para a base decimal para que possamos observá-lo. Por isso ao analisarmos um resultado, devemos levar em consideração que este resultado é limitado em função dos números de dígitos que a máquina dispõe para trabalhar e também na conversão, pois podemos ter alguns desvios do resultado real, já que um número possui uma representação finita decimal e pode não ter representação finita no sistema binário ou vice-versa. Nesse caso, a máquina fará aproximações do número, o que implica avaliarmos a precisão do resultado. Neste sentido, nenhum resultado obtido através de cálculos eletrônicos ou métodos numéricos tem valor se não tivermos conhecimento e controle sobre os possíveis erros envolvidos no processo. A análise dos resultados obtidos através de um método numérico representa uma etapa fundamental no processo das soluções numéricas. Cálculo Numérico – Prof.a Dr.a Camila Nicola Boeri Di Domenico 2.3. NÚMERO APROXIMADO Um número �̅� é dito uma aproximação para o número exato x se existe uma pequena diferença entre eles. Geralmente, nos cálculos os números exatos não são conhecidos e deste modo são substituídos por suas aproximações. Dizemos que �̅� é um número aproximado por falta do valor exato x se �̅� < x. Se �̅� > x, temos uma aproximação por excesso. Exemplo: Como 1,41< √𝟐 <1,42 temos que 1,41 uma aproximação de √𝟐 por falta e 1,42 uma aproximação de √𝟐 por excesso. 2.4. TIPOS DE ERROS Em geral, os tipos de erros estão classificados como: Erros nos dados de entrada; Erros gerados pelo modelo; Erros por truncamento; Erros por arredondamento. 2.4.1. Erros de dados de entrada A coleta de dados decorrentes de medidas das observações e experimentos, na maioria das vezes, traz consigo erros que são inerentes aos próprios instrumentos de medida. Dependendo do tipo de aparelho utilizado para a coleta de dados, obtemos melhor ou pior conjunto de valores observáveis. 2.4.2. Erros do modelo Para representar um fenômeno do mundo físico por meio de um modelo matemático, normalmente, são necessárias várias simplificações do mundo físico para que se tenha um modelo, o que acaba levando a erros. Cálculo Numérico – Prof.a Dr.a Camila Nicola Boeri Di Domenico 2.4.3. Erros por truncamento Em muitas ocasiões, no tratamento de um problema, é preciso fazermos a substituição de uma expressão ou fórmula infinita por uma finita. Nesse caso, a diferença entre a solução encontrada pela substituição da solução exata pela fórmula finita gera um erro que se chama erro de truncamento. Um exemplo simples é a avaliação numérica da função 𝒔𝒆𝒏(𝒙) que pode ser feita a partir da expansão em série de Taylor: 𝒔𝒆𝒏(𝒙) = 𝒙 − 𝒙𝟑 𝟑! + 𝒙𝟓 𝟓! − 𝒙𝟕 𝟕! + ⋯ (𝟏) O valor de 𝒔𝒆𝒏 ( 𝝅 𝟔 ) pode ser determinado de forma exata com a equação (1) se um número infinito de termos for usado. O seu valor pode ser aproximado com o uso de apenas um número finito de termos. A diferença entre o valor exato e o valor aproximado é o erro de truncamento (ETR). Por exemplo, se apenas o primeiro termo for usado: 𝒔𝒆𝒏 ( 𝝅 𝟔 ) = 𝝅 𝟔 = 𝟎, 𝟓𝟐𝟑𝟓𝟗𝟖𝟖 ETR = 0,5 – 0,5235988 = -0,0235988 2.4.4. Erros por arredondamento Quer os cálculos sejam efetuados manualmente, quer obtidos por computador, somos conduzidos a utilizar uma aritmética de precisão finita, ou seja, apenas podemos ter em consideração um número finito de dígitos. O erro devido a desprezar os outros e arredondar o número é designado por erro de arredondamento. Exemplo 1: √𝟐 = 𝟏, 𝟒𝟏 √𝟐 = 𝟏, 𝟒𝟏𝟒𝟐 √𝟐 = 𝟏, 𝟒𝟏𝟒𝟐𝟐𝟏𝟑𝟓𝟔𝟐 Os arredondamentos podem ser do tipo corte, em que os dígitos além da precisão requerida são abandonados, ou do tipo arredondamento para o Cálculo Numérico – Prof.a Dr.a Camila Nicola Boeri Di Domenico número mais próximo (se ≥ 5, soma-se uma unidade; se < 5, o algarismo permanece inalterado. Exemplo 2: Arredondar 𝟐 𝟑 = 𝟎, 𝟔𝟔𝟔𝟔𝟔𝟔… para três casas decimais: Corte: 0,666 Arredondamento: 0,667 2.5. MEDIDAS DE ERROS: ERROS ABSOLUTO E RELATIVO Sejam os valores x exato e �̅� aproximado para uma grandeza. O erro é dado por: 𝑬𝑨𝒃 = 𝒙 − �̅� e é chamado de Erro Absoluto (EAb). Quanto menor for esse erro, mais preciso será o resultado da operação. Se estivermos lidando com números muito grandes, o erro pode ser grande em termos absolutos, mas o resultado ainda será preciso; O caso inverso também pode ocorrer: um erro absoluto pequeno, mas um resultado impreciso. Já o Erro Relativo (ERel) é uma forma mais geral de se avaliar a precisão de um cálculo efetuado e é dado por: 𝑬𝑹𝒆𝒍 = 𝒙 − �̅� 𝒙 Exemplo 1: Dados x = 0,128 e �̅� = 0,234, determinar os erros absoluto e relativo. EAb = 0,106 ERel = 0,83 Exemplo 2: Considere: x = 100; �̅� = 100,1 e y = 0,0006; �̅� = 0,0004. Assim 𝑬𝑨𝒃𝒙 = 0,1 e 𝑬𝑨𝒃𝒚 = 0,0002. Como |𝑬𝑨𝒃𝒚| é muito menor que |𝑬𝑨𝒃𝒙| poderíamos “imaginar” que a aproximação �̅� de y é melhor que a �̅� de x. Numa análise mais cuidadosa Cálculo Numérico – Prof.a Dr.a Camila Nicola Boeri Di Domenico percebemos que as grandezas dos números envolvidos são muito diferentes. Temos então para os dados acima: 𝑬𝑹𝒆𝒍𝒙= 0,1/100,1 = 0,000999 𝑬𝑹𝒆𝒍𝒚 = 0,0002/0,0006 = 0,333333 Agora podemos concluir que a aproximação �̅� de x é melhor que a �̅� de y pois 𝑬𝑹𝒆𝒍𝒙| < |𝑬𝑹𝒆𝒍𝒚|. 2.6. PROPAGAÇÃO E CONDICIONAMENTO DE ERROS NUMÉRICOS Vamos supor que queremos calcular o valor de 2 - e3. Ao calcularmos o valor de 2 , teremos que realizar um arredondamento, que leva ao um resultado aproximado de 2 , ou seja, existe um erro de arredondamento associado ao resultado. Para calcularmos o valor de e3 teremos que fazer um truncamento, que também irá gerar um erro no resultado obtido. Portanto, o resultado da operação de subtração entre 2 e e3 apresentará um erro que é proveniente dos erros nos valores de 2 e e3 separadamente. Em outras palavras, os erros nos valores de 2 e e3 se propagam para o resultado de 2 - e3. Podemos concluir então que, ao se resolver um problema numericamente, a cada etapa e a cada operação realizada, devemsurgir diferentes tipos de erros gerados das mais variadas maneiras, e estes erros se propagam e determinam o erro no resultado final obtido. A propagação de erros é muito importante pois, além de determinar o erro final de uma operação numérica, ela também determina a sensibilidade de um determinado problema ou método numérico. Se uma pequena variação nos dados de entrada de um problema levar a uma grande diferença no resultado final, considera-se que essa operação é mal condicionada, ou seja, existe uma grande propagação de erros nessa operação. Por outro lado, se uma pequena variação nos dados de entrada leva a apenas uma pequena diferença no resultado final, então essa operação é bem- condicionada. Cálculo Numérico – Prof.a Dr.a Camila Nicola Boeri Di Domenico 2.7. EXEMPLOS DE INFLUÊNCIA DOS ERROS NAS SOLUÇÕES a) Falha no lançamento de mísseis na Guerra do Golfo: Limitação na representação numérica → Erro de 0,34s no cálculo do tempo de lançamento. b) Explosão de foguetes na Guiana Francesa: Limitação na representação numérica → Erro de trajetória 36,7s após o lançamento → Prejuízo de U$7,5 bilhões. LISTA DE EXERCÍCIOS 1 – ERROS 1) Para resolver a equação 𝑓(𝑥) = 𝑥2 − 𝑎 = 0, com a > 0, podemos utilizar o seguinte processo iterativo: 𝑥𝑛+1 = 1 2 (𝑥𝑛 + 𝑎 𝑥𝑛 ) , 𝑛 = 0, 1, 2, … Assim, dado o valor 𝑥0, usamos a expressão anterior para gerar a sequência de soluções aproximadas𝑥1, 𝑥2, … Definindo-se uma tolerância 𝜀 > 0, podemos verificar se a sequência de aproximações atingiu a precisão, realizando-se o seguinte teste: Se |𝑥𝑛+1 − 𝑥𝑛| < 𝜀 for verdadeiro, dizemos que 𝑥𝑛+1 é a raiz da equação f(x)=0, com tolerância 𝜀. Caso contrário, devemos calcular outro elemento da sequência. Podemos, ainda, de forma alternativa, realizar o seguinte teste: Se |𝑥𝑛+1−𝑥𝑛| |𝑥𝑛+1| < 𝜀 for verdadeiro, concluímos que 𝑥𝑛+1 é a raiz da equação. No primeiro teste, usamos o erro absoluto e, no segundo, o erro relativo. Assim, considerando a = 2, 𝑥0 = 1 e 𝜀 = 0,0001, determine a solução para a f(x)=0, considerando-se os testes com erro absoluto e com erro relativo. Cálculo Numérico – Prof.a Dr.a Camila Nicola Boeri Di Domenico 2) Considere a função fatorial 𝑓(𝑛) = 𝑛! = 𝑛. (𝑛 − 1)…3 ∙ 2 ∙ 1. Em 1730, o matemático Stirling desenvolveu a fórmula de aproximação 𝑓(̅𝑛) = √2𝜋𝑛 ( 𝑛 𝑒 ) 𝑛 para a função fatorial. a) Obtenha os valores de 𝑓(̅𝑛) e f(n) para n = 5, 10, 15 e 20. b) Determine o erro relativo de cada aproximação. 3) Calcule o erro relativo e o erro absoluto envolvidos nos seguintes cálculos numéricos abaixo onde o valor preciso da solução e dado por x e o valor aproximado e dado por �̅�. a) x = 0,0020 e �̅� = 0,0021 b) x = 530000 e �̅� = 529400 GABARITO 1) 𝑥4 = 1,41421 2) 3) Exato Aproximado Erro Absoluto Erro Relativo 0,002 0,0021 -0,0001 -0,05 530000 529400 600,0000 0,001132075 Cálculo Numérico – Prof.a Dr.a Camila Nicola Boeri Di Domenico 3. ZEROS REAIS DE FUNÇÕES REAIS 3.1 MOTIVAÇÃO O pH de soluções diluídas de ácido fraco é calculado pela fórmula: [𝑯𝟑𝑶 +]𝟑 +𝑲𝒂[𝑯𝟑𝑶 +]𝟐 − (𝑲𝒂𝑪𝒂 +𝑲𝒘)[𝑯𝟑𝑶 +] − 𝑲𝒘𝑲𝒂 = 𝟎 em que: 𝒑𝑯 = −𝒍𝒐𝒈[𝑯𝟑𝑶 +] 𝑲𝒂 = 𝒄𝒐𝒏𝒔𝒕𝒂𝒏𝒕𝒆 𝒅𝒆 𝒅𝒊𝒔𝒔𝒐𝒄𝒊𝒂çã𝒐 𝒅𝒐 á𝒄𝒊𝒅𝒐; 𝑪𝒂 = 𝒄𝒐𝒏𝒄𝒆𝒏𝒕𝒓𝒂çã𝒐 𝒅𝒐 á𝒄𝒊𝒅𝒐; 𝑲𝒘 = 𝒑𝒓𝒐𝒅𝒖𝒕𝒐 𝒊ô𝒏𝒊𝒄𝒐 𝒅𝒂 á𝒈𝒖𝒂. Como determinar o pH de uma solução de ácido bórico a 24°C, sabendo que: 𝑲𝒂 = 𝟔, 𝟓 . 𝟏𝟎 −𝟏𝟎𝑴 𝑪𝒂 = 𝟏, 𝟎 . 𝟏𝟎 −𝟓𝑴 𝑲𝒘 = 𝟏, 𝟎 . 𝟏𝟎 −𝟏𝟒𝑴𝟐 Responder esta questão significa determinar a raiz da função associada a ela. 3.2 INTRODUÇÃO Em muitos problemas de Ciência e Engenharia há necessidade de se determinar um número 𝜶 para o qual uma função f(x) seja zero, ou seja, 𝒇(𝜶) = 𝟎. Este número é chamado raiz da equação f(x) = 0 ou zero da função f(x). As funções reais podem ser classificadas como: Cálculo Numérico – Prof.a Dr.a Camila Nicola Boeri Di Domenico Lineares Funções Algébricas Não Lineares Funções Polinomiais Funções Não Algébricas Funções Não Polinomiais ou Transcendentes Graficamente, os zeros reais são representados pelas abscissas dos pontos onde a função intercepta o eixo 𝑂𝑋⃗⃗ ⃗⃗ ⃗ do gráfico. A função g(x) acima tem 5 raízes no intervalo [a,b]: x 1 , x 2 , x 3 , x 4 , x 5 . As raízes de uma função podem ser encontradas analiticamente, como nos casos de equações algébricas de 10 e 20 graus, certas classes de 30 e 40 graus e algumas equações transcendentes. Exemplos: a) 𝑓(𝑥) = 𝑥 − 3 → 𝑥 = 3 é 𝑟𝑎𝑖𝑧 𝑑𝑒 𝑓(𝑥) 𝑝𝑜𝑖𝑠: 𝑓(3) = 3 − 3 = 0 b) 𝑔(𝑥) = 8 3 𝑥 − 4 → 8 3 𝑥 − 4 = 0 → 8 3 𝑥 = 4 → 𝑥 = 12 8 = 3 2 Cálculo Numérico – Prof.a Dr.a Camila Nicola Boeri Di Domenico c) ℎ(𝑥) = 𝑥2 − 5𝑥 + 6 → 𝑥 = 5±√1 2 → 𝑥1 = 3 𝑒 𝑥2 = 2 Mas para polinômios de grau superior a quatro e para a grande maioria das equações transcendentes, o problema só pode ser resolvido por métodos que aproximam as soluções, como nos exemplos abaixo: Exemplos: a) 𝑓(𝑥) = 𝑥3 + 2𝑥2 − 𝑥 + 1 b) 𝑔(𝑥) = 𝑠𝑒𝑛(𝑥) + 𝑒𝑥 c) ℎ(𝑥) = 𝑥 + ln (𝑥) Embora estes métodos não forneçam raízes exatas, elas podem ser calculadas com a exatidão que o problema requeira, desde que certas condições sobre f sejam satisfeitas, através de um processo iterativo: Determinação da Raiz FASE 1: Isolamento da Raiz Aproximação Inicial FASE 2: Refinamento da Raiz Aproximada Processo Iterativo Método Gráfico Método Analítico Teorema de Bolzano Métodos Numéricos Convergência Critérios de Parada Cordas Pégaso Newton Iteração Linear Bisseção Cálculo Numérico – Prof.a Dr.a Camila Nicola Boeri Di Domenico Conforme o esquema anterior, a ideia central do método numérico é partir de uma aproximação inicial para a raiz e, em seguida, refinar essa aproximação através de um processo iterativo. Por isso, os métodos constam de duas fases: FASE I: Isolar cada zero que se deseja determinar da função f em um intervalo [a,b], o menor possível, que contenha uma e somente uma raiz da função f . FASE II: Calcular a raiz aproximada através de um processo iterativo até a precisão desejada, ou seja, refiná-la. 3.3 PROCESSO ITERATIVOS Existe um grande número de métodos numéricos que são processos iterativos. Estes processos se caracterizam pela repetição de uma determinada operação. A ideia nesse tipo de processo é repetir um determinado cálculo várias vezes, obtendo-se a cada repetição ou iteração um resultado mais preciso que aquele obtido na iteração anterior. É importante destacar que a cada iteração utiliza-se o resultado da iteração anterior como parâmetro de entrada para o cálculo seguinte. Existem diversos aspectos comuns a qualquer processo iterativo: Estimativa inicial: Para iniciar um processo iterativo, é preciso ter uma estimativa inicial do resultado do problema. Essa estimativa pode ser conseguida de diferentes formas (depende do problema). Convergência: Para obtermos um resultado próximo do resultado real esperado, é preciso que a cada passo ou iteração, nosso resultado esteja mais próximo daquele esperado. Critério de Parada: Obviamente não podemos repetir um processo numérico infinitamente. É preciso pará-lo em um determinado instante. O critério adotado para parar as iterações de um processo numérico é chamado de critério de parada (depende do problema e da precisão que desejamos para obter a solução). Cálculo Numérico – Prof.a Dr.a Camila Nicola Boeri Di Domenico 3.4 FASE I: ISOLAMENTO DE RAÍZES Dada uma função f : R R delimitar os zeros de f significa determinar intervalos [a, b] que contenhamos zeros de f, sendo que cada intervalo deverá conter um e somente um zero da função f. Existem dois métodos para resolver este problema: A) Método Gráfico B) Método Analítico 3.4.1 Método Gráfico O método gráfico consiste em: Escrever f como a diferença de funções g e h ou seja f = g −h onde possamos sem muito esforço esboçar os gráficos das funções g e h; Usar f(x) = 0 g(x) = h(x); Esboçar, da melhor maneira possível, os gráficos de g e h, determinando os intervalos onde estão os pontos de interseção de g(x) e h(x), ou seja, os pontos �̅� onde 𝒈(�̅�) = 𝒉(𝒙). Exemplos: 1) Delimitar os zeros da função 𝒇(𝒙) = 𝒆𝒙 + 𝒙𝟐 − 𝟐 Cálculo Numérico – Prof.a Dr.a Camila Nicola Boeri Di Domenico 2) Delimitar os zeros da função xxxf ln 3.4.2 Método Analítico Este método é baseado no Teorema de Bolzano: “Seja uma função f(x) contínua em um intervalo [a,b], tal que, f(a).f(b)<0. Então, f(x) possui pelo menos uma raiz no intervalo [a,b].” O teorema assegura que se f troca de sinal nos pontos a e b então f tem pelo menos um zero entre estes pontos. Exemplos: A raiz será única e definida se a derivada f’(x) existir e preservar o sinal dentro do intervalo (a, b), isto é, se f’(x) > 0 para a<x<b. Cálculo Numérico – Prof.a Dr.a Camila Nicola Boeri Di Domenico Exemplos: 1) Seja a função 𝒇(𝒙) = 𝒙𝟑 + 𝟗𝒙 − 𝟑. Isolar as raízes desta função. Como f(x) é um polinômio de grau 3, logo f’(x) existe e podemos afirmar que cada intervalo contém um único zero de f(x). Assim, localizamos todas as raízes de f(x) = 0. 2) Seja a função 𝒇(𝒙) = 𝒙. 𝐥𝐧 (𝒙) − 𝟑, 𝟐. Isolar as raízes desta função. Pelo teorema de Bolzano, concluímos que existe pelo menos uma raiz real no intervalo [2,3]. Cálculo Numérico – Prof.a Dr.a Camila Nicola Boeri Di Domenico Lista de Exercícios 2 – Isolamento de Raízes. A) Isolar a raízes da função abaixo: 𝑓(𝑥) = √𝑥 + 2ln (𝑥) Resp.: B) Localizar graficamente as raízes das equações seguintes: Cálculo Numérico – Prof.a Dr.a Camila Nicola Boeri Di Domenico C) Localize graficamente a raiz não nula da equação dada: D) Isolar os zeros das funções abaixo, utilizando o método gráfico: a) 2 xsenexf x b) x exf x 1 Resp.: a) 𝑥0 ∈ [1; 1,2] x yy = e^x Cálculo Numérico – Prof.a Dr.a Camila Nicola Boeri Di Domenico b) 𝑥0 ∈ [0,2; 1,0] E) Delimitar os zeros das funções abaixo, utilizando o método analítico: a) xxxxf 34 3 b) 133 xxxf Resp.: a) 𝑥0 ∈ [−3; −2] 𝑥1 ∈ [−1; 0] 𝑥2 ∈ [0; 1] 𝑥3 = 0] b) 𝑥0 ∈ [0, 1] x y Cálculo Numérico – Prof.a Dr.a Camila Nicola Boeri Di Domenico 3.2 FASE II: REFINAMENTO São vários os métodos numéricos de refinamento de raiz, todos eles iterativos. A forma como se efetua o refinamento é que diferença os métodos. Os métodos iterativos para refinamento da aproximação inicial para a raiz exata podem ser colocados num diagrama de fluxo, conforme ilustrado a seguir: 3.2.1 Critérios de Parada Para a determinação da raiz aproximada �̅� com precisão 𝜺, adotaremos critério de parada para nossos cálculos. )() xfii ouxi) Como efetuarmos o teste (i) se não conhecemos ? Início Dados iniciais Cálculos iniciais K=1 Cálculos finais está próxima o suficiente da raiz exata? Cálculos intermediários K=K+1 fim Cálculo Numérico – Prof.a Dr.a Camila Nicola Boeri Di Domenico Uma forma é reduzir o intervalo que contém a raiz a cada iteração, de forma a se conseguir um intervalo [a,b] tal que: ab ba e ],[ 3.2.2 Métodos de Refinamento 3.2.2.1 Método da Bisseção Seja f(x) uma função contínua no intervalo [a, b] e 𝒇(𝒂). 𝒇(𝒃) < 𝟎. Dividindo o intervalo [a, b] ao meio, obtém-se 𝒙𝟎, havendo, pois, dois subintervalos, [a, 𝒙𝟎] e [𝒙𝟎, 𝒃], a serem considerados, a fim de determinar qual deles contém o zero. Se 𝒇(𝒙𝟎) = 𝟎, então, 𝜶 = 𝒙𝟎; caso contrário, a raiz estará no subintervalo onde a função tem sinais opostos nos pontos extremos, ou seja, se 𝒇(𝒂). 𝒇(𝒙𝟎) < 𝟎 então 𝜶 ∈ (𝒂, 𝒙𝟎); senão 𝒇(𝒂). 𝒇(𝒙𝟎) > 𝟎 e 𝜶 ∈ (𝒙𝟎, 𝒃). O novo intervalo [𝒂𝟏, 𝒃𝟏, ] que contém 𝜶 é dividido ao meio e obtém-se o ponto 𝒙𝟏. O processo se repete até que se obtenha uma aproximação para a raiz exata 𝜶, com tolerância 𝜺 desejada (critério de parada). Observação: Este método é normalmente utilizado para diminuir o intervalo que contém o zero da função, para a aplicação de outro método, pois o esforço computacional cresce demasiadamente quando se aumenta a precisão exigida. Convergência do Método da Bisseção Como em cada passo, dividimos o intervalo por 2, temos: 1a iteração: (𝑏−𝑎) 2 2a iteração: (𝑏−𝑎) 22 Cálculo Numérico – Prof.a Dr.a Camila Nicola Boeri Di Domenico 3a iteração: (𝑏−𝑎) 23 ⋮ na iteração: (𝑏−𝑎) 2𝑛 Se o problema exige que o erro cometido seja inferior a um parâmetro 𝜀, determina-se a quantidade n de iterações encontrando o maior inteiro que satisfaz a inequação: (𝑏 − 𝑎) 2𝑛 ≤ 𝜀 Resolvendo: Cálculo Numérico – Prof.a Dr.a Camila Nicola Boeri Di Domenico Exemplos: 1) Calcular a raiz positiva da equação 𝑓(𝑥) = 𝑥2 − 3 com 𝜀 ≤ 0,01. ]2,1[I Número de iterações: N na n b n x nxf 0 1 2 3 4 5 6 2) Calcular pelo menos uma raiz real da função xxxf cos3 com 210 . Utilize nove casas decimais, considerando a raiz no intervalo 1,0 . Cálculo Numérico – Prof.a Dr.a Camila Nicola Boeri Di Domenico APLICAÇÃO PRÁTICA – RESOLUÇÃO COMPUTACIONAL 3) O pH de soluções diluídas de ácido fraco é calculado pela fórmula: [𝑯𝟑𝑶 +]𝟑 +𝑲𝒂[𝑯𝟑𝑶 +]𝟐 − (𝑲𝒂𝑪𝒂 +𝑲𝒘)[𝑯𝟑𝑶 +] − 𝑲𝒘𝑲𝒂 = 𝟎 em que: 𝒑𝑯 = −𝒍𝒐𝒈[𝑯𝟑𝑶 +] 𝑲𝒂 = 𝒄𝒐𝒏𝒔𝒕𝒂𝒏𝒕𝒆 𝒅𝒆 𝒅𝒊𝒔𝒔𝒐𝒄𝒊𝒂çã𝒐 𝒅𝒐 á𝒄𝒊𝒅𝒐; 𝑪𝒂 = 𝒄𝒐𝒏𝒄𝒆𝒏𝒕𝒓𝒂çã𝒐 𝒅𝒐 á𝒄𝒊𝒅𝒐; 𝑲𝒘 = 𝒑𝒓𝒐𝒅𝒖𝒕𝒐 𝒊ô𝒏𝒊𝒄𝒐 𝒅𝒂 á𝒈𝒖𝒂. Calcular o pH de uma solução de ácido bórico a 24°C, sabendo que: 𝑲𝒂 = 𝟔, 𝟓 . 𝟏𝟎 −𝟏𝟎𝑴 𝑪𝒂 = 𝟏, 𝟎 . 𝟏𝟎 −𝟓𝑴 𝑲𝒘 = 𝟏, 𝟎 . 𝟏𝟎 −𝟏𝟒𝑴𝟐 A solução deste problema será dividida em duas partes: Encontrar a concentração de íons de ácido bórico (𝐻3𝑂 +). Depois, com este resultado, o pH de uma solução contendo ácido bórico por meio da fórmula: 𝒑𝑯 = −𝒍𝒐𝒈[𝑯𝟑𝑶 +] Dica: Fazer troca de variável, adotando-se 𝐻3𝑂 += x. 4) Considere que a solução de uma equação diferencial que modela o problema de concentração de bactérias poluentes c por cm3 , em um lago, seja dada pela função: 𝑐(𝑡) = 75𝑒−1,5𝑡 + 20𝑒−0,075𝑡 Desejamos determinar o tempo necessário para que a concentração de bactérias seja reduzido ao valor 15 por cm3. Cálculo Numérico – Prof.a Dr.a Camila Nicola Boeri Di Domenico Lista de Exercícios 3 – Método da Bisseção. 1) Encontre uma estimativa para a raiz de 𝑓(𝑥) = 𝑒𝑥 + 𝑥 com um erro menor ou igual a 0,05. 2) Calcular pelo menos uma raiz de cada função abaixo com 𝜀 ≤ 10−3: a) 𝑓(𝑥) = 𝑥3 − 6𝑥2 − 𝑥 + 30 b) 𝑓(𝑥) = 𝑥 + log (𝑥) c) 𝑓(𝑥) = 𝑥 + 2cos (𝑥) d) 𝑓(𝑥) = 𝑒𝑥 − 2 cos(𝑥) − 4 3) Como você poderia usar o método da bisseção para estimar o valor de √7? Estimeesse valor com uma precisão de 0,1. 4) Dada a função 𝑓(𝑥) = 𝑠𝑒𝑛(𝑥) − 𝑥2 + 4: a) Determine o intervalo que contém pelo menos uma raiz de f(x). b) Partindo desse intervalo, utilize o método da bisseção para determinar o valor dessa raiz após quatro iterações. c) Qual é o erro no seu resultado final? 5) Dada a função 𝑓(𝑥) = 𝑒−𝑥 + 𝑥2 − 2: a) Determine graficamente o intervalo que contém pelo menos uma raiz de f(x). b) Reduza este intervalo utilizando o Teorema de Bolzano. c) Partindo-se desse intervalo, utilize o método da bisseção para determinar o valor dessa raiz com uma precisão de 0,05. Cálculo Numérico – Prof.a Dr.a Camila Nicola Boeri Di Domenico Gabarito: 1) Intervalo: [-1, 0] Raiz: −0,594 ± 0,032 2) a) -2 b) 0,399 c) 1,0299 d) 1,446 3) Cálculo Numérico – Prof.a Dr.a Camila Nicola Boeri Di Domenico 4) Cálculo Numérico – Prof.a Dr.a Camila Nicola Boeri Di Domenico 5) Cálculo Numérico – Prof.a Dr.a Camila Nicola Boeri Di Domenico 3.2.2.2 Método de Newton (ou Método das Tangentes) Seja xf uma função contínua no intervalo ba, , 0 bfaf e o seu único zero neste intervalo; as derivadas xf ' 0' xf e xf '' devem também ser contínuas. A ideia no método de Newton é escolher uma função (x) tal que ’()=0 onde é a raiz de f(x) e ∈ [a,b]. O Método de Newton consiste em usar o processo iterativo: )(1 kk xx e como função de iteração a expressão: ’ Assim, temos: 𝒙𝒏+𝟏 = 𝒙𝒏 − 𝒇(𝒙𝒏) 𝒇′(𝒙𝒏) , 𝒏 = 𝟎, 𝟏, 𝟐,… Escolha de x0: - xf ' e xf '' devem ser não nulas e preservar o sinal em ba, - 0x seja tal que 0'' 00 xfxf Interpretação Geométrica do Método de Newton O ponto 𝒙𝒏+𝟏 é obtido traçando-se a tangente ao gráfico da função f (x) no ponto (𝒙𝒏, 𝒇(𝒙𝒏)). A intersecção da reta tangente com o eixo das abscissas fornece a nova aproximação 𝒙𝒏+𝟏. Esta interpretação justifica o nome de método das tangentes. Cálculo Numérico – Prof.a Dr.a Camila Nicola Boeri Di Domenico 𝑡𝑔𝜃 = 𝒇′(𝒙𝒏) = 𝒇(𝒙𝒏) 𝒙𝒏 − 𝒙𝒏+𝟏 ⇒ 𝒙𝒏+𝟏 = 𝒙𝒏 − 𝒇(𝒙𝒏) 𝒇′(𝒙𝒏) Convergência do Método de Newton Apesar de obtermos a forma da função (x) procurando garantir a convergência do processo iterativo, esta não está sempre garantida para este método (mas quase sempre). A convergência no método de Newton esta sempre garantida para um certo intervalo [a,b] que contém a raiz de f(x), desde que f(x) e f '(x) sejam contínuas nesse intervalo e que f '(α)≠0, onde α é a raiz de f(x) (f(α)=0). Portanto, se utilizarmos uma estimativa inicial x0 tal que x0 ∈ [a,b], a convergência estará garantida. Em outras palavras, para o método de Newton convergir, é preciso que nossa estimativa inicial esteja próxima da raiz de f(x). A proximidade exigida para a convergência vai depender de caso a caso e nem sempre é simples de determinar. Cálculo Numérico – Prof.a Dr.a Camila Nicola Boeri Di Domenico Exemplos: 1) Calcule a raiz de f(x)=x2+x-6, usando o método de Newton, x0=3 como estimativa inicial e como critério de parada |f (xn)|0,02. Solução: Para encontrar a raiz de f(x) usando o método de Newton-Raphson, devemos ter: onde: Portanto, temos que: n xn 12 6 )( 2 n n n x x x 6)( 2 nnn xxxf Cálculo Numérico – Prof.a Dr.a Camila Nicola Boeri Di Domenico 2) Uma bola é arremessada para cima com velocidade 𝑣0 = 30𝑚/𝑠 a partir de uma altura 𝑥0 = 5𝑚, em um local onde a aceleração da gravidade é 𝑔 = −9,81𝑚/𝑠2. Sabendo que: ℎ(𝑡) = 𝑥0 + 𝑣0𝑡 + 1 2 𝑔𝑡2 qual será o tempo gasto para a bola tocar o solo, desconsiderando o atrito com o ar? Cálculo Numérico – Prof.a Dr.a Camila Nicola Boeri Di Domenico 3.2.2.3 Comparação dos Métodos O método mais simples e robusto é o da bisseção, que apresenta como grande vantagem o fato de convergir sempre, e, portanto, pode ser utilizado em qualquer circunstância, tendo como desvantagem ser bastante lento a convergir. Apresenta como curiosidade o fato de convergir para a raiz sempre com a mesma velocidade. Pela sua robustez, é ótimo como método preliminar para a definição de um intervalo de pequena amplitude, dentro do qual se encontra uma raiz da equação a resolver. O método de Newton é sem dúvida o método que converge para a solução mais rapidamente. Este método apresenta no entanto algumas desvantagens. Para que este método seja convergente, é necessário que certas condições sejam satisfeitas, além disso obriga ao cálculo, em cada iteração, não só da função como também da sua derivada. Este último cálculo pode consumir muito tempo de computação por ser difícil, ou então ser mesmo impossível (por exemplo se a função é definida por pontos). Lista de Exercícios 4 – Método de Newton 1) Calcular pelo menos uma raiz real das equações abaixo. a) 5ln2 3 xxxf com 510 . b) 42 xsenxxf com 510 . c) xtgexf x com 510 . Cálculo Numérico – Prof.a Dr.a Camila Nicola Boeri Di Domenico d) 210 3 xxf x com 510 . e) 35 23 xxxxf com 510 . (Determinar a raiz negativa) 3) Seja a seguinte função: 𝑓(𝑥) = 1 𝑥3 − 𝑥2 + 1 Use o método de Newton para encontrar uma estimativa da raiz da função tal que |𝑓(𝑥)| < 10−4. Parta de 𝑥0 = 1. 4) Deseja-se resolver a seguinte equação usando o método de Newton: 𝑥5 − 6 = 0 Qual o valor da raiz tal que: | 𝑥𝑛−𝑥𝑛−1 𝑥𝑛 | < 10−5? Quantas iterações são necessárias para se encontrar a raiz, atingindo o critério acima, com a) 𝑥0 = −15 b) 𝑥0 = 2 c) 𝑥0 = 20 GABARITO: 1) a) 1,33084 b) -2,3542 c) 1,3063 d) -1,2711 e) -0,64575 Cálculo Numérico – Prof.a Dr.a Camila Nicola Boeri Di Domenico 4. RESOLUÇÃO DE SISTEMAS DE EQUAÇÕES LINEARES 4.1. INTRODUÇÃO A necessidade de resolver sistemas de equações lineares aparece numa grande quantidade de problemas científicos. Existem estimativas que apontam que, a cada quatro problemas de simulação em matemática, três convertem-se em solução de sistemas de equações. Entre os exemplos de problemas, pode-se citar a determinação do potencial em redes elétricas, cálculo da tensão na estrutura metálica da construção civil, cálculo da razão de escoamento num sistema hidráulico com derivações, previsão da concentração de reagentes sujeitos às reações químicas simultâneas. Também encontramos quando estudamos métodos numéricos para a resolução de problemas de equações diferenciais parciais, pois estes requerem a solução de um conjunto de equações. A resolução de um sistema linear é feita, em geral, por dois caminhos: os métodos diretos e os métodos iterativos. Os métodos diretos determinam a solução de um sistema linear com um número finito de operações. Já os métodos iterativos são aqueles que se baseiam na construção de sequências de aproximações. Em um método iterativo, a cada passo, os valores calculados anteriormente são usados para melhorar a aproximação. De maneira geral, podemos representar os métodos de resolução de sistemas lineares pelo diagrama a seguir: Cálculo Numérico – Prof.a Dr.a Camila Nicola Boeri Di Domenico Aqui, a ênfase será nos métodos iterativos. 4.2. CONCEITOS PRELIMINARES 4.2.1. Equação Linear Uma equação é linear se cada termo contém não mais do que uma variável e cada variável aparece na primeira potência. Exemplos: 2952 zyx → é linear 22 zxy → não é linear, pois o primeiro termo contém duas variáveis 0523 3 zyx → não élinear, pois o primeiro termo contém uma variável elevada ao cubo 4.2.2. Sistema de Equações Lineares Vamos considerar n equações lineares com n incógnitas e vamos nos referir a elas como um Sistema de n Equações Lineares ou um Sistema Linear de ordem n. SISTEMAS DE EQUAÇÕES LINEARES Métodos Diretos Métodos Iterativos Eliminação Gaussiana Jordan Pivotação Completa Fatoração LU Fatoração de Cholesky Gauss-Seidel Jacobi Cálculo Numérico – Prof.a Dr.a Camila Nicola Boeri Di Domenico Uma solução para esse sistema de equações consiste de valores para as n incógnitas, tais que quando esses valores são substituídos nas equações, todas elas são satisfeitas simultaneamente. De um modo geral, um sistema de n equações lineares é escrito como: 𝑆𝑛 = { 𝑎11𝑥1 + 𝑎12𝑥2 + 𝑎13𝑥3 +⋯+ 𝑎1𝑛𝑥𝑛 = 𝑏1 𝑎21𝑥1 + 𝑎22𝑥2 + 𝑎23𝑥3 +⋯+ 𝑎2𝑛𝑥𝑛 = 𝑏2 𝑎31𝑥1 + 𝑎32𝑥2 + 𝑎33𝑥3 +⋯+ 𝑎3𝑛𝑥𝑛 = 𝑏3 ⋮ 𝑎𝑛1𝑥1 + 𝑎𝑛2𝑥2 + 𝑎𝑛3𝑥3 +⋯+ 𝑎𝑛𝑛𝑥𝑛 = 𝑏𝑛 Sob a forma matricial, 𝑆𝑛 pode ser escrito como: 𝐴𝑥 = 𝑏 em que: A é a matriz dos coeficientes, quadrada de ordem n; x é o vetor solução, n x 1; b é o vetor dos termos independentes, n x 1. 4.2.3. Classificação de um Sistema Linear A classificação de um sistema linear é feita em função do número de soluções que ele admite: a) Sistema possível ou consistente: É todo sistema que possui pelo menos uma solução. Pode ser: i. Determinado: admite uma única solução; ii. Indeterminado: admite mais de uma solução. b) Sistema Impossível ou Inconsistente: É todo sistema que não admite solução Cálculo Numérico – Prof.a Dr.a Camila Nicola Boeri Di Domenico 4.2.4. Sistemas Triangulares Seja um sistema 𝑆𝑛: 𝐴𝑥 = 𝑏 em que a matriz 𝐴 = (𝑎𝑖𝑗) é tal que 𝑎𝑖𝑗 = 0 se j < i; i, j = 1, 2, ..., n, ou seja: { 𝑎11𝑥1 + 𝑎12𝑥2 + 𝑎13𝑥3 +⋯+ 𝑎1𝑛𝑥𝑛 = 𝑏1 𝑎22𝑥2 + 𝑎23𝑥3 +⋯+ 𝑎2𝑛𝑥𝑛 = 𝑏2 𝑎33𝑥3 +⋯+ 𝑎3𝑛𝑥𝑛 = 𝑏3 ⋮ 𝑎𝑛𝑛𝑥𝑛 = 𝑏𝑛 é chamado triangular superior. Se 𝑎𝑖𝑗 = 0 para j > i; i, j = 1, 2, ..., n, tem-se um sistema triangular inferior. { 𝑎11𝑥1 = 𝑏1 𝑎21𝑥1 + 𝑎22𝑥2 = 𝑏2 𝑎31𝑥1 + 𝑎32𝑥2 + 𝑎33𝑥3 = 𝑏3 ⋮ 𝑎𝑛1𝑥1 + 𝑎𝑛2𝑥2 + 𝑎𝑛3𝑥3 +⋯+ 𝑎𝑛𝑛𝑥𝑛 = 𝑏𝑛 4.2.5. Transformações Elementares Denominam-se transformações elementares às seguintes operações sobre as equações de um sistema linear: a) Trocar a ordem de duas equações do sistema; b) Multiplicar uma equação do sistema por uma constante não-nula; c) Adicionar duas equações do sistema. 4.2.6. Definição Dois sistemas S1 e S2 serão equivalentes se S2 puder ser obtido de S1 através de transformações lineares. Observação: Dois sistemas equivalentes S1 e S2 ou são impossíveis ou têm as mesmas soluções. Cálculo Numérico – Prof.a Dr.a Camila Nicola Boeri Di Domenico 4.3. MÉTODOS ITERATIVOS PARA RESOLUÇÃO DE SISTEMAS DE EQUAÇÕES LINEARES Um método é iterativo quando fornece uma sequência de aproximações da solução, cada uma das quais obtida das anteriores pela repetição do mesmo tipo de processo. A ideia central dos métodos iterativos é generalizar o método do ponto fixo utilizado na busca de raízes de uma equação. 4.3.1. Esquema Iterativo Seja o sistema linear: 𝐴𝑥 = 𝑏 onde: A é a matriz dos coeficientes, quadrada de ordem n; x é o vetor solução (das incógnitas), n x 1; b é o vetor dos termos independentes, n x 1. Este sistema é convertido, de alguma forma, num sistema do tipo: gCxx onde: C: matriz n x n; g: vetor n x 1. Observa-se que: gCxx )( é a função de iteração. Partimos de x(0) (vetor de aproximação inicial) e então construímos consecutivamente os vetores: )( )0()0()1( xgCxx (primeira aproximação) Cálculo Numérico – Prof.a Dr.a Camila Nicola Boeri Di Domenico )( )1()1()2( xgCxx (segunda aproximação), etc. De um modo geral, a aproximação x(k+1) é calculada pela fórmula: ,...1,0)( )()()1( kxgCxx kkk É importante observar que se a sequência de aproximações x(0), x(1),..., x(k), é tal que: )(lim k k x então =C+g, ou seja, é solução do sistema linear Ax=b. 4.3.2. Critérios de Parada O processo iterativo pode ser repetido até que o vetor x(k) esteja suficientemente próximo do vetor x(k-1). Assim, esta distância pode ser medida como: )1()( 1 )( max ki k i ni k xxd Dessa forma, dada uma precisão , o vetor x(k) será escolhido como �̅�, solução aproximada da solução exata, se d(k)< . Podemos, também, efetuar o teste de parada do erro relativo: )( 1 )( )( max ki ni k k r x d d 4.3.3.Método Iterativo de Jacobi A forma como o método de Jacobi transforma o sistema linear Ax =b em x=Cx+g é a seguinte: Dado o sistema original: Cálculo Numérico – Prof.a Dr.a Camila Nicola Boeri Di Domenico { 𝑎11𝑥1 + 𝑎12𝑥2 + 𝑎13𝑥3 +⋯+ 𝑎1𝑛𝑥𝑛 = 𝑏1 𝑎21𝑥1 + 𝑎22𝑥2 + 𝑎23𝑥3 +⋯+ 𝑎2𝑛𝑥𝑛 = 𝑏2 𝑎31𝑥1 + 𝑎32𝑥2 + 𝑎33𝑥3 +⋯+ 𝑎3𝑛𝑥𝑛 = 𝑏3 ⋮ 𝑎𝑛1𝑥1 + 𝑎𝑛2𝑥2 + 𝑎𝑛3𝑥3 +⋯+ 𝑎𝑛𝑛𝑥𝑛 = 𝑏𝑛 (1) e supondo 𝑎𝑖𝑖 ≠ 0, 𝑖 = 1,… , 𝑛, isolamos o vetor x mediante separação pela diagonal, da seguinte maneira: { 𝑥1 = 1 𝑎11 (𝑏1 − 𝑎12𝑥2 − 𝑎13𝑥3 −⋯−𝑎1𝑛𝑥𝑛) 𝑥2 = 1 𝑎22 (𝑏2 − 𝑎 21 𝑥1 − 𝑎23𝑥3 −⋯−𝑎2𝑛𝑥𝑛) ⋮ 𝑥𝑛 = 1 𝑎𝑛𝑛 (𝑏𝑛 − 𝑎 𝑛1 𝑥1 −𝑎𝑛2𝑥2 −⋯− 𝑎𝑛,𝑛−1𝑥𝑛−1) (2) Para que exista o sistema (2) é necessário que 𝑎𝑖𝑖 ≠ 0, ∀ 𝑖. Caso isto não ocorra, é necessário reagrupar as equações de (1). Dessa forma, temos: gCxx em que: 𝑪 = { 𝟎 − 𝒂𝟏𝟐 𝒂𝟏𝟏 − 𝒂𝟏𝟑 𝒂𝟏𝟏 − 𝒂𝟐𝟏 𝒂𝟐𝟐 𝟎 − 𝒂𝟐𝟑 𝒂𝟐𝟐 ⋮ − 𝒂𝒏𝟏 𝒂𝒏𝒏 ⋮ − 𝒂𝒏𝟐 𝒂𝒏𝒏 ⋮ − 𝒂𝒏𝟑 𝒂𝒏𝒏 … − 𝒂𝟏𝒏 𝒂𝟏𝟏 … − 𝒂𝟐𝒏 𝒂𝟐𝟐 ⋮ … ⋮ 𝟎 e 𝒈 = 𝒃𝟏 𝒂𝟏𝟏 𝒃𝟐 𝒂𝟐𝟐 ⋮ 𝒃𝒏 𝒂𝒏𝒏 Cálculo Numérico – Prof.a Dr.a Camila Nicola Boeri Di Domenico O método de Jacobi consiste em, dado 𝒙(𝟎) , aproximação inicial, obter 𝒙(𝟏), … , 𝒙(𝒌) através da relação recursiva: Exemplo: Resolva o sistema a seguir, utilizando o método de Jacobi, com x(0)=[0,0,0]T e =10-2=0,01. Cálculo Numérico – Prof.a Dr.a Camila Nicola Boeri Di Domenico Critérios de aplicabilidade e convergência do método iterativo de Jacobi Teorema (Critério das Linhas): Uma condição suficiente (mas não necessária) para garantir a convergência do método de Gauss-Jacobi aplicado ao sistema Ax=b , com aii≠0, i , é: Neste caso, o método de Gauss-Jacobi gera uma sequência {x(k)} convergente para a solução do sistema dado, independentemente da escolha da aproximação inicial, x(0). Cálculo Numérico – Prof.a Dr.a Camila Nicola Boeri Di Domenico Exemplos: 1) Verificar se o critério das linhas é satisfeito em cada sistema de equações Ax=b, que segue: Solução: 1032 511 1012 Logo, a matriz dos coeficientes A garante a convergência do método de Gauss-Jacobi aplicado a este sistema com esta ordem de equações e incógnitas. Solução: 860 225 113 Logo a matriz dos coeficientes A não garante a convergência do método de Gauss-Jacobi aplicado a este sistema com esta ordem de equações e incógnitas. Mas permutando adequadamente as equações do sistema, obtém-se o sistema equivalente: Cálculo Numérico – Prof.a Dr.a Camila Nicola Boeri Di Domenico 860 311 522 IMPORTANTE: Sempre que o critério de linhas não for satisfeito, devemostentar uma permutação de linhas e/ou colunas de forma a obtermos uma disposição para a qual a matriz de coeficientes satisfaça o critério das linhas Exemplo 2: Resolva o sistema a seguir, utilizando o método de Jacobi, com 𝒙𝟎 = [𝟎, 𝟕 −𝟏, 𝟔 𝟎, 𝟔]𝑻 e 𝜺 = 𝟎, 𝟎𝟓. Cálculo Numérico – Prof.a Dr.a Camila Nicola Boeri Di Domenico 4.3.4.Método Iterativo de Gauss-Seidel Da mesma forma que no método de Jacobi, no método de Gauss-Seidel o sistema linear Ax =b é escrito na forma equivalente x = Cx+g por separação da diagonal. O processo iterativo consiste em, sendo 𝒙(𝟎) uma aproximação inicial, calcular 𝒙(𝟏), 𝒙(𝟐), 𝒙(𝟑), … , 𝒙(𝒌), por: Portanto, no momento de se calcular 𝒙𝒋 (𝒌+𝟏) usamos todos os valores 𝒙𝟏 (𝒌+𝟏), … , 𝒙𝒋−𝟏 (𝒌+𝟏) que já foram calculados e os valores 𝒙𝒋+𝟏 (𝒌), … , 𝒙𝒏 (𝒌) restantes. Exemplo: Resolva o sistema linear abaixo, pelo Método de Gauss-Seidel com 𝒙(𝟎) = 𝟎 𝟎 𝟎 e 𝜺 = 𝟎, 𝟎𝟓: { 𝟓𝒙𝟏 + 𝒙𝟐 + 𝒙𝟑 = 𝟓 𝟑𝒙𝟏 + 𝟒𝒙𝟐 + 𝒙𝟑 = 𝟔 𝟑𝒙𝟏 + 𝟑𝒙𝟐 + 𝟔𝒙𝟑 = 𝟎 Solução: Cálculo Numérico – Prof.a Dr.a Camila Nicola Boeri Di Domenico Critérios de Convergência do Método de Gauss-Seidel Critério de Sassenfeld Cálculo Numérico – Prof.a Dr.a Camila Nicola Boeri Di Domenico Cálculo Numérico – Prof.a Dr.a Camila Nicola Boeri Di Domenico ATIVIDADE COMPUTACIONAL 1) Faz-se sorvete de tal forma que ele contenha uma quantidade desejada de gordura de leite, sólidos não-gordurosos do leite (msnf), água, açúcar, estabilizantes e emulsificadores. Suponha que 10kg de sorvete devam ser feitos de forma a conter 18% de gordura, 15% de sacarose, 0,4% de estabilizantes e 1% de gema de ovos, usando os seguintes ingredientes: creme (contendo 35% de gordura), leite (contendo 3,5% de gordura), leite em pó desnatado (contendo 97% de msnf), sacarose, estabilizante e gema de ovos. Determine quanto de cada ingrediente deve ser usado (em kg). Assuma que 9% da nata do leite contenha msnf (dica: monte um sistema de três equações tendo como incógnitas a quantidade de leite em pó desnatado (x), a quantidade de leite (y) e a quantidade de creme (z) usando (1) o fato de que a soma de todos os componentes deve ter 10kg, (2) escrevendo uma equação para o conteúdo total de msnf e (3) escrevendo uma equação de balanço para a gordura). Lista de Exercícios 5 – Método de Jacobi Lista de Exercícios 6 – Método de Gauss-Seidel
Compartilhar