求2,3元線性方程組的解(python代碼)


a = []
iu=[]
num=input('請輸入是幾元:')    #輸入要求解的線性方程組是幾元的
count=0
for i in range(num*(num+1)):        #將方程組對齊,把系數提出來做矩陣,之后按列輸入進去存儲起來
u = input('請輸入第%d個數:' %(i+1))
iu.append(u)
if (i+1) % num == 0:
a.append(iu)
iu=[]

def fun(list):            #傳入參數list(list是一個二維列表)
sum = sum1 = 0
for z in range(num):          #計算從左往右斜乘積之和
ss=1
row=-1
for g in range(z,z+num):
row+=1
ss *= list[row][g % num]
sum+=ss
for i in range(num-1, -1, -1):    #計算從右往左斜乘積之和
zz=1
row = -1
for u in range(i,i-num,-1):
row+=1
if u<0:
zz*=list[row][num+u]
else:
zz*=list[row][u]
sum1+=zz
a1 = sum - sum1          #從右往左斜乘積之和減去從右往左斜乘積之和
return a1        #返回結果值a


y=fun(a)            #得到分母的值,即系數行列式的值
for c in range(num):      #把值組成的列替換第1至num列的其中一列
ff=a[:]
ff[c]=a[num]
print "x%d的值為:%d"%((c+1),(fun(ff)/y))    #得到num元方程組的未知數的解



#樣列輸入:

請輸入是幾階:3
請輸入第1個數:7
請輸入第2個數:9
請輸入第3個數:0
請輸入第4個數:2
請輸入第5個數:0
請輸入第6個數:1
請輸入第7個數:3
請輸入第8個數:2
請輸入第9個數:1
請輸入第10個數:0
請輸入第11個數:2
請輸入第12個數:7

 

#樣列輸出
x1的值為:-6
x2的值為:-21
x3的值為:28

 

7*x1+2*x2+3*x3=0

9*x1+0*x2+2*x3=2

0*x1+1*x2+1*x3=7

求出來的是該三元線性方程組的解。




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM