This repository has been archived on 2025-01-25. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
MO_pracadomowa/gaussa/gaussa.py
2024-12-13 19:22:13 +01:00

45 lines
805 B
Python

def gaussa(a, b):
n = len(b)
for s in range(n - 1):
for i in range(s + 1, n):
factor = a[i][s] / a[s][s]
for j in range(s, n):
a[i][j] -= factor * a[s][j]
b[i] -= factor * b[s]
x = [0] * n
for i in range(n - 1, -1, -1):
x[i] = (b[i] - sum(a[i][j] * x[j] for j in range(i + 1, n))) / a[i][i]
return x
A = [
[4.88, -2.91, 1.34],
[1.34, 5.3, -3.31],
[2.18, -3.49, 6.7]
]
B = [7.86, -2.28, 4.47]
solutions = gaussa(A, B)
print("Macierz A:")
for x in A:
for a in x:
print(round(a, 2), end=" ")
print()
print()
print("Macierz B:")
for b in B:
print(round(b, 2), end=" ")
print("\n")
print("Rozwiązania: ")
i = 1
for x in solutions:
print(f"x{i} = {round(x, 2)}")
i += 1