BC0406 – Aula 09 – Prof. Marcio Eisencraft – março 2012 Algoritmo 3.2 – Eliminação de Gauss com Pivotamento Parcial Para resolver o sistema linear n × n E1 : a11x1 + a12x 2 + ⋯ + a1n x n = a1,n +1 E2 : a21x1 + a22x 2 + ⋯ + a2n x n = a2,n +1 ⋮ En : an1x1 + an 2x 2 + ⋯ + ann xn = an,n +1 ENTRADA: número de incógnitas e de equações n ; matriz aumentada A = aij , em que 1 ≤ i ≤ n e 1 ≤ j ≤ n + 1. SAÍDA: solução x1 , x 2 , ..., x n ou mensagem de que este sistema linear não tem uma única solução. PASSO 1 Para i = 1, …, n , faça NLINHA ( i ) = i . (Inicializa o cursor de linha.) PASSO 2 Para i = 1, …, n − 1 , execute Passos 3 a 6. (Processo de Eliminação) PASSO 3 Faça p ser o menor número inteiro com i ≤ p ≤ n e a NLINHA( p ),i = max a NLINHA( j ),i . 1≤ j ≤n PASSO 4 Se aNLINHA( p ),i = 0 então SAÍDA (‘não existe uma única solução’); PARE. PASSO 5 Se NLINHA ( i ) ≠ NLINHA ( p ) então faça NCOPIA = NLINHA ( i ) ; NLINHA ( i ) = NLINHA ( p ) ; NLINHA ( p ) = NCOPIA . (Troca de linha) PASSO 6 PASSO 9 Para j = i + 1, …, n , execute Passos 7 e 8. PASSO 7 Faça mNLINHA( j ),i = PASSO 8 Execute a NLINHA( j ),i a NLINHA( i ),i . ( ENLINHA( j ) − mNLINHA( j ),iENLINHA(i ) ) → ( ENLINHA(i ) ) ; Se a NLINHA( n )n = 0 , então SAÍDA (‘não existe uma única solução’); PARE. 1 BC0406 – Aula 09 – Prof. Marcio Eisencraft – março 2012 PASSO 10 Faça x n = aNLINHA( n ),n +1 aNLINHA( n )n . (Começa a substituição regressiva) n aNLINHA( i ),n +1 − ∑ j =i +1 PASSO 11 Para i = n − 1, …, 1 faça x i = PASSO 12 SAÍDA( x1, …, xn ); (Processo completado com sucesso) aNLINHA( i ), j x j aNLINHA( i )i . PARE. Algoritmo 3.3 – Eliminação de Gauss com Pivotamento Parcial com Escala Os únicos passos neste algoritmo que diferem daqueles apresentados no Algoritmo 3.2 são: PASSO 1 Para i = 1, …, n , faça si = max1≤ j ≤n aij ; se si = 0 , então SAÍDA (‘não existe uma única solução’); PARE. PASSO 2 Para i = 1, …, n − 1 , execute Passos 3 a 6. (Processo de Eliminação) PASSO 3 Faça p ser o menor número inteiro com i ≤ p ≤ n e aNLINHA( p ),i s NLINHA( p ) = max 1≤ j ≤n aNLINHA( j ),i s NLINHA( j ) . 2