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
Download

Slides da Aula 09