Escolar Documentos
Profissional Documentos
Cultura Documentos
Figura 1 - Esparsidade das matriezes (a) Original, (b) L da decomposição LU e (c) U da decomposição LU.
Gráfico 1 - O Método de Jacobi é representado pelo símbolo '+', o Método Seidel pelo ‘x’ e o Método SOR pelo
'*'.
Figura 2- Esparsidade das matrizes (a) Original, (b) L da decomposição LU e (c) U da decomposição LU.
UFES - Universidade Federal do Espírito Santo
PPGEM – Programa de Pós-graduação Engenharia Mecânica
CC201 – Computação Científica
Lista de exercício 1
Nesse caso, o gráfico Iteração x Erro dos métodos iterativos não foi obtido, pois
como apresentado na Tabela 2, o raio espectral do Método Jacobi foi maior que 1,
enquanto dos métodos Seidel e SOR foi muito próximo de 1 e isso implica na
impossibilidade computacional de solucionar essas matrizes pelos métodos
iterativos.
Figura 3 - esparsidade das matrizes (a) Original, (b) L da decomposição LU e (c) U da decomposição LU.
Nesse caso, o gráfico Iteração x Erro dos métodos iterativos não foi obtido, pois
como apresentado na Tabela 2, o raio espectral de todos os métodos iterativos
analisados foi maior que 1 e isso implica na impossibilidade computacional de
solucionar essas matrizes pelos métodos iterativos.
UFES - Universidade Federal do Espírito Santo
PPGEM – Programa de Pós-graduação Engenharia Mecânica
CC201 – Computação Científica
Lista de exercício 1
Método Direto
Distância
Distâncias Distância
Ordem entre os vetor
entre as entre as
da Nome do Taxa de dos termos Norma do Número de
Determinante solução matrizes
matriz arquivo (load) Preenchimento Independentes Resíduo Condicionamento
exata e original e
(N) original e
aproximada resultante
resultante
130 "arc130.mat" 1102,6 88,848 1,1714E-08 0,00065568 1,4278E-14 1,1642E-10 60542114813
1074 “bcsstk08.mat” inf 97,528 2,2361E-08 1,0013 1,7610E-12 1,9836E-04 2,5987E+07
10938 “igbt3.mat” inf 99,804 0,0007167 1,8961 1,3973E-12 6,15E-05 4,16E+19
Método Iterativo
4 CONCLUSÃO
Sabe-se que quando o número de iterações aumenta, o erro irá reduzir se, e
somente se, o módulo de todos os autovetores da matriz de iteração forem menores
que a unidade. Alem do mais, a taxa de convergência será controlada pela
magnitude do maior autovalor em módulo, conhecido como raio espectral. No
experimento, o raio espectral do Método Seidel foi o menor, usando a menor
quantidade de iteração e o menor erro. Apesar do Método SOR ter tido o maior raio
espectral, a norma de seu erro foi 6 vezes menor do que no Método Jacobi, cuja a
iterações foi a maior quantidade.
Uma possível explicação para tais resultados pode ser pelo fato das matrizes serem
ou não estritamente dominantes. Sabe-se que se a matriz dos coeficientes A for
diagonal estritamente dominante, então a solução pelos Métodos de Jacobi e
Gauss-Seidel convergerá. Isso é um fato constatado no experimento. No entanto, se
A não for diagonalmente dominante, a previsão de convergência deve ser feita
usando o raio espectral da matriz de iteração. Pode ter sido isso que causou
discrepâncias nos resultados obtidos, além do seu malcondicionamento.
Por fim, é importante analisar como pequenas variações nos elementos da matriz
dos coeficientes A ou no vetor de termos independentes b influencia a solução x do
sistema linear Ax = b. Quando o sistema é malcondicionado, por sua vez, o resíduo
não é um bom indicador de exatidão da solução.
5 REFERÊNCIAS
6 APÊNDICE
printf("\nMétodo Direto\n\n")
#Metodos Diretos
load ("arc130.mat") #ALTERAR o nome para o nome da matriz que se deseja analisar
det(A)
figure
figure
printf("Taxa de Preenchimento\n")
#resultante da decomposicao LU
UFES - Universidade Federal do Espírito Santo
PPGEM – Programa de Pós-graduação Engenharia Mecânica
CC201 – Computação Científica
Lista de exercício 1
db=A*dx;
#e os da decomposição LU
r=b-A*x; #residuo
printf("Norma do residuo\n")
K=cond(A)
printf("\n\nMétodo Iterativo\n\n")
#Metodos iterativos
load ("arc130.mat") #ALTERAR o nome para o nome da matriz que se deseja analisar
A=Problem.A;
det(A)
n=rows(A)
b=A*ones(n,1);
[VJ lambdaJ]=eig(MJ);
[VS lambdaS]=eig(MS);
[VSOR lambdaSOR]=eig(MSOR);
tol=0.00001; #Tolerancia
figure
hold on
xlabel("Numero de Iteracoes");
ylabel("Erro");
semilogy(iterJ, erJ,'+')
semilogy(iterSOR, erSOR,'*')
semilogy(iterS, erS,'x')
hold off