Advertisement
khaiwen1111

Untitled

Nov 20th, 2019
175
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.87 KB | None | 0 0
  1. print("Question 9")
  2. import numpy as np
  3. def FE(M):
  4.     m,n=A.shape
  5.     for i in range(n-1):
  6.         for j in range(i+1,m):
  7.             Ab[j,:]=Ab[j,:]-Ab[j,i]/Ab[i,i]*Ab[i,:]
  8.     return Ab
  9. def BS(Ab):
  10.     m,n=Ab.shape
  11.     n-=1
  12.     x=np.empty(n)
  13.     for i in range(n-1,-1,-1):
  14.         sum=0
  15.         for j in range (i+1,n):
  16.             sum+=Ab[i,j]*x[j]
  17.         x[i]=(Ab[i,n]-sum)/Ab[i,i]
  18.     return x
  19. def BE(M):
  20.     m,n=A.shape
  21.     for i in range (n-1,-1,-1):
  22.         for j in range(0,i):
  23.             Ab[j,:]=Ab[j,:]-Ab[j,i]/Ab[i,i]*Ab[i,:]
  24.     return Ab
  25. def gauss(Ab):
  26.     Ab = FE(Ab)
  27.     return BS(Ab)
  28.  
  29. def gaussjordan(Ab):
  30.     Ab = FE(Ab)
  31.     Ab=BE(Ab)
  32.     return BS(Ab)
  33. A = np.array([[4,-1,0,3],[-2,3,1,-5],[1,1,-1,2],[3,2,-4,0]],dtype=float)
  34. b = np.array([[10,-3,2,4]],dtype=float).T
  35. Ab = np.concatenate([A,b],1)
  36. print(gauss(Ab))
  37. print(gaussjordan(Ab))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement