Escolar Documentos
Profissional Documentos
Cultura Documentos
Alunos:
2016
1
UNIVERSIDADE FEDERAL DE OURO PRETO
INSTITUTO DE CIÊNCIAS EXATAS E APLICADAS
Sumário
2
UNIVERSIDADE FEDERAL DE OURO PRETO
INSTITUTO DE CIÊNCIAS EXATAS E APLICADAS
1. Código Implementado
Código principal
disp('Projeto 01 - Método 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 posição %d x %d: ', i,j);
matriz(i,j)= input('');
end;
end;
disp(matriz);
3
UNIVERSIDADE FEDERAL DE OURO PRETO
INSTITUTO DE CIÊNCIAS 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
iterações não exceder o definido ou o erro ser maior que o
máximo 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 contém agora
o X solução
solucao2(i) = soma; %solucao2(i) recebe o valor do x
soma = 0; %Zera o valor para a próxima linha
end;
else
disp('O processo não converge!');
end;
4
UNIVERSIDADE FEDERAL DE OURO PRETO
INSTITUTO DE CIÊNCIAS 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;
%Após esse for, temos a soma dos absolutos de cada linha.
Pode-se então comparar
if (soma>=vetor(i))
op = 0; %Não converge
break;
end;
soma = 0; %Zera a variável para verificar a próxima linha
end;
return;
5
UNIVERSIDADE FEDERAL DE OURO PRETO
INSTITUTO DE CIÊNCIAS EXATAS E APLICADAS
for i=1:n
diferenca(i) = abs(solucao2(i) - solucao1(i)); % Pega o
valor absoluto da diferença.
end;
return
6
UNIVERSIDADE FEDERAL DE OURO PRETO
INSTITUTO DE CIÊNCIAS EXATAS E APLICADAS
2. Caso de Teste 01
Para a realização do primeiro teste, foi utilizado o sistema linear mostrado abaixo:
Com o número máximo de execuções e o valor máximo do erro fornecido, o cálculo das
soluções é iniciado. A cada iteração a função que calcula o erro é chamada
(“Valor_Norma”) e retorna o erro. Os valores são impressos, mostrando a iteração, o
erro e o vetor solução. Assim, quando o erro for menor que o erro definido ou o “kmax”
for ultrapassado, o programa finaliza sua execução.
7
UNIVERSIDADE FEDERAL DE OURO PRETO
INSTITUTO DE CIÊNCIAS EXATAS E APLICADAS
8
UNIVERSIDADE FEDERAL DE OURO PRETO
INSTITUTO DE CIÊNCIAS 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 convergência do método, neste caso
verdadeiro, logo a mensagem informada é: “O processo irá convergir”. Em sequência é
solicitado ao usuário os valores resultado para cada linha da matriz! Logo após, o
usuário indica qual seria o numero máximo de interações, neste caso 10,
sequencialmente é solicitado também o valor para o erro ao qual se pode considerar que
a solução encontrada é satisfatória. A condição de parada determinada se deu quando o
erro se tornou menor do que o erro desejado pelo usuário, pois com o erro informado de
0.01 na 5ª interação (K=4) obteve-se o valor do erro igual a 0,005297246. Apesar de o
número máximo de iterações não ter sido alcançado o erro estabelecido foi alcançado.
Assim, o programa imprimiu a solução das iterações realizadas e o erro como esperado.
9
UNIVERSIDADE FEDERAL DE OURO PRETO
INSTITUTO DE CIÊNCIAS EXATAS E APLICADAS
3. Caso de Teste 02
10
UNIVERSIDADE FEDERAL DE OURO PRETO
INSTITUTO DE CIÊNCIAS EXATAS E APLICADAS
11
UNIVERSIDADE FEDERAL DE OURO PRETO
INSTITUTO DE CIÊNCIAS 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 CIÊNCIAS EXATAS E APLICADAS
13
UNIVERSIDADE FEDERAL DE OURO PRETO
INSTITUTO DE CIÊNCIAS EXATAS E APLICADAS
Neste caso teste 03, o teste de convergência foi verdadeiro, assim a aplicação do método
convergirá, informado 20 para o valor para a quantidade máxima de interações, indicado
também o erro satisfatório de 0.0001. A condição de parada foi encontrada na 12ª
interação (K=11), Assim a condição de parada foi o critério de erro. É notável, portanto
que caso haja a diminuição do numero de interação, por exemplo 10, considerando esse
mesmo erro, como na figura 04: abaixo
14