Baixe o app para aproveitar ainda mais
Prévia do material em texto
Métodos Numéricos Aplicados a Engenharia Civil Resolva o sistema linear 3x3 abaixo: Resolução: Interpolação Polinomial – Método por Eliminação de Gauss Código no SciLab: function r=gauss disp("MEMÓRIA DE CÁLCULO DO SISTEMA LINEAR") disp("POR ELIMINAÇÃO DE GAUSS COM PIVOTAMENTO PARCIAL") //Matriz estendida do sistema A=[3 -2 5 20; 6 -9 12 51; -5 0 2 1] disp("Matriz estendida do sistema") disp(A) //Determine número de linhas da matriz de coeficientes n=size(A,1) for etapa=1:n-1 //Mostra o número da etapa de cálculo disp("Etapa") disp(etapa) //Pivotamento parcial pivot=A(etapa,etapa) for i = etapa+1:n if abs (A(i,etapa))>abs(pivot) then linha_pivotamento=i pivot=A(i,etapa) AUX=a(etapa,:) A(etapa,:)=A(linha_pivotamento,:) A(linha_pivotamento,:)=AUX end end disp("Matriz com pivotamento parcial:") disp(A) disp("Pivô:") disp(pivot) //Cálculos para escalonamento for i=etapa+1:n c=A(i,etapa)/pivot for j=1:n+1 A(i,j)=A(i,j)-c*A(etapa,j) end end disp("Matriz obtida após cálculos") disp(A) end disp("Matriz escalonada") disp(A) //Realiza a retrossubstituição aux=0 r(1,n)=A(n,n+1)/A(n,n) for i=n-1:-1:1 for k=n:-1:1 aux=aux+r(1,k)*A(i,k) end r(1,i)=(A(i,n+1)-aux)/A(i,i) end //Exibe resultado final disp("Resultado do sistema:") disp(r) endfunction Introdução dos dados no SciLab: --> A=[3 -2 5 20; 6 -9 12 51; -5 0 2 1] --> n=size(A,1) --> etapa=1 --> pivot=A(etapa,etapa) --> i=etapa+1 --> abs(A(i,etapa)) --> abs(pivot) --> linha_pivotamento=i --> pivot=A(i,etapa) --> AUX=A(etapa,:) --> A(etapa,:)=A(linha_pivotamento,:) --> A(linha_pivotamento,:)=AUX --> pivot --> i=etapa+1 --> c=A(i,etapa)/pivot --> j=1 --> A(i,j)=A(i,j)-c*A(etapa,j) --> j=2 --> A(i,j)=A(i,j)-c*A(etapa,j) --> j=3 --> A(i,j)=A(i,j)-c*A(etapa,j) --> j=4 --> A(i,j)=A(i,j)-c*A(etapa,j) --> i=3 --> c=A(i,etapa)/pivot --> j=1 --> A(i,j)=A(i,j)-c*A(etapa,j) --> j=2 --> A(i,j)=A(i,j)-c*A(etapa,j) --> j=3 --> A(i,j)=A(i,j)-c*A(etapa,j) --> j=4 --> A(i,j)=A(i,j)-c*A(etapa,j) --> etapa=2 --> pivot=A(etapa,etapa) --> i=etapa+1 --> abs(A(i,etapa)) --> abs(pivot) --> linha_pivotamento=i --> pivot=A(i,etapa) --> AUX=A(etapa,:) --> A(etapa,:)=A(linha_pivotamento,:) --> A(linha_pivotamento,:)=AUX --> pivot --> i=etapa+1 --> c=A(i,etapa)/pivot --> j=1 --> A(i,j)=A(i,j)-c*A(etapa,j) --> j=2 --> A(i,j)=A(i,j)-c*A(etapa,j) --> j=3 --> A(i,j)=A(i,j)-c*A(etapa,j) --> j=4 --> A(i,j)=A(i,j)-c*A(etapa,j) --> aux=0 --> r(1,n)=A(n,n+1)/A(n,n) --> i=n-1 --> k=N --> aux=aux+r(1,k)*A(i,k) --> k=2 --> aux=aux+r(1,k)*A(i,k) --> k=1 --> aux=aux+r(1,k)*A(i,k) --> r(1,i)=(A(i,n+1)-aux)/A(i,i) --> aux=0 --> i=1 --> k=3 --> aux=aux+r(i,k)*A(i,k) --> k=2 --> aux=aux+r(i,k)*A(i,k) --> k=1 --> aux=aux+r(i,k)*A(i,k) --> r(1,i)=(A(i,n+1)-aux)/A(i,i) r=1 -1 3 {Conjunto Solução}
Compartilhar