Iteração de ponto fixo

Fonte: testwiki
Saltar para a navegação Saltar para a pesquisa

Predefinição:Mais notas

Iteração de ponto fixo.

Em análise numérica, iteração de ponto fixo é um método de se calcular pontos fixos de funções. Ponto fixo de dada função f é o número x* que quando aplicado na função resulta nele mesmo, i.e. f(x*)=x*. Dada uma aproximação inicial x0 para x*, o método consiste em iterar sucessivamente a função dada sobre x0. Ou seja, constrói-se a sequência xn+1=fn+1(x0)=fn(f(x0)) sendo cada xn uma nova aproximação do ponto fixo x*. Uma importante aplicação deste método aparece no cálculo numérico de soluções de equações de uma variável real.[1]

Descrição

Ilustração do método.

Seja f:[a,b][a,b] uma função com um único ponto fixo x*[a,b], o qual buscamos determinar. A iteração do ponto fixo consiste em construirmos a sequência recursiva:[1]

xn+1=f(xn),n=0,1,2,,

sendo x0[a,b] uma aproximação inicial de x*. Para certas funções, tem-se que a sequência (xn)n converge para o ponto fixo x*. Por exemplo, o teorema da convergência enunciado abaixo, garante que a convergência do método do ponto fixo para contrações.

Solução de equações

Existem diversas maneiras de usar o método para obter a raiz de uma função f(x). A ideia fundamental é reescrever a equação f(x)=0 em uma equação equivalente da forma:

g(x)=x

i.e., em um problema de ponto fixo. Se g(x) é uma função para a qual o método do ponto fixo converge, então a sequência:

xn+1=g(xn),n=0,1,,

com x0 uma aproximação inicial da solução, converge para o ponto fixo x* da função g. Notemos que o ponto fixo x* é também solução da equação f(x)=0.[1]

Exemplo

Há muitas maneiras de manipular uma equação de forma a utilizar o método do ponto fixo. É importante observar que, apesar da simplicidade do método, este pode não convergir dependendo da função (veja, abaixo, o Teorema da Convergência para condições suficientes de convergência). No seguinte exemplo, buscamos mostrar este fato.

Buscaremos aproximar a solução da equação xex=10 usando o método do ponto fixo. Notemos que essa equação é equivalente a x=10ex e x=ln(10x).

Ao efetuarmos o processo iterativo para a primeira equação, i.e. xn+1=10exn, com x0=1, obtemos a seguinte sequência:

x0=1

x1=10e1=3.6787944

x2=10e3.6787944=0.2525340

x3=10e0.2525340=7.7682979

x4=10e7.7682979=0.0042293

x5=10e0.0042293=9.9577961

E quando realizamos o processo com a outra equação, i.e. xn+1=ln(10xn), e novamente iniciarmos o processo com x0=1, a nova sequência se da por:

x0=1

x1=ln(101)=2.3025851

x2=ln(102.3025851)=1.4685526

x3=ln(101.4685526)=1.9183078

x4=ln(101.9183078)=1.6511417

.

.

.

x10=1.7421335

x20=1.7455151

x30=1.745528

x31=1.745528

O teste realizado com as duas equações indica que, apesar delas serem equivalentes, a primeira não é convergente enquanto a segunda equação converge para o valor de 1.745528 (que é a solução aproximada de xex=10). As condições para que uma equação convirja para o valor de ponto fixo estão contidas no teorema de convergência.

iteração do ponto fixo xn+1=cos(xn) com valor inicial x1=1.

Teorema de convergência

Seja f:[a,b][a,b] uma função contração, i.e. uma função que satisfaça:

|f(x)f(y)|α|xy|,α<1,x,y[a,b].

Então, existe um único ponto x* pertencente ao intervalo [a,b] tal que f(x*)=x*. Além disso, para qualquer x0[a,b], a sequência (xn)n dada por:

xn+1=f(xn),n=0,1,2,,

converge para x* quando n.

Demonstração:

Existência. Caso f(a)=a ou f(b)=b o ponto fixo existe nos extremos. Caso contrário, então f(a)>a e f(b)<b. Neste caso, seja:

h(x)=f(x)x

Como f é uma função contínua, h também é. Notemos que:

h(a)=f(a)a>0 e h(b)=f(b)b<0

ou seja, h troca de sinal no intervalo [a,b]. Logo, pelo Teorema do valor intermediário, garantimos a existência de um ponto x*(a,b) tal que h(x*)=0. Esse valor x* é um ponto fixo de f, uma vez que

h(x*)=f(x*)x*=x*x*=0

Unicidade. Suponhamos que x* e x** sejam pontos fixos distintos de f. Então: |x*x**|=|f(x*)f(x**)|α|x*x**|α1 o que é uma contradição.

Convergência. Seja (xn)n a sequência iterada xn+1=f(xn) com x0[a,b] e x* o ponto fixo de f. Então, temos: |xn+1x*|=|f(xn)f(x*)|α|xnx*|,n=1,2, Isso implica que: |xn+1x*|αn|x1x*|,n=1,2, Como 0α<1, temos que xnx* quando n. Isso completa a demostração.

Observações

  1. A desigualdade estrita α<1 é necessária.
  2. A condição f([a,b])[a,b] é necessária.
  3. Determinar os pontos fixos de uma função f(x) é determinar a interseção entre as curvas y=f(x) e y=x.
  4. A condição |f(x)f(y)|α|xy| é satisfeita sempre que |f(x)|α<1 para todo x, pois:
|f(x)f(y)|=|xyf(s)ds|xyαds=α|xy|,(x<y).

Teste de convergência

