Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- print("Question 9")
- import numpy as np
- def FE(M):
- m,n=A.shape
- for i in range(n-1):
- for j in range(i+1,m):
- Ab[j,:]=Ab[j,:]-Ab[j,i]/Ab[i,i]*Ab[i,:]
- return Ab
- def BS(Ab):
- m,n=Ab.shape
- n-=1
- x=np.empty(n)
- for i in range(n-1,-1,-1):
- sum=0
- for j in range (i+1,n):
- sum+=Ab[i,j]*x[j]
- x[i]=(Ab[i,n]-sum)/Ab[i,i]
- return x
- def BE(M):
- m,n=A.shape
- for i in range (n-1,-1,-1):
- for j in range(0,i):
- Ab[j,:]=Ab[j,:]-Ab[j,i]/Ab[i,i]*Ab[i,:]
- return Ab
- def gauss(Ab):
- Ab = FE(Ab)
- return BS(Ab)
- def gaussjordan(Ab):
- Ab = FE(Ab)
- Ab=BE(Ab)
- return BS(Ab)
- A = np.array([[4,-1,0,3],[-2,3,1,-5],[1,1,-1,2],[3,2,-4,0]],dtype=float)
- b = np.array([[10,-3,2,4]],dtype=float).T
- Ab = np.concatenate([A,b],1)
- print(gauss(Ab))
- print(gaussjordan(Ab))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement