gaussa
This commit is contained in:
44
gaussa/gaussa.py
Normal file
44
gaussa/gaussa.py
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
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
|
||||||
Reference in New Issue
Block a user