Baixe o app para aproveitar ainda mais
Prévia do material em texto
Algoritmo de GaussAlgoritmo de Gauss Por: Lucas Daniel Ribeiro Christian Prediger Daniel Rodrigues UNESP – RIO CLARO Calculo numéricoCalculo numérico ••Algoritmo de GaussAlgoritmo de Gauss O algoritmo de Gauss é utilizado para a resolução de sistemas lineares, método também conhecido como método de escalonamento Algoritmo 1Algoritmo 1 Entradas:Entradas: �� N : número de equaçõesN : número de equações Saídas:Saídas: �� Solução de X1,...,Solução de X1,...,Xn Xn ou mensagem de que o ou mensagem de que o sistema linear não possui uma única soluçãosistema linear não possui uma única solução ••Passo 1Passo 1: “inicializa a matriz” for i=1,...,n set NROW(i) = i •Passo 2: for i=1,...,n-1 para os passos 3-6 •Passo 3: “determina o pivô” |a(NROW(p),i| = max |a(NROW(j),i| •Passo 4: “verifica se o pivô é válido” if (a(NROW(p),i) = 0 then OUTPUT(“não existe uma única solução”) STOP •Passo 5: “Troca a linha” if NROW(i) ≠≠≠≠ NROW(p) then SET NCOPY = NROW(i); NROW(i) = NROW(p); NROW(p) = NCOPY. •Passo 6 : “transformar em matriz retangular superior” For j = i,...,n para os passos 7 e 8 •Passo 7: SET m(NROW(j),i) = a(NROW(j),i) / a(NROW(i),i) •Passo 8: Perform (Enrow(j) – m(NROW(j),i)*Enrow(i)→→→→(Enrow(j)) •Passo 9: “verificar se o elemento da matriz A(n)(n) não é zero” if a(NROW(n),n) = 0 then OUTPUT (“não existe uma única solucao”) STOP. •Passo 10: “início das substituições” Set Xn = a(NROW(n),n+1) / a(NROW(n),n). •Passo 11: for i = n-1,...,1 set )),(( *)),(()1),(( 1 iiNROWa xjjiNROWaniNROWa xi n ij� +=−+ = •Passo 12 : “exibe a solução” OUTPUT (X1,...,Xn) STOP. Algoritmo 2Algoritmo 2 O segundo algoritmo se diferencia do primeiro pela forma em que é encontrado o pivô, apenas os passos 1 e 3 são modificados. •Passo 1: for i = 1,...,n set si = max |aij|; // 1≤≤≤≤ j ≤≤≤≤ n if si = 0 then OUTPUT (“não existe solução única”) STOP. set NROW(i) = i. •Passo 2 : for i = 1,...,n-1 para os passos 3-6. •Passo 3: Pega p sendo o menor inteiro com i ≤≤≤≤ p ≤≤≤≤ n e ))(( |)),((| max))(( |)),((| jNROWs ijNROWa pNROWs ipNROWa =
Compartilhar