Seja f:[a,b] uma função C0[a,b] e x*(a,b) um ponto fixo de f. É dito que x* é um ponto fixo estável caso exista uma região(x*Δx,x*+Δx) chamada de bacia de atração tal que x(n+1)=f(x(n)) é convergente sempre que x(0)(x*Δx,x*+Δx).

Teorema

Se f[a,b] e |f(x*)| < 1, então x* é estável. Se |f(x*)| > 1 é instável e o teste é inconclusivo caso |f(x*)|=1.

Exemplo

Considerando o problema de encontrar a solução da equação cos(x)=x analisando a equação como ponto fixo da função f(x)=cos(x). A demonstração do Teorema do ponto fixo pode ser aplicado na função com o intervalo [a,b]=[1/2,1].

Para provar que f([1/2,1])[1/2,1] basta analisar que f(x) é decrescente no intervalo:

0,54 < cos(1)cos(x)cos(1/2) < 0,88

f([1/2,1])[1/2,1] é verdade pois [0.54,0.88][1/2,1].

Agora para provar |f(x)f(y)|α|xy|,α < 1 observamos que f(x)=sen(x), dessa forma temos a estimativa :

0,85 < sen(1)sen(x)sen(1/2) < 0,47

Assim temos que |f(x)| < 0,85 e dessa forma α=0,85 < 1.

Agora observamos o processo numérico da sequência fazendo x(n+1)=cos(x(n)), iniciando com x(0)=1, obtemos a sequência:

x(1)=cos(x(0))=cos(1)=0,5403023

x(2)=cos(x(1))=cos(0,5403023)=0,8575532

x(3)=cos(x(2))=cos(0,8575532)=0,6542898

x(4)=cos(x(3))=cos(0,6542898)=0,7934804

x(5)=cos(x(4))=cos(0,7934804)=0,7013688

.

.

.

x(11)=cos(x(10))=cos(0,7442374)=0,7356047

x(12)=cos(x(11))=cos(0,7356047)=0,7414251

x(13)=cos(x(12))=cos(0,7414251)=0,7375069

.

.

.

x(41)=cos(x(40))=cos(0,7390852)=0,7390851

x(42)=cos(x(41))=cos(0,7390851)=0,7390851

x(43)=cos(x(42))=cos(0,7390851)=0,7390851

Verificamos que a sequência converge para o ponto fixo x=0,7390851.

Estabilidade e convergência

Consideremos uma função f(x) com um ponto fixo em x*=f(x*) e observamos o processo iterativo:

x(n+1)=f(x(n))

x(0)=x

Sendo possível a função f(x) ser aproximada por seu polinômio de Taylor em torno do seu ponto fixo x*, obteremos:

f(x)=f(x*)+(xx*)f(x*)+O((xx*)2),n0

f(x)=x*+(xx*)f(x*)+O((xx*)2)

f(x)x*+(xx*)f(x*)

Substituindo o polinômio de Taylor da função na relação de recorrência obteremos:

x(n+1)=f(x(n))x*+(xx*)f(x*)

Dessa forma:

(x(n+1)x*)(x(n)x*)f(x*)

Aplicando módulos de ambos os lados, obtemos:

|x(n+1)x*||x(n)x*||f(x*)|

Podemos obter algumas conclusões através desta relação:

  • Se |f(x)| < 1 a distância entre x(n) e o ponto fixo x* está diminuindo a cada passo.
  • Se |f(x)| > 1 a distância entre x(n) e o ponto fixo x* está aumentando a cada passo.
  • Se |f(x)|=1 a aproximação de primeira ordem não é suficiente para comprender o comportamento da sequência.

Erro de truncamento e tolerância

Ao utilizar este método na prática, o valor do ponto fixo x* normalmente não é conhecido. Por conseguinte , o erro € =|x(n)x*| precisa ser calculado tendo como referência os valores obtidos para x(n) . Uma ferramenta frequentemente usada para estudar a evolução da diferença entre dois elementos da sequência é:

Δn=|x(n+1)x(n)|

observando que x*=limnx(n)

x*x(N)=(x(N+1)x(N))+(x(N+2)x(N+1))+(x(N+3)x(N+2))+... =k=0(x(N+k+1)x(N+k))

Usando também as expressões:

x(n+1)x*+(x(n)x*)f(x*)

x(n)x*+(x(n1)x*)f(x*)

Subtraindo uma expressão da outra:

x(n+1)x(n)(x(n)x(n1))f(x*)

Dessa maneira:

x(N+k+1)x(N+k)(x(N+1)x(N))(f(x*))k

E obtemos:

x*x(N)= k=0(x(N+k+1)x(N+k))

x*x(N)k=0(x(N+1)x(N))(f(x*))k

x*x(N)(x(N+1)x(N))(11f(x*)), |f(x*)| < 1

Aplicando o módulo, obtemos:

|x*x(n)||x(N+1)x(N)|(11f(x*))

N (ΔN1f(x*))

Ao analisarmos a relação x(n+1)x(n)(x(n)x(n1))f(x*), podemos concluir:

  • Quando f(x*) < 0 , o esquema é alternante e o erro €N pode ser estimado diretamente da diferença ΔN.
  • Quando f(x*) > 0, o esquema é monótono e (11f(x*)) > 1, pelo que o erro €N é maior que a diferença ΔN. A relação será tão mais importante quanto mais próximo da unidade for f(x*), ou seja, quando mais lenta for a convergência.
  • Como f(x*)(x(n+1)x(n)x(n)x(n1)), temos

|f(x*)|(ΔNΔN1)

E obtemos

N(ΔN1ΔN1)

Obs: Deve-se exigir que ΔN < ΔN1

Ver também

Predefinição:Referências