Método Iterativo Simples. Condições de convergência...
Transcript of Método Iterativo Simples. Condições de convergência...
1
Análise Numérica - Métodos iterativos57
Método Iterativo Simples.(Método do ponto fixo)
Fórmula de recorrência:
)(0)( xxxf ϕ=⇔=
)( Dado
10
nn xxx
ϕ=+
Análise Numérica - Métodos iterativos58
Converge se ( ) 1<′ xϕ
y = x
y = ϕ (x)
x0
xx2 x1X1X0
y = x
y = ϕ (x)
x0xx2x3x1
Análise Numérica - Métodos iterativos59
Diverge se ( ) 1>′ xϕ
y = xy =ϕ(x)
x x0 x2x1
y = xy =ϕ(x)
x1 x2 x3x x0
Análise Numérica - Métodos iterativos60
Condições de convergência
Nas proximidades da raiz.
E no intervalo que contem a raiz?
Análise Numérica - Métodos iterativos61
Condições suficientes de convergência (Teorema)
f ,ϕ e ϕ′ contínuas em I
e x é o único zero de f(x)∈[a,b].
( ) 1max <′=∈
xqIxϕ
( ) xxx nn →=+ ϕ1 [ ] Ibax ⊆∈∀ ,0
Análise Numérica - Métodos iterativos62
Condições suficientes de convergência
Demonstração
( ) ( )nn xxxx ϕϕ −=− +1
( ) ( ) ( ) Ixxxx nn ⊂∈−⋅′= ,ξξϕ
( )nn xxxx
ϕϕ
==
+1
)(
( ) nn xxxx −⋅′=− + ξϕ1 nxxq −≤
2
Análise Numérica - Métodos iterativos63
Raiz única de x=ϕ(x)
Redução ao absurdo∃ x1, x2 ∈[a, b] ⊂ I: x1=ϕ(x1) e x2=ϕ(x2)
x1–x2=ϕ(x1)-ϕ(x2)
x1–x2=ϕ′(η)⋅(x1–x2)
(x1–x2)⋅(1-ϕ′(η))=0
onde η∈( x1, x2) ⊂ I ∴ ϕ′(η) ≠ 1
x1≡x2.
Análise Numérica - Métodos iterativos64
Qual é o intervalo I?
se ϕ([a, b])⊂[a, b]se 1 > ϕ′(x) > 0se -1 < ϕ′(x) < 0
( ) Ixx n ⊂∈ ,ξI≡[a, b]I≡[a, b]I≡[a-(b-a), b+(b-a)]
a b≡xo x b+(b-a)x1
x≡xo
x1
a-(b-a)
Análise Numérica - Métodos iterativos65
Estimativa do erro
Quantas iterações?∆xn ≤ qn⋅∆x0
11 −−−
≤− nnn xxq
qxx
011xx
qqxx
n
n −−
≤−
Análise Numérica - Métodos iterativos66
Ordem do método
Se ϕ′(x) =…= ϕ(k-1)(x) = 0 e ϕ(k)(x) ≠ 0
( )xx
x
n
n
nϕ′=
∆∆ +
∞→
1lim
( ) ( ) ( )( ) ( )nnk
nnn xxkxxxxxx ,!11 ∈
∆=−=−=∆ ++ ξξϕϕϕ
k
ordem k
Análise Numérica - Métodos iterativos67
Caso do Método de Newton
( ))()(
xfxfxx′
−=ϕ
( )0
0≠′=xf
( ) ( )( )xfxfx
′′′
=′′ϕe
( ) ( ) ( ) ( )( )
( ) ( )( )22
2
1xf
xfxfxf
xfxfxfx′
′′⋅=
′′′⋅−′
−=′ϕ
única parcela sem f(x)
Normalmente f″(x)≠0 e o método é de 2ª ordem
Análise Numérica - Métodos iterativos68
ExercícioDetermine a raiz positiva de ln|x|+x2=0 (x∊[0.6,0.7])
ln(x) + x 2=0 xx ln−=⇔
-0.102777…0.597222692110.120736…0.71795906332-0.142335…0.57562377163
0.70
xn-xn-1n 1ln −−= nn xx
diverge
=ϕ(x)
]7.0,6.0[14.2ln
1)( ∈−<<−≈−
−=′ xxx
xϕ
3
Análise Numérica - Métodos iterativos69
ExercícioDetermine a raiz positiva de ln|x|+x2=0 (x∊[0.6,0.7])
ln(x) + x 2=02xex −=⇔
-0.0873…0.612626394210.0744…0.68707549712-0.0633…0.62370814353
0.70
xn-xn-1n2
1−−= nxn ex
lentamente convergente
=ϕ(x)
]7.0,6.0[185.0)65.0()2()(2
∈−>−≈≅−=′ − xxex x ϕϕ
|ϕ′(x)|≲1
Análise Numérica - Métodos iterativos70
Uma boa fórmula de recorrência.
Se q≈0 o método é rapidamente convergente.
θ ?
0)( =xf
)()( xxfxx ϕθ =⋅+=⇔
0)(0
=⋅⇔≠
xfθθ
( ) ( ) ( )xfxfx
xf ′−=⇔=′⋅+=′
≠′
1010)(θθϕ
ϕ′(x)=0
Análise Numérica - Métodos iterativos71
x x0 x1
Algumas fórmulas
( )xf ′−=
1θ
Método de 1ª ordem
( ))()( 1
1
−
−
−−
−=nn
nn
xfxfxxθ
x0
x4x3
x2x1
Método da secanteOrdem p=1.618…
(método superlinear)
( )nxf ′−=
1θ
Método de Newton de 2ªordem
Análise Numérica - Métodos iterativos72
Programação dos métodos
Critérios de paragem|f (xn)| ≤tol1
|xn-xn-1| ≤ tol2
n > nmax
31 tol≤
− −
n
nn
xxx
processos lentamente convergentes
Para evitar ciclos
processos divergentes
Análise Numérica - Métodos iterativos73
Critérios de paragemComo controlar o erro?
|f (xn)| ≤ tol1
( )nnn xxfxxxfxf ,)()()()(0
∈′−=−=
ηη
)(min)(
11
yfmmxf
xxxVy
nn ′=≤−
∈
ε≤− nxx 11 tol)( =≤ εmxf n
Análise Numérica - Métodos iterativos74
Critérios de paragemComo controlar o erro?
|xn-xn-1| ≤ tol2
Métodos de 1ª ordem
• Método da Falsa Posição
• Método iterativo Simples
Método de Newton
ε≤∆ nx 21 tol=≤− − Kxx nn
ε1−−≤∆ nnn xxKx
1
11
mmMK −
=
qqK−
=1
21
1
2
2 −−≤∆ nnn xxm
Mx
ε≤∆ nx 22
11 tol2
=≤− − Mmxx nnε
4
Análise Numérica - Métodos iterativos75
Programas MatlabMétodo das bissecções sucessivas
[c,iter,int]=bissec(f,a,b,tol,n,kt,kg)f de f(x)=0 pode ser uma função handle
x∈[a,b]amplitude de int ≤ toln=nmax
• c – solução com erro ≤ tol• iter – número de iterações• int – intervalo final
Opcional (escrita de informação intermédia)
Análise Numérica - Métodos iterativos76
Programas MatlabMétodo da Falsa Posição
[x,iter]=falsaposfix(f,x0,c,tol,n,kt)f de f(x)=0 pode ser uma função handle
x0 – x0
c=β|xn-xn-1|≤toln=nmax
• x – solução• Iter – número de iterações
Opcional (escrita de informação intermédia)
Análise Numérica - Métodos iterativos77
Programas MatlabMétodo de Newton
[x,iter]=newton(f,df,x0,tol,n,kt)f de f(x)=0 pode ser uma função handle
df – f ′ (...função handle)
x0 – x0
|xn-xn-1|≤toln=nmax
• x – solução• iter – número de iterações
Opcional (escrita de informação intermédia)
Análise Numérica - Métodos iterativos78
Programas MatlabMétodo iterativo simples (ponto fixo)
[x,iter]=fixed(g,x0,tol,n,kt)g de x=g(x) pode ser uma função handle
x0 – x0
|xn-xn-1|≤toln=nmax
• x – solução• iter – número de iterações
Opcional (escrita de informação intermédia)