Python高斯消除矩阵
高斯消除矩阵
#!/usr/bin/envpython #-*-coding:utf-8-*- # defpprint(A): foriinA: print(i) print("") data=[ [1,2,1,2], [3,8,1,12], [0,4,1,2] ] n=len(data) print("输入数据") pprint(data) foriinrange(n): print("第{}次操作".format(i)) maxE=abs(data[i][i]) #最大值在第几行 maxRow=i forkinrange(i+1,n): ifabs(data[k][i]>maxE): maxE=abs(data[k][i]) maxRow=k #当前行交换最大的行 forkinrange(i,n+1): data[maxRow][k],data[i][k]=data[i][k],data[maxRow][k] print("当前行交换最大的行交换结果") pprint(data) #改0 forkinrange(i+1,n): c=-data[k][i]/data[i][i] print(-data[k][i],"/",data[i][i]) forjinrange(i,n+1): ifi==j: data[k][j]=0 else: data[k][j]+=c*data[i][j] print("改0结果") pprint(data) #化简后结果 print("化简结果") pprint(data) #结果计算 result=[0foriinrange(n)] foriinrange(n-1,-1,-1): result[i]=data[i][n]/data[i][i] forkinrange(i-1,-1,-1): data[k][n]-=data[k][i]*result[i] print(result)
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对毛票票的支持。如果你想了解更多相关内容请查看下面相关链接