Cálculo numérico
Métodos Diretos e Iterativos para Sistemas de equações lineares
Diego Lagranha Weiss - 07232009
a). Crie uma função ou método que avalie se este sistema é Mal-Condicionado (pode ser efetuada dentro do algoritmo de escalonamento de Gauss ou de decomposição LU de Crout);
Classificam-se estes sistemas altamente sensíveis a variações nos seus coeficientes como sistemas mal condicionados. Se || det(A) || << 1 ou Cond (A) = || A ||∞ . || A-1 ||∞ >> 1 o sistema é considerado mal condicionado. Calculando pelo determinante de A, temos que || det(A) || = 0.084236.
Portanto, como || det(A) || << 1, o sistema é considerado mal condicionado. function x = fgaussDet(N,A,Ao)
[A cont] = escalona(N,A); d = 1; for k=1:N d=d*A(k,k); end p=1; for i=1:N soma=0; for j=1:N soma=soma+Ao(i,j)^2; end soma = sqrt(soma); p=p*soma; end dN=abs(d/p) #determinanteN = determinante/produto x = retrosubs(N,A, cont) end #function
b). Crei uma função ou método que avalie se este sistema tem convergência garantida e se é recomendado testar o uso de fator de subrelaxação;
Caso o sistema de equações lineares não satisfaça os critérios de convergência o processo iterativo poderá oscilar ou até mesmo divergir. Nestes casos pode-se tentar desacelerar o processo de atualização iterativa usando fatores de sub-relaxação em cada equação.
(i). A utilização de fatores de sub-relaxação não garante a convergência do processo, mas pode agilizar esta convergência (vide exemplo 9). A avaliação dos resíduos das equações de um sistema não pode ser usada como critério para análise da proximidade de uma solução em relação ao seu valor exato (não pode ser usado como critério de convergência).
Usei o seguinte cálculo para diagonal dominante: diagonalDominante = sum((abs(A(1:10, 1:10)-diag(diag(A(1:10, 1:10))))),2) ans =
2.50000
0.61000
2.90000
2.20000
4.00000
4.00000
4.00000
3.00000
3.00000
2.00000
Que quando comparado com diag(A(1:10, 1:10)-diagonalDominante, temos: ans =
0.00000