Prévia do material em texto
INTRODUÇÃO E ZERO DE FUNÇÕES Igor Utzig Picco Introdução e zero de funções Olá aluno (a) Unifacear! Seja bem-vindo (a) à aula de Introdução ao cálculo numérico e obtenção de zero de funções através de métodos iterativos. Nessa aula irei apresentar para vocês os conceitos iniciais do cálculo numérico. Será também apresentado o método da Bissecção, método simples utilizado no cálculo de raízes de equações. O método da Bissecção será utilizado como exemplo para reforçar e clarear os conceitos introdutórios debatidos nessa seção. INTRODUÇÃO A Figura 1 apresenta de maneira resumida as etapas normalmente envolvidas na resolução de um problema. O problema é analisado e um modelo matemático é construído a partir de dados levantados em estudos e observações. Em seguida é utilizado normalmente um método numérico que é implementado computacionalmente e obtém os resultados desejados. Figura 1. Fluxograma de resolução de métodos numéricos. Fonte: Celina, 2018. Introdução e zero de funções O aluno deve estar se perguntando: “Mas por que a implementação computacional de cálculo numérico se contamos com profissionais treinados em resoluções matemáticas?” Isso se deve pois nem todos os problemas podem ser resolvidos de maneira simples e direta, necessitando de abordagens computacionais. Inclusive, a grande maioria dos problemas reais, no mundo físico, químico, da engenharia, da economia, entre outros, são equações não lineares de complicada resolução. Apresento a seguir duas equações. A equação 1 é uma equação cuja resolução é famosa e simples. A equação 2 é uma equação que, provavelmente, você nem saiba como começar a resolver (e nem eu sei). O cálculo numérico foca na resolução de equações similares ao segundo caso, mas não exclusivamente, podendo também resolver equações simples. 𝑥2 − 3𝑥 + 6 = 0 (1) 1 √ln(4𝑥 + 5) + 𝑥4 − 3𝑥3 + 2𝑥 − 41 3 = 0 (2) PROCESSOS ITERATIVOS Para resolver casos em que a equação apresenta alta complexidade, uma solução direta não é possível. Sendo assim, normalmente utilizam-se processos iterativos. Os processos iterativos aplicados ao cálculo numérico são basicamente processos que repetidamente “chutam” valores diferentes para a variável estudada. Existem múltiplas técnicas utilizadas para realizar esses “chutes” e atualizar os valores “chutados” de maneira otimizada conforme o desempenho do método. A ideia básica de um processo iterativo é escolher uma estimativa inicial, estabelecer esse valor como valor de variável (x) e analisar o valor obtido (f(x)). Em seguida o valor de x é constantemente modificado, tendo seu valor estimado através dos resultados entre cada interação. Quando duas interações não modificarem o valor obtido significativamente, o processo iterativo é interrompido. Introdução e zero de funções O aluno já deve perceber a complicação desse processo. Algumas dúvidas podem surgir, como “Como atualizar adequadamente o valor da variável estudada?”, “Como garantir que as estimativas estão indo pelo caminho correto, se aproximando do resultado?”, “Qual método escolher para determinado problema matemático?” Isso é o que será debatido nessa disciplina, não se limitando somente a equações, mas analisando diversos problemas matemáticos, como resolução de sistemas de equações (lineares e não lineares), integração numérica, sistemas de equações diferenciais, estimação de equações e entre outros. ERRO Erro é um conceito essencial no estudo de processos iterativos computacionais. Como o cálculo está sendo feito através de estimativas, o resultado obtido nunca é exato, apresentando sempre uma “imprecisão”. Além disso, existem diversos outros tipos de erros que estão sempre presentes em processos de cálculo numérico. Alguns deles são apresentados a seguir. • Erros inerentes: Durante a obtenção e estimativa do modelo matemático utilizado na resolução de um problema são utilizados informações e valores de medições como dados de entradas. Esses valores normalmente costumam ter imprecisões que resultam em erros no resultado final. Esses erros são inevitáveis. • Erros de arredondamento: Durante diversas etapas do processo matemático ocorrem arredondamentos. Isso acontece por limitações computacionais, automatismo computacional, por truncamento, cancelamento, discretização e até mesmo pela conversão de números do sistema decimal para o binário, no qual a máquina trabalha. • Erro absoluto: O Erro Absoluto é a diferença entre a resposta exata de um problema e sua solução estimada, como apresentado na Equação 3. 𝐸𝐴𝑥 = |𝑥 − 𝑥𝑒𝑠𝑡𝑖𝑚𝑎𝑑𝑜| (3) Introdução e zero de funções • Erro relativo: O Erro Absoluto não é possível de ser calculado, pois na grande maioria das vezes não é possível obter o valor exato. Sendo assim, no cálculo numérico é muito utilizado o Erro Relativo, cujo cálculo é apresentado na equação 4. 𝐸𝑅𝑥 = |𝑥𝑖 − 𝑥𝑖−1| 𝑥𝑖 (4) O erro relativo relaciona o resultado final, obtido na última iteração, com o resultado da iteração anterior. O erro relativo é muito utilizado como critério de parada, que é debatido a seguir. CRITÉRIO/REQUISITO DE PARADA O critério de parada é utilizado como análise da convergência de um método. Ele determina se o método numérico alcançou um resultado final aceitável e se deve parar. Ele pode ser usado para analisar o desempenho do processo durante sua execução, possibilitando a identificação de não convergências. Normalmente o erro relativo é utilizado como critério de parada, sendo ele um indicativo do desempenho do caminho do método. Um método iterativo realiza estimativas, checa se o valor estimado resolve o problema que está sendo estudado e em seguida atualiza a próxima estimativa para melhorar o desempenho da resolução. Como não sabemos o resultado exato, usamos o erro relativo como análise de parada. O que isso significa? Significa que se a atualização do valor da variável é extremamente pequena, o valor obtido já é adequado. Pense comigo, se estamos sempre atualizando o valor visando melhorar o resultado, quando o valor não muda em uma atualização, significa que “não tem como melhorar”, ou seja, o resultado foi obtido. Para isso é usado valores de erros tolerados, bem pequenos, como por exemplo 1*10-6. Ou seja, se ao atualizar o valor da variável, a mudança percentual for menor do que 6 casas decimais, pode-se concluir que o resultado obtido é o adequado. Introdução e zero de funções Esse conceito pode não estar tão claro no momento, mas será abordado com frequência no decorrer do estudo da disciplina, familiarizando o aluno com a utilização do erro relativo como critério de parada. CONVERGÊNCIA E NÃO CONVERGÊNCIA Os conceitos de convergência e não convergência se relacionam com o desempenho do caminho do método numérico. Se a diferença entre as estimativas de cada iteração estão cada vez diminuindo, significa que estamos chegando em um “consenso”. Se o erro relativo observado em casa iteração se reduz, estamos cada vez chegando em um resultado melhor, o que caracteriza uma convergência. Estamos convergindo para um resultado adequado. Caso o erro aumente sucessivamente em cada iteração, significa que os resultados estão piorando a cada iteração, o que caracteriza uma não convergência, ou até uma divergência. Pode-se considerar que estamos cada vez nos afastando de um resultado esperado. Vale a pena ressaltar que é comum que o erro aumente durante uma determinada etapa de um processo iterativo. É possível (e comum) que em algum momento o método iterativo produza erros relativos altos, mas se isso acontece durante muitas iterações consecutivas é um indicativo de má performance. Caso um algoritmo numérico apresente erro relativo alto entre as interações, isso deve acontecersomente durante poucas iterações consecutivas. Isso significa que o método está mapeando diversos resultados que não estão se adequando, mas logo deve encontrar uma área com melhores resultados. CÁLCULO DE RAÍZES - MÉTODO DA BISSECÇÃO Agora iremos abordar o método mais básico de obtenção de raízes de funções: o método da bissecção. O método da bissecção é um método intervalar que atualiza constantemente o valor de um intervalo, buscando sempre garantir que a raiz da equação se encontra no intervalo delimitado. Quando o valor do intervalo for extremamente pequeno, pode-se considerar que o resultado final foi obtido. Um ponto que vale ressaltar é que em métodos intervalares, não é obtido um valor único como resultado, mas invés disso, se obtém um intervalo em que se tem certeza de Introdução e zero de funções que contenha a raiz. Sendo assim, é comum considerar que o ponto médio do intervalo resultante seja a solução da função analisada. O método da bissecção consiste em escolher um intervalo de valores de x em que sabemos que a raiz de f(x) se encontra. Para iniciar a aplicação do método da bissecção em uma equação, são necessários alguns requisitos: 1. A função f(x) a ser analisada é contínua e não tangencial; 2. A equação possui uma solução (há um valor de x que satisfaça f(x)=0); 3. A solução da função se encontra no intervalo inicial [a,b]. Analisando se o intervalo [a,b] contém a solução da função. Na Figura 2 temos uma função y=f(x) contínua delimitada pelo intervalo [a,b]. Para analisarmos se um intervalo apresenta a solução, podemos analisar os valores da função nos extremos do intervalo. As inequações apresentadas na Equação 5 são usadas para analisar se determinado intervalo apresenta a solução de uma função em seu interior. Figura 2. Função contínua delimitada pelo intervalo [a,b]. Fonte: Sperandio, Mendes e Silva, 2014. 𝑓(𝑎) ∗ 𝑓(𝑏) < 0 ∶ 𝐴 𝑟𝑎𝑖𝑧 𝑑𝑎 𝑒𝑞𝑢𝑎çã𝑜 𝑠𝑒 𝑒𝑛𝑐𝑜𝑛𝑡𝑟𝑎 𝑛𝑜 𝑖𝑛𝑡𝑒𝑟𝑣𝑎𝑙𝑜 [𝑎, 𝑏] 𝑓(𝑎) ∗ 𝑓(𝑏) > 0 ∶ 𝐴 𝑟𝑎𝑖𝑧 𝑑𝑎 𝑒𝑞𝑢𝑎çã𝑜 𝑛ã𝑜 𝑠𝑒 𝑒𝑛𝑐𝑜𝑛𝑡𝑟𝑎 𝑛𝑜 𝑖𝑛𝑡𝑒𝑟𝑣𝑎𝑙𝑜 [𝑎, 𝑏] (5) Para comprovar isso iremos analisar a função apresentada na Figura 3 a seguir. Introdução e zero de funções Figura 3. Função y estudada. Fonte: Celina, 2018. É possível observar que a solução da função se encontra no intervalo [1,2]. Isso pode ser comprovado através de: 𝑓(1)𝑓(2) = 3 ∗ (−1) = −3 → −3 < 0 ∶ 𝐴 𝑟𝑎í𝑧 𝑠𝑒 𝑒𝑛𝑐𝑜𝑛𝑡𝑟𝑎 𝑛𝑜 𝑖𝑛𝑡𝑒𝑟𝑣𝑎𝑙𝑜 [1,2] Analisando outro intervalo, que não contém a raiz: 𝑓(2)𝑓(3) = (−1) ∗ (−2) = 2 → 2 > 0 ∶ 𝐴 𝑟𝑎í𝑧 𝑛ã𝑜 𝑠𝑒 𝑒𝑛𝑐𝑜𝑛𝑡𝑟𝑎 𝑛𝑜 𝑖𝑛𝑡𝑒𝑟𝑣𝑎𝑙𝑜 [2,3] Isso ocorre, pois, ao cruzar pela raiz, a função passa de um valor positivo para negativo, como ocorre na função apresentada na Figura 3, ou a função passa de um valor negativo para um valor positivo, como observado na Figura 2. Ou seja, sempre que a função analisada passa pela raiz, há a inversão de sinal dos valores da função. MÉTODO DA BISSECÇÃO Introdução e zero de funções O método consiste em constantemente dividir um intervalo em 2 e analisar em qual dos dois subintervalos resultantes a raiz se encontra. Sendo assim, cria-se um ponto médio do intervalo e analisa-se o valor da função no ponto. A Equação 6 apresenta a obtenção do ponto médio de um intervalo delimitado por a e b. 𝑥𝑚é𝑑𝑖𝑜 = 𝑎 + 𝑏 2 (6) Após obter o ponto médio que fica entre os valores superiores e inferiores do intervalo, analisa-se em qual subintervalo a solução da equação se encontra. (𝑎) ∗ 𝑓(𝑥𝑚é𝑑𝑖𝑜) < 0 ∶ 𝐴 𝑟𝑎𝑖𝑧 𝑑𝑎 𝑒𝑞𝑢𝑎çã𝑜 𝑠𝑒 𝑒𝑛𝑐𝑜𝑛𝑡𝑟𝑎 𝑛𝑜 𝑖𝑛𝑡𝑒𝑟𝑣𝑎𝑙𝑜 [𝑎, 𝑥𝑚é𝑑𝑖𝑜] 𝑓(𝑥𝑚é𝑑𝑖𝑜) ∗ 𝑓(𝑏) < 0 ∶ 𝐴 𝑟𝑎𝑖𝑧 𝑑𝑎 𝑒𝑞𝑢𝑎çã𝑜 𝑠𝑒 𝑒𝑛𝑐𝑜𝑛𝑡𝑟𝑎 𝑛𝑜 𝑖𝑛𝑡𝑒𝑟𝑣𝑎𝑙𝑜 [𝑥𝑚é𝑑𝑖𝑜 , 𝑏] Caso 𝑓(𝑎) ∗ 𝑓(𝑥𝑚é𝑑𝑖𝑜) < 0, o valor de b é modificado para 𝑥𝑚é𝑑𝑖𝑜. Caso 𝑓(𝑥𝑚é𝑑𝑖𝑜) ∗ 𝑓(𝑏) < 0 o valor de a é modificado para 𝑥𝑚é𝑑𝑖𝑜. Sendo assim, o intervalo [a,b] é modificado para [𝑎, 𝑥𝑚é𝑑𝑖𝑜] ou [𝑥𝑚é𝑑𝑖𝑜 , 𝑏]. Esse processo é realizado repetidamente até que o tamanho do intervalo seja pequeno o suficiente para cumprir o requisito de parada. ALGORITMO DO MÉTODO DA BISSECÇÃO O seguinte algoritmo descreve os passos realizados no método numérico da Bissecção. 1. Escolher o primeiro intervalo [a,b] em que existe uma solução da raiz (𝑓(𝑎) ∗ 𝑓(𝑏) < 0). Pode-se utilizar um gráfico de f(x) para o auxílio da obtenção de um intervalo inicial otimizado. Defina i=0. Defina o critério de parada através de um erro aceitável ε. 2. Obtém-se o ponto médio do intervalo [𝑎, 𝑏]𝑖 através da Equação 6. 𝑥𝑚é𝑑𝑖𝑜 = 𝑎 + 𝑏 2 Introdução e zero de funções 3. Determine se a solução da função estudada se encontra entre para [𝑎, 𝑥𝑚é𝑑𝑖𝑜] ou [𝑥𝑚é𝑑𝑖𝑜 , 𝑏]. 4. Substitua a ou b por 𝑥𝑚é𝑑𝑖𝑜 , incremente o valor de i e atualize o valor do novo intervalo [𝑎, 𝑏]𝑖. 5. Repita os passos 2 a 4 até que o tamanho do intervalo seja menor que ε, ou seja, repita até que a inequação apresentada na Equação 7 seja válida. Lembrando que 𝑥𝑖 pode ser o ponto médio do intervalo obtido. |𝑥𝑖 − 𝑥𝑖−1| 𝑥𝑖 < ε (7) Exemplo de resolução através do Método da Bissecção Aqui iremos resolver uma equação através do método da Bissecção. Iremos resolver a função apresentada na Figura 3. 𝑓(𝑥) = 24−𝑥 − 5 = 0 Através da análise da Figura 3, é possível observar que a solução da função se encontra entre 1 e 2, sendo assim, teremos como intervalo inicial [1,2], ou seja, a=1 e b=2. Realizamos a conferência: 𝑓(𝑎) ∗ 𝑓(𝑏) → 𝑓(1) ∗ 𝑓(2) → 3 ∗ (−1) < 0 ∶ 𝐴 𝑟𝑎í𝑧 𝑠𝑒 𝑒𝑛𝑐𝑜𝑛𝑡𝑟𝑎 𝑒𝑛𝑡𝑟𝑒 [1,2] Definimos a tolerância como 0,02 para fins didáticos. ε = 0,02 Temos então o intervalo da primeira iteração i=0: [𝑎, 𝑏]𝑖=0 = [1,2] Introdução e zero de funções 𝑥𝑚é𝑑𝑖𝑜 = 1 + 2 2 = 1,5 𝑓(1) = 3 ; 𝑓(2) = −1 𝑓(1,5) = 0,6568 Analisando os subintervalos: 𝑓(𝑎) ∗ 𝑓(𝑥𝑚é𝑑𝑖𝑜) = 𝑓(1) ∗ 𝑓(1,5) > 0 ∶ 𝐴 𝑟𝑎í𝑧 𝑛ã𝑜 𝑠𝑒 𝑒𝑛𝑐𝑜𝑛𝑡𝑟𝑎 𝑒𝑛𝑡𝑟𝑒 [1 , 1.5] 𝑓(𝑥𝑚é𝑑𝑖𝑜) ∗ 𝑓(𝑏) = 𝑓(1,5) ∗ 𝑓(2) < 0 ∶ 𝐴 𝑟𝑎í𝑧 𝑠𝑒 𝑒𝑛𝑐𝑜𝑛𝑡𝑟𝑎 𝑒𝑛𝑡𝑟𝑒 [1.5 , 2] Atualizamos o intervalo para [1.5 , 2]. Incrementamos i. 𝑥𝑖=1 = 1,75 Iteração i=1 [𝑎, 𝑏]𝑖=1 = [1.5 , 2] 𝑥𝑚é𝑑𝑖𝑜 = 1.5 + 2 2 = 1,75 𝑓(1.5) = 0,6568 ; 𝑓(2) = −1 𝑓(1,75) = −0,2432 Analisando os subintervalos: 𝑓(𝑎) ∗ 𝑓(𝑥𝑚é𝑑𝑖𝑜) = 𝑓(1,5) ∗ 𝑓(1,75) < 0 ∶ 𝑨 𝒓𝒂í𝒛 𝒔𝒆 𝒆𝒏𝒄𝒐𝒏𝒕𝒓𝒂 𝒆𝒏𝒕𝒓𝒆 [𝟏, 𝟓 , 𝟏. 𝟕𝟓] 𝑓(𝑥𝑚é𝑑𝑖𝑜) ∗ 𝑓(𝑏) = 𝑓(1,75) ∗ 𝑓(2) > 0 ∶ 𝐴 𝑟𝑎í𝑧 𝑛ã𝑜 𝑠𝑒 𝑒𝑛𝑐𝑜𝑛𝑡𝑟𝑎 𝑒𝑛𝑡𝑟𝑒 [1.75 , 2] Atualizamos o intervalo para [1.5 , 1,75]. Incrementamos i. 𝑥𝑖=2 = 1,625 |𝑥𝑖 − 𝑥𝑖−1| 𝑥𝑖 = |1,625 − 1,75| 1,625 = 0,0769 > ε → 𝑜 𝑝𝑟𝑜𝑐𝑒𝑠𝑠𝑜 𝑐𝑜𝑛𝑡𝑖𝑛𝑢𝑎 Introdução e zero de funções Iteração i=2 [𝑎, 𝑏]𝑖=2 = [1.5 , 1.75] 𝑥𝑚é𝑑𝑖𝑜 = 1.5 + 1,75 2 = 1,625 𝑓(1.5) = 0,6568 ; 𝑓(1,75) = −0,2432 𝑓(1,625) = 0,1874 Analisando os subintervalos: 𝑓(1,5) ∗ 𝑓(1,625) > 0 ∶ 𝐴 𝑟𝑎𝑖𝑧 𝑛ã𝑜 𝑠𝑒 𝑒𝑛𝑐𝑜𝑛𝑡𝑟𝑎 𝑒𝑛𝑡𝑟𝑒 [1,5 , 1.75] 𝑓(1,625) ∗ 𝑓(1,75) < 0 ∶ 𝑨 𝒓𝒂𝒊𝒛 𝒔𝒆 𝒆𝒏𝒄𝒐𝒏𝒕𝒓𝒂 𝒆𝒏𝒕𝒓𝒆 [𝟏. 𝟔𝟐𝟓, 𝟏. 𝟕𝟓] Atualizamos o intervalo para [1.625 , 1,75]. Incrementamos i. 𝑥𝑖=2 = 1,6875 |𝑥𝑖 − 𝑥𝑖−1| 𝑥𝑖 = |1,6875 − 1,625| 1,6875 = 0,0370 > ε → 𝑜 𝑝𝑟𝑜𝑐𝑒𝑠𝑠𝑜 𝑐𝑜𝑛𝑡𝑖𝑛𝑢𝑎 Iteração i=3 [𝑎, 𝑏]𝑖=2 = [1.625 , 1.75] 𝑥𝑚é𝑑𝑖𝑜 = 1.625 + 1,75 2 = 1,6875 𝑓(1,625) = 0,1874 ; 𝑓(1,75) = −0,2432 𝑓(1,6875) = −0,032 Analisando os subintervalos: 𝑓(1,625) ∗ 𝑓(1,6875) < 0 ∶ 𝑨 𝒓𝒂í𝒛 𝒔𝒆 𝒆𝒏𝒄𝒐𝒏𝒕𝒓𝒂 𝒆𝒏𝒕𝒓𝒆 [𝟏, 𝟔𝟐𝟓 , 𝟏, 𝟔𝟖𝟕𝟓] 𝑓(1,6875) ∗ 𝑓(1,75) > 0 ∶ 𝐴 𝑟𝑎í𝑧 𝑛ã𝑜 𝑠𝑒 𝑒𝑛𝑐𝑜𝑛𝑡𝑟𝑎𝑒𝑛𝑡𝑟𝑒 [1,6875, 1.75] Atualizamos o intervalo para [1.625 , 1,6875]. Incrementamos i. Introdução e zero de funções 𝑥𝑖=2 = 1.6562 |𝑥𝑖 − 𝑥𝑖−1| 𝑥𝑖 = |1.6562 − 1,6875| 1.6562 = 0,0189 < ε → 𝑜 𝑝𝑟𝑜𝑐𝑒𝑠𝑠𝑜 𝑒𝑛𝑐𝑒𝑟𝑟𝑎. Como o critério de parada foi alcançado, o processo foi encerrado. Foi definido um erro aceitado alto visando não entender muito esse exemplo. Como nosso último intervalo obtido foi [1.625 , 1,6875], podemos ter nosso x estimado como o valor médio, ou seja: 𝑥𝑒𝑠𝑡𝑖𝑚𝑎𝑑𝑜 = 1.6562 𝑓(𝑥𝑒𝑠𝑡𝑖𝑚𝑎𝑑𝑜) = 𝑓(1.6562) = 0,0764 CARACTERÍSTICAS, DEFEITOS E MELHORIA DO MÉTODO DA BISSECÇÃO Como já comentado, o método da Bissecção é um método intervalar que obtém o intervalo em que se tem certeza de que se encontra a raiz. O método da bissecção pode levar a resultados falsos caso a função a ser estudada tenha multiplicas soluções. Dependendo do intervalo inicial de análise o método pode encaminhar para uma raiz local. Para encontrar todas as raízes é necessário um estudo gráfico prévio que permita a identificação dos intervalos iniciais para cada raiz. A Figura 4 apresenta uma curva que contém 3 soluções. Se iniciarmos o estudo considerando o intervalo [2,9], não sabemos qual raiz será encontrada. O recomendado seria realizar o estudo em 3 intervalos diferentes, como por exemplo [2,3], [5,6] e [6,8]. Isso reflete uma característica do método da Bissecção: a necessidade de uma análise gráfica preliminar. Figura 4. Curva de terceiro grau Introdução e zero de funções Fonte: Unesp, 1989. Outras características do método da Bissecção são: baixa velocidade, aplicação somente para funções contínuas e que cruzam o eixo x, não funcionando para funções com descontinuidades no intervalo analisado e funções tangenciais. RESUMO Nesse capítulo foi realizado uma introdução ao estudo do cálculo numérico, citando sua motivação e algumas características básicas encontradas em todos os métodos numéricos. Foi apresentado o método da Bissecção e um exemplo de sua resolução, fornecendo uma maior clareza para o aluno sobre o funcionamento de um processo iterativo. Introdução e zero de funções REFERÊNCIAS BIBLIOGRÁFICAS SPERANDIO, D.; MENDES, J. T.; E SILVA, L. H. M. Cálculo numérico. 2° edição São Paulo. Pearson, 2014. CELINA, J. Cálculo Numérico. Curitiba, Intersaberes, 2018. CHAPRA, S. C.; CANALE, R. P. Métodos numéricos para engenharia. McGraw-Hill, 2008.