| | | |

Matemática numérica I

Ajude a manter o site livre, gratuito e sem propagandas. Colabore!

2.3 Iteração de ponto fixo

Um ponto fixo de uma função g é um ponto x tal que

g⁢(x)=x. (2.48)

Geometricamente, pontos fixos são interseções do gráfico da g com a reta y=x. Consultemos a Figura 2.4.

Refer to caption
Figura 2.4: Exemplos de pontos fixos.

Observamos que toda equação de uma incógnita pode ser reescrita de forma equivalente como um problema de ponto fixo.

Exemplo 2.3.1.

Consideremos o problema de resolver

sen2⁡(x+π4)=x3−π4⁢x2 (2.49)
−5⁢π216⁢x−3⁢π364. (2.50)

Podemos reescrevê-la como o problema de se obter os zeros da seguinte função

f⁢(x)=sen2⁡(x+π4)−x3 (2.51)
+π4⁢x2+5⁢π216⁢x+3⁢π364. (2.52)

Por sua vez, este problema é equivalente aos seguintes problemas de ponto fixo (entre outros):

  1. a)

    g1(x)=165⁢π2[−sen2(x+π4)+x3 (2.53)
    −π4x2−3⁢π364]=x. (2.54)
  2. b)

    g2(x)=[sen2(x+π4)+π4x2 (2.55)
    +5⁢π216x+3⁢π364]13=x (2.56)

Na Figura 2.5 podemos observar que os zeros da f (a saber, x1=3⁢π/4≈2.3562 e x2=x3=−π/4≈−0.78540) coincidem com os pontos fixos das funções g1 e g2.

Refer to caption
Figura 2.5: Funções f, g1 e g2 do Exemplo 2.3.1.

Em muitos casos, é possível obter aproximações de um ponto fixo de uma dada função g pela chamada iteração de ponto fixo:

x(0)=aprox. inicial, (2.57)
x(k+1)=g⁢(x(k)), (2.58)

com k=0,1,2,….

Exemplo 2.3.2.

Vamos estudar as seguintes iterações de ponto fixo com as funções g⁢1 e g2 consideradas no Exemplo 2.3.1.

  1. a)

    Função g1 com x(0)=0.7.

    x(0)=−0.70000, (2.59)
    x(1)=g1⁢(x(0)) (2.60)
    =−0.70959, (2.61)
    x(2)=g1⁢(x(1)) (2.62)
    =−0.71716, (2.63)
    ⋮
    x(99)=g1⁢(x(98)) (2.64)
    =−0.77862, (2.65)
    ⋮
    x(999)=g1⁢(x(998)) (2.66)
    =−0.78466, (2.67)
    ⋮
    x(19999)=g1⁢(x(19998)) (2.68)
    =−0.78536. (2.69)

    Neste caso as iterações de ponto fixo convergem (lentamente) para o ponto fixo x=−π/4≈−0.78540.

  2. b)

    Função g⁢1 com x(0)=2.5.

    Este valor inicial está próximo do ponto fixo x=3⁢π/4≈2.3562, entretanto as iterações de ponto fixo divergem:

    x(0)=2.50000, (2.70)
    x(1)=g1⁢(x(0)) (2.71)
    =2.9966, (2.72)
    x(2)=5.8509, (2.73)
    ⋮
    x(7)=4.8921×10121. (2.74)
  3. c)

    Função g2 com x(0)=2.5. Neste caso, as iterações de ponto fixo convergem (rapidamente) para o ponto fixo próximo:

    x(0)=2.50000, (2.75)
    x(1)=g2⁢(x(0)) (2.76)
    =2.4155, (2.77)
    x(2)=2.3805, (2.78)
    ⋮ (2.79)
    x(9)=2.3562. (2.80)

Este último exemplo mostra que a iteração do ponto fixo nem sempre é convergente. Antes de vermos condições suficientes para a convergência, vejamos sua interpretação geométrica.

2.3.1 Interpretação geométrica

A Figura 2.6 apresenta o caso de uma iteração de ponto fixo convergente. As iterações iniciam-se no ponto x(0) e seguem para x(1)=g⁢(x(0)) e x(2)=g⁢(x(1)).

Refer to caption
Figura 2.6: Interpretação geométrica da iteração de ponto fixo.

2.3.2 Análise numérica

O seguinte teorema nos fornece condições suficientes para a convergência das iterações de ponto fixo.

Teorema 2.3.1.(Teorema do ponto fixo)

