A=input('Insira a matriz [A]: '); % O utilizador insere tomando o conteudo em A B=input('Insira o vector resultado em que vamos chamar [B]: '); % O utilizador aqui vai inserir o resultado da matriz, a parte direita dela. [m n]=size(A); % Se as linhas (m) e as colunas (n) da matriz A forem iguais entre si, e iguais ao tamanho de A, entao é quadrada if m~=n fprintf('A Matriz inserida nao é quadrada\n') % Se as linhas (m) forem diferentes das colunas (n), entao imprime uma mensagem a dizer que a matriz nao é quadrada A=input('Insira a primeira matriz [A]: '); % Voltar a inserir a matriz A end if det(A)==0 % Quando o determinante for zero, vai dar um erro e aparecerá uma mensagem a dizer que a equação é impossivel porque o determinante é zero. error('A Equacao e impossivel, o determinante e zero') end %Triangularização for k=1 : n-1 % Eliminação de cada coluna for i = k+1:n % Variação das linhas M(i,k)=A(i,k)/A(k,k); B(i)=B(i)-M(i,k) * B(k); %Calculo do multiplicador (M), para cada linha. Nao existe variaçoes de colunas por B, pois B só tem uma coluna for j = 1:n A(i,j)=A(i,j)-M(i,k)*A(k,j); % Expressao de cada elemento de uma linha da matriz end end end %Resolução do Sistema Triangular Superior x(n) = B(n) / A(n,n); for i = n -1: -1:1 soma = 0 for j=i + 1 :n soma = soma + A(i,j) * x(j); end x(i) = (B(i)-soma) / A(i,i); end disp ('A Solucao do sistema e:') disp (x)