Professional Documents
Culture Documents
Alunos: Arthur
Douglas
Nekson
2016
1
UNIVERSIDADE FEDERAL DE OURO PRETO
INSTITUTO DE CINCIAS EXATAS E APLICADAS
Sumrio
2
UNIVERSIDADE FEDERAL DE OURO PRETO
INSTITUTO DE CINCIAS EXATAS E APLICADAS
1. Cdigo Implementado
Cdigo principal
disp('Projeto 01 - Mtodo de Jacobi');
% M = (n x n) B = [m x 1]
% M = [aij, a12, a13] B = [1]
% [a21, a22, a23] [2]
% [a31, a32, a33] [3]
fprintf('\n***************Preenchendo a matriz***************\n')
for i=1:n
for j=1:n
fprintf('\nDigite o elemento da posio %d x %d: ', i,j);
matriz(i,j)= input('');
end;
end;
disp(matriz);
3
UNIVERSIDADE FEDERAL DE OURO PRETO
INSTITUTO DE CINCIAS EXATAS E APLICADAS
for i=1:n
solucao1(i) = b(i)/vetor(i);
end;
fprintf('k = %d', k);
disp(solucao1);
k = k+1;
erro = 0;
soma = 0;
while (k<=kmax)||(erro<=erromax) %Enquanto o numero de
iteraes no exceder o definido ou o erro ser maior que o
mximo definido
for i=1:n
for j=1:n
if(i~=j)
soma = soma + (-(matriz(i,j)*solucao1(j)));
end;
end;
%Terminando a linha, podemos somar com o B(i) e
multiplicar
%pelo 1/aii
soma = (1/vetor(i))*(soma + b(i)); %Soma contm agora
o X soluo
solucao2(i) = soma; %solucao2(i) recebe o valor do x
soma = 0; %Zera o valor para a prxima linha
end;
else
disp('O processo no converge!');
end;
4
UNIVERSIDADE FEDERAL DE OURO PRETO
INSTITUTO DE CINCIAS EXATAS E APLICADAS
op = 1;
for i=1:n
for j=1:n
if (j==i)
vetor(i) = abs(matriz(i,j));
end;
end;
end;
for i=1:n
for j=1:n
if(i~=j)
soma = soma + abs(matriz(i,j)); %Pega todos os
elementos da linha e soma seus valores absolutos
end;
end;
%Aps esse for, temos a soma dos absolutos de cada linha.
Pode-se ento comparar
if (soma>=vetor(i))
op = 0; %No converge
break;
end;
soma = 0; %Zera a varivel para verificar a prxima linha
end;
return;
5
UNIVERSIDADE FEDERAL DE OURO PRETO
INSTITUTO DE CINCIAS EXATAS E APLICADAS
for i=1:n
diferenca(i) = abs(solucao2(i) - solucao1(i)); % Pega o
valor absoluto da diferena.
end;
return
6
UNIVERSIDADE FEDERAL DE OURO PRETO
INSTITUTO DE CINCIAS EXATAS E APLICADAS
2. Caso de Teste 01
Para a realizao do primeiro teste, foi utilizado o sistema linear mostrado abaixo:
Com o nmero mximo de execues e o valor mximo do erro fornecido, o clculo das
solues iniciado. A cada iterao a funo que calcula o erro chamada
(Valor_Norma) e retorna o erro. Os valores so impressos, mostrando a iterao, o
erro e o vetor soluo. Assim, quando o erro for menor que o erro definido ou o kmax
for ultrapassado, o programa finaliza sua execuo.
7
UNIVERSIDADE FEDERAL DE OURO PRETO
INSTITUTO DE CINCIAS EXATAS E APLICADAS
8
UNIVERSIDADE FEDERAL DE OURO PRETO
INSTITUTO DE CINCIAS EXATAS E APLICADAS
Observando a figura 01, pode-se analisar o funcionamento do programa. Assim que foi
informado a matriz n x n informado sobre a convergncia do mtodo, neste caso
verdadeiro, logo a mensagem informada : O processo ir convergir. Em sequncia
solicitado ao usurio os valores resultado para cada linha da matriz! Logo aps, o
usurio indica qual seria o numero mximo de interaes, neste caso 10,
sequencialmente solicitado tambm o valor para o erro ao qual se pode considerar que
a soluo encontrada satisfatria. A condio de parada determinada se deu quando o
erro se tornou menor do que o erro desejado pelo usurio, pois com o erro informado de
0.01 na 5 interao (K=4) obteve-se o valor do erro igual a 0,005297246. Apesar de o
nmero mximo de iteraes no ter sido alcanado o erro estabelecido foi alcanado.
Assim, o programa imprimiu a soluo das iteraes realizadas e o erro como esperado.
9
UNIVERSIDADE FEDERAL DE OURO PRETO
INSTITUTO DE CINCIAS EXATAS E APLICADAS
3. Caso de Teste 02
10
UNIVERSIDADE FEDERAL DE OURO PRETO
INSTITUTO DE CINCIAS EXATAS E APLICADAS
11
UNIVERSIDADE FEDERAL DE OURO PRETO
INSTITUTO DE CINCIAS EXATAS E APLICADAS
4. Caso de Teste 03
Para esse teste, o sistema linear utilizado mostrado abaixo.
12
UNIVERSIDADE FEDERAL DE OURO PRETO
INSTITUTO DE CINCIAS EXATAS E APLICADAS
13
UNIVERSIDADE FEDERAL DE OURO PRETO
INSTITUTO DE CINCIAS EXATAS E APLICADAS
Neste caso teste 03, o teste de convergncia foi verdadeiro, assim a aplicao do mtodo
convergir, informado 20 para o valor para a quantidade mxima de interaes, indicado
tambm o erro satisfatrio de 0.0001. A condio de parada foi encontrada na 12
interao (K=11), Assim a condio de parada foi o critrio de erro. notvel, portanto
que caso haja a diminuio do numero de interao, por exemplo 10, considerando esse
mesmo erro, como na figura 04: abaixo
14