Consideremos uma função g continuamente diferenciável que satisfaz ambas as seguintes condições

  1. a)

    g⁢([a,b])⊂[a,b],

  2. b)

    |g′⁢(x)|≤K<1 para todo x∈[a,b].

Então, g tem um único ponto fixo x∗∈[a,b] e as iterações

x(k+1)=g⁢(x(k)),k=0,1,2,…, (2.81)

convergem para x∗, para qualquer escolha de x(0)∈[a,b].

Demonstração.

Da hipótese b), temos que g é uma contração com

|g⁢(x)−g⁢(y)|≤K⋅|x−y|, (2.82)

para quaisquer x,y∈[a,b]. Com isso, da hipótese a) e tomando x(0)∈[a,b], temos

|x(k+1)−x(k)|=|g⁢(x(k))−g⁢(x(k−1))| (2.83)
≤K|x(k)−x(k−1)| (2.84)
⋮
≤Kk−1|x(2)−x(1)|, (2.85)

para k=1,2,…. Como K<1, temos |x(k+1)−x(k)|→0 quando k→∞ e, portanto, x(k) converge para algum x∗∈[a,b].

De fato, x∗ é ponto fixo de g, pois da continuidade da g, temos

x∗=limk→∞x(k+1) (2.86)
=limk→∞g(x(k))=g(x∗). (2.87)

Por fim, x∗ é único, pois assumindo a existência de outro ponto fixo x∗∗≠x∗ teríamos

|x∗−x∗∗|=|g⁢(x∗)−g⁢(x∗∗)| (2.88)
≤K|x∗−x∗∗| (2.89)
<|x∗−x∗∗|. (2.90)

∎

Observação 2.3.1.(Ordem de convergência)

A iteração de ponto fixo tem ordem de convergência linear

|x(k+1)−x(k)|<K⁢|x(k)−x(k−1)|𝟏, (2.91)

onde 0<K<1 é a constante dada na hipótese b) do Teorema do Ponto Fixo. Além disso, isso mostra que quanto menor o valor da constante K, mais rápida é a convergência das iterações de ponto fixo.

2.3.3 Zero de funções

Dado um problema de encontrar um zero de uma função f (i.e., resolver f⁢(x)=0), podemos construir uma função g com ponto fixo no zero de f e aplicarmos a iteração de ponto fixo para computá-lo. Para tanto, observamos que

f⁢(x)=0 (2.92)
x−α⁢f⁢(x)⏟=⁣:g⁢(x)=x, (2.93)

com α∈ℝ escolhido de forma a satisfazer as hipóteses do teorema do ponto fixo (Teorema 2.3.1).

Exemplo 2.3.3.

Retornamos ao problema de encontrar o zero da função

f⁢(x)=sen2⁡(x+π4)−x3 (2.94)
+π4⁢x2+5⁢π216⁢x+3⁢π364. (2.95)

no intervalo [2,3]. Para construir uma função g para a iteração de ponto fixo neste intervalo, podemos tomar

g⁢(x)=x−α⁢f⁢(x), (2.96)

com α=−0.1. A Figura 2.7 mostra esboços dos gráficos de g e |g′| no intervalos [2,3] e podemos observar que esta escolha de α faz com que a g satisfaça o Teorema do Ponto Fixo.

Refer to caption
Figura 2.7: Gráficos de g e |g′| discutidas no Exemplo 2.3.3.

Então, fazendo as iterações de ponto fixo com aproximação inicial x(0)=2.6, obtemos os resultados apresentados na Tabela 2.6.

Tabela 2.6: Resultados referentes ao Exemplo 2.3.3.
k x(k) |x(k)−x(k−1)|
0 2.6000 -x-
1 2.3264 2.7⁢e−1
2 2.3553 2.9⁢e−2
3 2.3562 8.4⁢e−4
4 2.3562 1.1⁢e−5
1import numpy as np
2
3# fun obj
4f = lambda x: np.sin(x+np.pi/4)**2 \
5 - x**3 + np.pi/4*x**2 + 5*np.pi**2/16*x \
6 + 3*np.pi**3/64
7
8# param
9alpha = -0.1
10# fun pto fixo
11g = lambda x: x - alpha*f(x)
12
13# aprox inicial
14x0 = 2.6
15print(f'\n{1}: {x0:.4f}')
16for k in range(4):
17 x = g(x0)
18 nd = np.fabs(x-x0)
19 print(f'{k+1}: {x:.4f}, {nd:.1e}')
20 x0 = x

2.3.4 Exercícios

E. 2.3.1.

Forneça o(s) ponto(s) fixo(s) de

g⁢(x)=x2⁢e−x2. (2.97)

x=0

