1 #encoding=utf-8 2 import numpy as np 3 # 输入数据 4 # a用来记录x的系数 5 a=[[-18.0,3.0,-1.0],[12.0,-3.0,3.0],[1.0,1.0,1.0]] 6 # b用来记录 y 7 b=[-15.0,15.0,6.0] 8 # n用来记录方程的个数 9 n=len(b) 10 # 定义x 11 x=[0.0 for p in range(n)] 12 #求上矩阵 13 for k in range(0,n-1): 14 for i in range(k+1,n): 15 # k表示两行元素之间的倍数 16 f=a[i][k]/a[k][k] 17 # 18 for j in range(k,n): 19 a[i][j]=a[i][j]-f*a[k][j] 20 b[i]=b[i]-f*b[k] 21 #求x的值 22 x[n-1]=b[n-1]/a[n-1][n-1] 23 # x.insert(-1,b[n-1]/a[n-1][n-1]) 24 for i in range(n-2,-1,-1): 25 sum=b[i] 26 for j in range(i+1,n): 27 sum=sum-a[i][j]*x[j] 28 xi=sum/a[i][i] 29 x[i]=xi 30 # x.insert(-1,xi) 31 for xi in x: 32 print xi;