Método do ponto fixo: Aplicações e Interpretação gráfica

Essa pagina está sobre construção

O Método do Ponto Fixo baseia-se na ideia de encontrar um ponto em que uma função \(g(x)\) seja igual a \(x\), ou seja, encontrar um ponto \(x\) tal que \(g(x) = x\). Este método é particularmente útil quando podemos reformular uma equação \(f(x) = 0\) em uma forma equivalente \(x = g(x)\). A principal vantagem do Método do Ponto Fixo é sua simplicidade de implementação e a intuição geométrica que ele oferece.

A técnica envolve escolher um valor inicial e aplicar iterativamente a função g até que a sequência de valores converja para o ponto fixo. Embora simples, o método requer que a função g satisfaça certas condições de convergência para garantir que o processo leve a um ponto fixo.

Neste artigo, além de explicar a teoria por trás do Método do Ponto Fixo, vamos demonstrar sua implementação em Python. Utilizaremos o Manim para criar animações que ilustram o comportamento iterativo do método, tornando o conceito mais acessível e visualmente intuitivo.

O método do ponto fixo

O Método do Ponto Fixo consiste em reformular um problema de encontrar zeros de uma função \(f(x)=0\) em uma forma equivalente \(g(x)\). Aqui, buscamos um ponto \(x\) onde \(g(x)=x\). Este ponto \(x\) é chamado de ponto fixo da função \(g(x)\). Geometricamente, o ponto fixo é onde o gráfico da função \(g(x)\) intercepta a linha \(y=x\).

Em outras palavras, para esse método precisamos encontra uma função \(g\) tal que podemos reescrever \(f(x)=0\) na forma \(g(x)=x\), vamos ver alguns exemplos abaixo:

  • \(f(x)=x^2 \rightarrow g(x)=x^2+x\)
  • \(f(x)=e^x-x-2 \rightarrow g(x)=e^x-2\)

Vamos analisar o primeiro exemplo, temos \(f(x)=x^2\), ou seja, para \(f(x)=0\), temos \(x^2=0\). Agora vamos encontrar uma função \(g\) tal que \(g(x)=x \leftrightarrow f(x)=0\), nesse caso temos \(g(x)=x^2+x\), pois:


\(g(x)=x \rightarrow x^2+x=x \rightarrow x^2=0 \rightarrow f(x)=0\)


De forma geral podemos escrever as funções \(g\) usando alguns métodos gerais:

  • \(g(x)=x+f(x)\)
  • \(g(x)=x+\alpha f(x), \alpha \in \mathbb{R}\)
  • \(g(x)=\frac{x-f(x)}{f'(x)},f'(x)\neq 0\)
  • etc

A forma que escolhermos para escrever nossa função \(g\) depende da forma da função \(f\).

As interações para o método do ponto fixo seguem de forma recursiva da seguinte forma:


\(x_{n+1}=g(x_n)\)


Onde \(x_1\) é um chute inicial para a aproximação para o ponto fixo. Assim, podemos

Interpretação gráfica da interação do ponto fixo

Vamos analisar graficamente como as interações do método do ponto fixo se aproxima da raiz da função \(f\), para esse caso vamos tomar o segundo exemplo, \(f(x)=e^x-x-2\), e \(g(x)=e^x-2\):

Perceba que no vídeo acima temos um \(x\) inicial como sendo \(x=1\), como discutido mais a cima temos as interações na forma \(x_n=g(x_{n-1})\), dessa forma, observamos graficamente que os \(x_n\) se aproximam do \(x\) de uma das interseções do gráfico da \(g(x)\) com a reta \(y=x\), porem, esse mesmo \(x\) também é raiz da função \(f\) original.

Aplicando o método do ponto fixo

Primeira versão

import numpy as np

def g(x):
    return np.exp(x)-2

def fixedpoint(g,x0,N,tolerance):
    i=0
    while i<N:
        x=g(x0)
        if np.abs(x0-x)<tolerance:
            break
        print(i," interação ",x)
        i+=1
        x0=x
    if(i==N):
        print("Limite de Interaçõs alcançado")
    else:
        print("Ponto encontrado")

print(fixedpoint(g,1,10,0.01))

Referências

[1] JUSTO, D. A. R.; SAUTER, E.; AZEVEDO, F. S. de; GUIDI, L. F.; KONZEN, P. H. de A. Cálculo Numérico. [S. l.: s. n.], 2020. Disponível em: https://www.ufrgs.br/reamat/CalculoNumerico/livro-py/livro-py.pdf.
[2] CUNHA, A. Iteração de Ponto Fixo (Parte I). [S. l.: s. n.], 2020. Disponível em: https://www.youtube.com/watch?v=SK_sak3utLI. Acesso em: 22 jul. 2024.
[3] CODY MATH GARDEN. Python Programming for Fixed Point Iteration. [S. l.: s. n.], 2022. Disponível em: https://www.youtube.com/watch?v=1gPbP4v-HzU. Acesso em: 23 jul. 2024.

Leave a Reply

Your email address will not be published. Required fields are marked *