Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def sprawdzZamien(a, i, n):
- if(a[i][i]==0):
- for k in range(i+1, n):
- if(a[k][i]!=0):
- a[i], a[k]=a[k], a[i]
- break
- if(a[i][i]==0):
- return False
- else:
- return True
- def gausse(tab, odp):
- a=tab
- n=len(tab)
- for i in range(n):
- a[i].insert(n+1, odp[i])
- if(not sprawdzZamien(a, 0, n)):
- return False
- for k in range(1,n):
- for i in range(k, n):
- if(not sprawdzZamien(a, k-1, n)):
- return False
- wsp=a[i][k-1]/a[k-1][k-1]
- for j in range(n+1):
- a[i][j]-=wsp*a[k-1][j]
- for i in range(n):
- for j in range(n+1):
- print ("{:>6}".format(a[i][j]), end="")
- print()
- if(a[n-1][n-1]==0):
- return False
- x=[]
- for i in range(n):
- x.append(0)
- for i in range(n-1, -1,-1):
- x[i]=a[i][n]/a[i][i]
- for c in range(n-1, i, -1):
- x[i]=x[i]-a[i][c]*x[c]/a[i][i]
- return x
- odp=gausse([[0, -3, -2], [1, 1, 2], [4, 1, 4]], [-2, -1, -2])
- print ("x =", odp)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement