解個非齊次線性方程組

2022-06-11 21:48:14 字數 1408 閱讀 8983

某天作業要做乙個類似解方程組的操作,剛好在那個時候又在看永樂大帝的線性代數。想著看看能不能用**實現以下,當然只是很簡陋的操作了一下陣列而已,結果如下:

題目:西瓜5塊錢乙個,哈密瓜3塊錢乙隻,李子3個一塊錢,用100塊錢買水果,

其中西瓜、哈密瓜和李子都必須要有且總共100個,問西瓜、哈密瓜和李子要買多少個剛好湊足100塊錢。

**:

#

非齊次線性方程組: x+y+z=100 5x+3y+1/3z=100

import

fractions

a=[[1,1,1,100],[5,3,1/3,100]]

res=[0 for i in

range(len(a[0]))]

#非齊次線性

#化為階梯型矩陣

defchangem(x,y):

if(x>len(a) and y>len(a[0])):

return

else

:

#判斷對角的值是否為1

if(a[x][y]==1):

k=-a[x+1][y]/a[x][y]

for i in

range(len(a[x])):

res[i] = k*a[x][i]

for j in range(len(a[x+1])):

a[x+1][j] = res[j] + a[x+1][j]

x=x+1y=y+1changem(x, y)

elif(a[x][y] ==0):

return

else

:

#整行乘對角值的倒數

k = 1/a[x][y]

for i in

range(len(a[x])):

a[x][i] = a[x][i] *k

# a[x-1][i] = a[x-1][i] -a[x][i]

#print(a[x-1][i])

defsolvethispromble(a):

j=1for i in range(100):

x = a[0][3]-a[0][2]*i

y = a[1][3]-a[1][2]*i

#能被3整除的數

if(i%3==0 and 0):

if(1and 1):

print("

第"+str(j)+"

組解:"

)

print

(i)

print

(int(x))

print

(int(y))

j=j+1changem(0,0)

solvethispromble(a)

齊次線性方程組和非齊次線性方程組

定義齊次線性方程組 等式右側常數項全部為0 非齊次線性方程組 等式右側常數項不全部為0 2.齊次方程組的求解 將係數矩陣化為行階梯形矩陣,記全為0的行數量為r n r a 則非零行的首非零元所在列對應的就是約束變數,其餘變數即為自由變數。將後r個自由變數未知數,每次只有乙個取值為1 其餘為0 然後每...

齊次線性方程組和非齊次線性方程組

1 常數項不同 齊次線性方程組的常數項全部為零,非齊次方程組的常數項不全為零。2 表示式不同 齊次線性方程組表示式 ax 0 非齊次方程組程度常數項不全為零 ax b。齊次線性方程組求解步驟 1 對係數矩陣a進行初等行變換,將其化為行階梯形矩陣 2 若r a r n 未知量的個數 則原方程組僅有零解...

6 9 齊次線性方程組

什麼是齊次線性方程組?每乙個方程等號右邊的數都為 0 舉例 三元齊次線性方程組 執行高斯 約旦消元法 對於齊次線性方程組來說 是一定有解的。因為,對於齊次線性方程組來說,方程等式都為0,那至少有乙個解 0 所以是有唯一解 0 還是無數解?根據之前的總結判斷 係數矩陣非零行個數 與 未知數個數 2 3...