代码拉取完成,页面将自动刷新
import numpy as np
def Gauss (A,b) :
n=len (b) ;index=1;x = np.zeros (n)
for k in range (n) :
#'选主元'
a_max=0
for i in range (k,n) :
if abs (A [i] [k]) > a_max:
a_max = abs (A [i] [k])
r=i
if a_max < 0.00000001:
index=0
return
#'交换两行'
if r> k:
for j in range (k,n) :
z = A [k] [j]; A[k][j] = A[r][j]; A[r][j] = z
z = b [k] ;b [k] = b[r]; b[r] = z;
#"消元计算"
for i in range (k+1,n) :
m=A [i] [k]/ A[k][k]
for j in range (k+1,n) :
A [i] [j] = A[i][j] - m* A[k][j]
b [i] =b [i] -m* b[k]
#回代过程
if abs (A [n-1] [n-1]) < 0.0000001:
index=0
return
for k in range (n-1, 0-1, -1) :
for j in range (k+1,n) :b [k] = b[k] - A[k][j]*x[j]
x [k] =b [k] /A [k] [k]
return index,x
A= [[15,2,3,2],[3,15,6,5],[5,6,18,3],[6,5,4,13]]
b= [22,28,13,15]
print ("高斯列主元:{}".format(Gauss (A,b) ))
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。