Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
clear clc A=[225 0 -25 0 1400; 0 175 0 -125 100; -225 0 275 -50 2000; 0 -25 -250 275 0;] function r = gauss(A) disp ("MEMÓRIA DE CÁLCULO DO SISTEMA LINEAR") disp ("POR ELIMINAÇÃO DE GAUSS COM PIVOTAÇÃO PARCIAL") disp ("*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*") //matriz estendida do sistema disp ("MATRIZ ESTENDIDA DO SISTEMA") disp (A) //determina o numero de linhas da etapa de calculo n = size(A, 1) for etapa= 1 : n-1 //mostra o numero da etapa de calculo disp ("**************") disp ("Etapa") disp (etapa) disp ("**************") //pivotamento parcial pivot = A(etapa,etapa) for i = etapa + 1 : n if abs(A(i,etapa)) > abs(pivot) then linha_pivot = i pivot = A(i,etapa) AUX = A(etapa,:) A(etapa,:) = A(linha_pivot,:) A(linha_pivot,:) = AUX end end disp ("MATRIZ COM PIVOTAMENTO PARCIAL:") disp (A) disp ("Pivô:") disp (pivot) //calculos 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) aux=0 end //exibe resultado final disp ("RESULTADO DO SISTEMA:") disp (r) endfunction r=gauss(A)
Compartilhar