E. 2.3.2.

Verifique se a iteração de ponto fixo é convergente para as seguintes funções e aproximações iniciais:

  1. a)

    g1⁢(x)=cos⁡(x), x(1)=0.5

  2. b)

    g2⁢(x)=x2, x(1)=1.01

Justifique sua resposta.


a) Convergente; b) Divergente.

E. 2.3.3.

Considere o problema de computar uma aproximação do zero de f⁢(x)=x−cos⁡(x). Resolva-o aplicando a iteração de ponto fixo para a função auxiliar

g⁢(x)=x−α⁢f⁢(x), (2.98)

restrita ao intervalo [a,b]=[0.5,1] com aproximação inicial x(0)=(a+b)/2. Escolha o melhor valor de α entre os seguintes:

  1. 1.

    α=1

  2. 2.

    α=0.5

  3. 3.

    α=−0.5

  4. 4.

    α=0.6

Então, compute uma aproximação do zero de f com 5 dígitos significativos de precisão.


α=0.6; 7.3909⁢e−1

E. 2.3.4.

Seja

f⁢(x)=sen2⁡(x+π4)−x3 (2.99)
+π4⁢x2+5⁢π216⁢x+3⁢π364. (2.100)
  1. a)

    Aplique a iteração de ponto fixo na função auxiliar

    g⁢(x)=x−α⁢f⁢(x) (2.101)

    para algum α adequado, de forma que aproximação inicial x(0)=−0.5 leve a iterações de ponto fixo que convirjam para x∗=−π/4, zero de multiplicidade par de f.

  2. b)

    Mostre que g′⁢(x∗)=1 para qualquer valor de α. Por que isso explica a lenta convergência observada no item a)?

  3. c)

    Alternativamente, verifique que a abordagem da iteração de ponto fixo converge muito mais rápido para x∗ se aplicada à derivada de f, i.e. aplicando a iteração à função auxiliar

    h⁢(x)=x−α⁢f′⁢(x), (2.102)

    para um valor de α adequado.


a) α=0.25; b) Pois, não há α que satisfaz o Teorema do Ponto Fixo.; c) α=0.1

E. 2.3.5.

Use o Método da Iteração de Ponto Fixo para aproximar um zero de

f⁢(x)=x3⁢sen⁡(x)−cos⁡(x) (2.103)

no intervalo inicial [0.5,1].

E. 2.3.6.

Use o Método da Iteração de Ponto Fixo para computar a(s) solução(ões) das seguintes equações com precisão de 8 dígitos significativos.

  1. a)

    x=2−x para 0≤x≤2.

  2. b)

    e−x2=3⁢x−x2 para −1≤x≤4.


a) 6.4118574⁢e−1; b) 3.3536470⁢e−1; 2.9999589

E. 2.3.7.

Use o Método de Iteração de Ponto Fixo para encontrar uma aproximação com precisão de 4 dígitos significativos do zero de

f⁢(x)=(−x2+1.154⁢x−0.332929)⁢cos⁡(x)+x2
−1.154⁢x+0.332929 (2.104)

no intervalo [−1,0].


−7.861⁢e−1

E. 2.3.8.

Use o Método de Iteração de Ponto Fixo para encontrar uma aproximação com precisão de 10−4 do zero de

f⁢(x)=(−x2+1.154⁢x−0.332929)⁢cos⁡(x)+x2
−1.154⁢x+0.332929 (2.105)

no intervalo (0.55,0.65). Forneça a aproximação computada com 7 dígitos significativos por arredondamento.


5.770508⁢e−1

E. 2.3.9.

Use o Método da Iteração de Ponto Fixo para encontrar o ponto crítico999Definimos que x é ponto crítico de uma dada f, quando f′⁢(x)=0 ou ∄⁢f′⁢(x). de

f⁢(x)=(1−x2)⁢e−x2 (2.106)

no intervalo (0,2). Obtenha o resultado com precisão de 5 dígitos significativos por arredondamento.


Envie seu comentário

Aproveito para agradecer a todas/os que de forma assídua ou esporádica contribuem enviando correções, sugestões e críticas!

Opcional. Preencha seu nome para que eu possa lhe contatar.
Opcional. Preencha seu e-mail para que eu possa lhe contatar.
As informações preenchidas são enviadas por e-mail para o desenvolvedor do site e tratadas de forma privada. Consulte a política de uso de dados para mais informações.

Licença Creative Commons
Este texto é disponibilizado nos termos da Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional. Ícones e elementos gráficos podem estar sujeitos a condições adicionais.

Pedro H A Konzen
| | | |