Você está na página 1de 3

FRANCISCO ALESSANDRO DE OLIVEIRA DAMASCENO-472701

Questão 1: Um determinado problema físico é regido pelo sistema de equações linear abaixo.
Pede-se: a) Resolva o sistema por Eliminação de Gauss, sem pivotamento nenhum.
c) Implemente os dois métodos e verifique se seus resultados estão corretos.

def eliminacao_de_gauss(A, b):


n = len(A)

# Eliminação direta
for i in range(n):
# Pivô
pivo = A[i][i]

# Divide a linha do pivô pelo pivô


for j in range(i, n):
A[i][j] /= pivo
b[i] /= pivo

# Reduz outras linhas


for k in range(i + 1, n):
fator = A[k][i]
for j in range(i, n):
A[k][j] -= fator * A[i][j]
b[k] -= fator * b[i]

# Substituição para trás


x = [0] * n
x[n - 1] = b[n - 1] / A[n - 1][n - 1]

for i in range(n - 2, -1, -1):


soma = b[i]
for j in range(i + 1, n):
soma -= A[i][j] * x[j]
x[i] = soma / A[i][i]

return x

# Exemplo de sistema linear 3x3


A = [[20, 7, 9],
[7, 30, 8],
[9, 8, 30]]

b = [16, 38, 38]

# Chama a função para resolver o sistema


x = eliminacao_de_gauss(A, b)

# Imprime a solução
print("Solução do sistema:")
for i, valor in enumerate(x):
print(f"x{i+1} = {valor}")
Este código implementa a Eliminação de Gauss sem pivotamento para resolver um sistema
linear nxn representado pela matriz A e pelo vetor b. O resultado é armazenado no vetor x,
onde cada elemento x[i] é a solução correspondente à variável x_i do sistema.

Pode-se ajustar o exemplo fornecido para o tamanho e os valores do sistema linear desejado.
Certifique-se de que as dimensões da matriz A e do vetor b sejam compatíveis e que o sistema
seja consistente.
Percebe-se que o resíduo do resultado da implementação é menor que o do feito a mão:

Você também pode gostar