Beruflich Dokumente
Kultur Dokumente
def imprime_matriz(matriz):
for i in range(len(matriz)):
for j in range(len(matriz[0])):
print (matriz[i][j],'\t',end = '')
print()
def gauss(a,b):
print("\n")
n = len(b)
for k in range (0, (n-1)):
for i in range ((k+1), n):
if a[k][k] == 0:
a = troca_linha(a,k,k+1)
b = troca_linha(b,k,k+1)
else:
if a[i][k]!= 0:
mult = a[i][k]/a[k][k]
for j in range(n):
a[i][j] = a[i][j] - (a[k][j]*mult)
b[i] = b[i] - (b[k]*mult)
return matriz_solucao(a,b)
def matriz_solucao(a,b):
n = len(a[0])
matriz_coef =[0.0]*n
for i in range(n):
if a[n-i-1][n-i-1] != 0.0:
soma = 0.0
for j in range(n):
if n-i-1 !=j:
soma = soma + a[n-i-1][j]*matriz_coef[j]
matriz_coef[n-i-1] = ( b[n-i-1] - soma ) / a[n-i-1][n-i-1]
return matriz_coef
#a = [1.0/8,2.0/10,2.0/5],[3.0/8,5.0/10,3.0/5],[4.0/8,3.0/10,0]
#b = [2.3,4.8,2.9]
a = [[0, 1, 5],
[2, 6, -1],
[4, -3, 2]]
b = [8,9,11]
print(gauss(a,b))