某天作業要做乙個類似解方程組的操作,剛好在那個時候又在看永樂大帝的線性代數。想著看看能不能用**實現以下,當然只是很簡陋的操作了一下陣列而已,結果如下:
題目:西瓜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)+"
組解:"
)
(i)
(int(x))
(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...