Escolar Documentos
Profissional Documentos
Cultura Documentos
lim 𝑥 𝑘 = 𝑥
𝑘→∞
Métodos iterativos 2
Método iterativo
O método iterativo reescrever o sistema original 𝐴𝑥 = 𝑏 para uma forma equivalente a
𝑥 = 𝐻𝑥 + 𝑔
A partir de uma solução inicial 𝑥 (0) , soluções “melhores” são obtidas iterativamente até algum
critério de parada ser satisfeito
𝑥 1 = 𝐻𝑥 0 +𝑔
2 1
𝑥 = 𝐻𝑥 +𝑔
⋮
𝑥 𝑘 = 𝐻𝑥 𝑘−1 +𝑔
Métodos iterativos 3
Método iterativo
• Os métodos iterativos são mais indicados para sistemas lineares muito grandes e esparsos
• Sistema linear esparsos é um sistema linear onde a maioria dos elementos da matriz de
coeficientes é zero.
Métodos iterativos 4
Método iterativo Jacobi-Richardson
Há várias formas de se obter a matriz H de transição
𝑥 = 𝐻𝑥 + 𝑔
Métodos iterativos 5
Método iterativo Jacobi-Richardson
A matriz A pode obtida pela soma da matriz diagonal D e matriz R, onde
• D = matriz diagonal formada pelos 𝑎𝑖𝑖 = elementos que estão na diagonal principal de A
Métodos iterativos 6
Método iterativo Jacobi-Richardson
Assim, partindo do sistema original 𝐴𝑥 = 𝑏 e sabendo que 𝐴 = 𝐷 + 𝑅, temos
𝐷+𝑅 𝑥 =𝑏
𝐷𝑥 = 𝑏 − 𝑅𝑥
𝑥 = 𝐷 −1 𝑏 − 𝑅𝑥
𝑥 = −𝐷 −1 𝑅𝑥 + 𝐷 −1 𝑏
𝒙 = 𝑯𝒙 + 𝒈
com 𝐻 = −𝐷 −1 𝑅 e 𝑔 = 𝐷 −1 𝑏
Métodos iterativos 7
Método iterativo Jacobi-Richardson
A partir de
𝑥 = −𝐷 −1 𝑅𝑥 + 𝐷 −1 𝑏
𝒌 𝟏 (𝒌−𝟏)
𝒙𝒊 = 𝒃𝒊 − 𝒂𝒊𝒋 𝒙𝒋
𝒂𝒊𝒊
𝒊≠𝒋
Métodos iterativos 8
Método iterativo Jacobi-Richardson, JR
Considerando o sistema linear,
as fórmulas de recorrência no método JR, são obtidas isolando uma variável 𝑥𝑖 em cada linha
Métodos iterativos 9
Exemplo 1
Resolva o sistema linear abaixo usando o método de Jacobi-Richardson iniciando em 𝑥 (0) = 0,0 e
como critério de parada use 2 (duas) iterações;
10𝑥 + 𝑦 = 23
ቊ
𝑥 + 8𝑦 = 26
Métodos iterativos 10
Solução Início 𝑥 0
= 0 ,0 ,0
1
1ª iteração 𝑥 = 2.3 , 3.25
10𝑥 + 𝑦 = 23
ቊ 23 − 𝑦 0
23 − 0
𝑥 + 8𝑦 = 26 𝑥 1
= = = 2.3
10 10
0
1
26 − 𝑥 26 − 0
𝑦 = = = 3.25
𝑘 8 8
23 − 𝑦 𝑘+1
23 − 𝑦
𝑥= 𝑥 =
10 10
→
26 − 𝑥 26 − 𝑥 𝑘 2ª iteração 𝑥 2
= 1.975 , 2.9625
𝑦= 𝑦 𝑘+1
=
8 8
1
2
23 − 𝑦 23 − 3.25
𝑥 = = = 1.975
10 10
1
2
26 − 𝑥 26 − 2.3
𝑦 = = = 2.9625
8 8
Métodos iterativos 11
Critério de parada
1). Quantidade máxima de iterações (M)
iterações pararam se #iterações ≥ M
𝑥 𝑘 −𝑥 𝑘−1 ≤ 𝜀𝑎𝑏𝑠
∞
𝑥 𝑘 −𝑥 𝑘−1
∞
𝑘−1
≤ 𝜀𝑟𝑒𝑙
𝑥 ∞
Métodos iterativos 12
Norma de vetores
1/𝑝
𝑝
𝑥 𝑝 = 𝑥𝑖
𝑖
Métodos iterativos 13
Exemplo de algumas normas
𝑝=1 → 𝑥 = 𝑥𝑖 1 = 𝑥𝑖 = 𝑥1 + 𝑥2 + ⋯ + 𝑥𝑛
1
𝑖 𝑖
1/2
𝑝=2 → 𝑥 2 = 𝑥𝑖 2
= 𝑥𝑖 2 = 𝑥12 + 𝑥22 + ⋯ + 𝑥𝑛2
𝑖 𝑖
𝑝=∞ → 𝑥 ∞ = max 𝑥1 , 𝑥2 , … , 𝑥𝑛
Métodos iterativos 14
Exemplo 2
Seja o vetor x = (1, -3, 5), calcule as normas 𝑥 1 , 𝑥 2 e 𝑥 ∞
Solução ------------------------------------------------------------------------------------------------------------------------------------
𝑥 1 = 𝑥1 + 𝑥2 + 𝑥3 = 1 + −3 + 5 = 1 + 3 + 5 = 9
Métodos iterativos 15
Exemplo 3
Resolva o sistema linear abaixo usando o método de Jacobi-Richardson iniciando em
𝑥 (0) = 0,0,0 e como critério de parada um erro absoluto 𝜀 < 10−3 = 0,001
Métodos iterativos 16
Solução
𝑘−1 𝑘−1
13 + 2𝑥2 − 3𝑥3 𝑘 13 + 2𝑥2 − 3𝑥3
𝑥1 = 𝑥1 =
7 7
49 − 4𝑥1 + 3𝑥3 𝑘−1 𝑘−1
→ 𝑘 49 − 4𝑥1 + 3𝑥3
𝑥2 = 𝑥2 =
10 10
17 − 2𝑥1 + 𝑥2 𝑘−1 𝑘−1
𝑥𝑛 = 𝑘 17 − 2𝑥1 + 𝑥2
6 𝑥3 =
6
Métodos iterativos 17
Solução
0 0 0 0
Início 𝑥 = 0 ,0 ,0 → 𝑥1 = 0 ; 𝑥2 =0 ; 𝑥3 =0
1ª iteração 𝑥 1 = 1.8571 , 4.9 , 2.8333
0 0
1 13 + 2𝑥2 + 3𝑥3 1 13 + 2 0 − 3 0
𝑥1 = 𝑥1 = = 1.8571
7 7
0 0 49 − 4 0 + 3 0
1 49 − 4𝑥1 + 3𝑥3 → 1
𝑥2 = 𝑥2 = = 4.9
10 10
0
17 − 2𝑥1 + 𝑥2
0 1 17 − 2 0 + 1 0
𝑥3
1
= 𝑥3 = = 2.8333
6 6
Métodos iterativos 18
Solução
Início 𝑥 0 = 0 ,0 ,0
1ª iteração 𝑥 1 = 1.8571 , 4.9 , 2.8333
𝑥 (1) − 𝑥 0
∞
≤ 0.001
1.8571 0 1.8571
𝑥 (1) −𝑥 0
∞
= 4.9 − 0 = 4.9 = 2.8333 > 0.001
2.8333 0 ∞ 2.8333 ∞
Métodos iterativos 19
Solução
Início 𝑥 0 = 0 ,0 ,0
1ª iteração 𝑥 1 = 1.8571 , 4.9 , 2.8333
2ª iteração 𝑥 2 = 2.0429 , 5.0071 , 3.0310
1 1
2 13 + 2𝑥2 + 3𝑥3 1 13 + 2 4.9 − 3 2.8333
𝑥1 = 𝑥1 = = 2.0429
7 7
1 1 49 − 4(1.8571) + 3 2.8333
2 49 − 4𝑥1 + 3𝑥3 → 1
𝑥2 = 𝑥2 = = 5.0071
10 10
1
17 − 2𝑥1 + 𝑥2
1 1 17 − 2 1.8571 + 1(4.9)
𝑥3
2
= 𝑥3 = = 3.0310
6 6
Métodos iterativos 20
Solução
Início 𝑥 0 = 0 ,0 ,0
1ª iteração 𝑥 1 = 1.8571 , 4.9 , 2.8333
2ª iteração 𝑥 2 = 2.0429 , 5.0071 , 3.0310
𝑥 (2) − 𝑥 1
∞
≤ 0.001
Métodos iterativos 21
Solução
No Excel
Critério
k x1 x2 x3 Satisfeito ?
< 0.001
0 0 0 0 --
1 1.857143 4.9 2.833333 4.9 NÃO
2 2.042857 5.007143 3.030952 0.197619 NÃO
3 1.988776 4.992143 2.986905 0.054082 NÃO
4 2.003367 5.000561 3.002432 0.015527 NÃO Solução
5 1.999118 4.999383 2.998971 0.004249 NÃO
1.999931
6 2.000265 5.000044 3.000191 0.00122 NÃO 𝑥 = 4.999951
2.999919
7 1.999931 4.999951 2.999919 0.000334 SIM
Métodos iterativos 22
Gráfico
Métodos iterativos 23
Método iterativo Gauss-Seidel, GS
(𝑘)
Semelhante ao método de Jacobi, com a diferença de que no cálculo de 𝑥𝑖 , o método GS
aproveita os valores mais atualizados (que acabou de serem calculados) na mesma k-ésima iteração.
𝑘 1 𝒌 𝒌 𝒌 (𝒌)
𝑥𝑛 = 𝑏𝑛 − 𝒂𝒏𝟏 𝒙𝟏 − 𝒂𝒏𝟐 𝒙𝟐 − 𝒂𝒏𝟑 𝒙𝟑 − ⋯ − 𝒂𝒏,𝒏−𝟏 𝒙𝒏−𝟏
𝑎𝑛𝑛
Métodos iterativos 24
Exemplo 4
Resolva o sistema linear abaixo usando o método de Gauss-Seidel iniciando em
𝑥 (0) = 0,0,0 e como critério de parada um erro absoluto 𝜀 < 0,001
Métodos iterativos 25
Solução
𝑘−1 𝑘−1
13 + 2𝑥2 + 3𝑥3 𝑘 13 + 2𝑥2 + 3𝑥3
𝑥1 = 𝑥1 =
7 7
49 − 4𝑥1 + 3𝑥3 𝒌 𝑘−1
→ 𝑘 49 − 4𝒙𝟏 + 3𝑥3
𝑥2 = 𝑥2 =
10 10
17 − 2𝑥1 + 𝑥2 𝒌 𝒌
𝑥𝑛 = 𝑘 17 − 2𝒙𝟏 + 𝒙𝟐
6 𝑥3 =
6
Métodos iterativos 26
Solução
No Excel
k x1 x2 x3 criterio satisfeito ?
0 0 0 0 --
1 1.857143 4.157143 2.907143 4.157143 NÃO
2 1.79898 5.052551 3.075765 0.895408 NÃO
3 1.982544 5.029712 3.010771 0.183564 NÃO Solução
4 2.003873 5.001682 2.998989 0.02803 NÃO
1.999987
5 2.000914 4.999331 2.999584 0.002959 NÃO 𝑥 = 4.99988
2.999984
6 1.999987 4.99988 2.999984 0.000926 SIM
Métodos iterativos 27
Critério de convergência
Critério da diagonal estritamente dominante
Basta que o sistema linear satisfaça “apenas” um dos critérios acima para ter convergência
garantida, independentemente da escolha do vetor inicial 𝑥 0 usado.
Métodos iterativos 28
Exemplo 5
Usando o critério de convergência no sistema é certo que ele irá convergir no processo iterativo?
Solução ----------------------------------------------------------------------------------------------------------------------
Critério da coluna: |7| > |4| + |2| = 6 ok ; |10| > |-2| + |-1| = 3 ok ; |6| > |3| + |-3| = 6 não
Critério da linha: |7| > |-2| + |3| = 5 ok ; |10| > |4| + |-3| = 7 ok ; |6| > |2| + |-1| = 3 ok
RESPOSTA: Sim, é certo que irá convergir. O sistema acima tem elementos da diagonal principal
que são dominantes nas LINHAS.
Métodos iterativos 29
Exemplo 6
𝑥1 − 2𝑥2 + 3𝑥3 = 13
ቐ4𝑥1 + 𝑥2 − 3𝑥3 = 49
2𝑥1 − 𝑥2 + 𝑥3 = 17
Métodos iterativos 30
Solução
𝑥1 − 2𝑥2 + 3𝑥3 = 13
ቐ 4𝑥1 + 𝑥2 − 3𝑥3 = 49
2𝑥1 − 2𝑥2 + 𝑥3 = 17
Não é garantido que o sistema linear irá convergir (ele pode convergir, como também não
convergir). O sistema não tem elementos na diagonal principal que são dominantes nas LINHAS
ou COLUNAS
Métodos iterativos 31
Solução
O sistema realmente não convergiu.
k x1 x2 x3 criterio satisfeito ?
0 0 0 0 --
1 13 49 17 49 não
2 60 48 89 72 não
3 -158 76 -7 218 não
4 186 660 485 584 não
5 -122 760 965 480 não
.. ... ... ... ... ...
12 -166386 1896456 1475333 -166386 não
Métodos iterativos 32
Vetor resíduo
Partindo de
𝐴𝑥 = 𝑏
Temos
𝑟 = 𝑏 − 𝐴𝑥
Métodos iterativos 33
Exemplo 7
5𝑥 − 2𝑦 = 1
ቊ
−3𝑥 + 4𝑦 = 5
1 5 −2 1 1 1 0
𝑟ǁ = 𝑏 − 𝐴𝑥 = − ⋅ = − =
5 −3 4 2 5 5 0
Métodos iterativos 34
Exemplo 8
Solução --------------------------------------------------------------------------------------------------
Métodos iterativos 35
Usando o Octave
>> % criando o vetor dos termos independentes
>> b = [13 ; 49; 17]
1.0000 0 0 2
0 1.0000 0 5
0 0 1.0000 3
Métodos iterativos 36
Usando método Jacobi no Octave
b = [13;49;17];
A = [7,-2,3;4,10,-3;2,-1,6];
# critério parada;
norma = norm(x - x0, 'inf');
saida = [iter, x, norma];
fprintf('\t %3d \t %.5f \t %.5f \t %.5f \t %.5f \n', saida);
if (norma < tol) return
endif
Métodos iterativos 37
Criando uma função no Octave
Comando function do Octave
Métodos iterativos 38
Criando uma função no Octave
function [x] = jacobi(A,b,x0,tol,N)
n = size(A,2);
x = zeros(1,n); # inicializando vetor x que tera as solucoes;
iter = 1;
# critério parada;
norma = norm(x - x0, 'inf');
saida = [iter, x, norma];
fprintf('\t %3d \t %.5f \t %.5f \t %.5f \t %.5f \n', saida);
if (norma < tol) return
endif
endwhile
endfunction
Métodos iterativos 39
Usando a função ‘jacobi’ criada
b = [13;49;17];
A = [7,-2,3;4,10,-3;2,-1,6];
Métodos iterativos 40