導航:首頁 > 編程語言 > python中浮點數矩陣求逆

python中浮點數矩陣求逆

發布時間:2022-08-28 02:56:36

1. 用python實現三階矩陣的求逆

你好,下面是一個對應的三階矩陣求逆的代碼

importwarnings
warnings.filterwarnings("ignore")
matrix1=[
[1,2,0,0],
[3,4,0,0],
[0,0,4,1],
[0,0,3,2],
]
matrix2=[
[1,0,-1,2,1],
[3,2,-3,5,-3],
[2,2,1,4,-2],
[0,4,3,3,1],
[1,0,8,-11,4],
]
matrix3=[
[1,0,-1,2,1,0,2],
[1,2,-1,3,1,-1,4],
[2,2,1,6,2,1,6],
[-1,4,1,4,0,0,0],
[4,0,-1,21,9,9,9],
[2,4,4,12,5,6,11],
[7,-1,-4,22,7,8,18],
]

defstep0(m):
n=len(m)
l=[]
foriinrange(0,n):
l.append([])
forjinrange(0,n):
ifi==j:
l[i].append(1)
else:
l[i].append(0)
returnl
defstep1(m):
n=len(m)
"""交換操作記錄數組swap"""
swap=[]
l=[]
foriinrange(0,n):
swap.append(i)
l.append([])
forjinrange(0,n):
l[i].append(0)
"""對每一列進行操作"""
foriinrange(0,n):
max_row=m[i][i]
row=i
forjinrange(i,n):
ifm[j][i]>=max_row:
max_row=m[j][i]
#globalrow
row=j
swap[i]=row
"""交換"""
ifrow!=i:
forjinrange(0,n):
m[i][j],m[row][j]=m[row][j],m[i][j]
"""消元"""
forjinrange(i+1,n):
ifm[j][i]!=0:
l[j][i]=m[j][i]/m[i][i]
forkinrange(0,n):
m[j][k]=m[j][k]-(l[j][i]*m[i][k])
return(swap,m,l)
defstep2(m):
n=len(m)
long=len(m)-1
l=[]
foriinrange(0,n):
l.append([])
forjinrange(0,n):
l[i].append(0)
foriinrange(0,n-1):
forjinrange(0,long-i):
ifm[long-i-j-1][long-i]!=0andm[long-i][long-i]!=0:
l[long-i-j-1][long-i]=m[long-i-j-1][long-i]/m[long-i][long-i]
forkinrange(0,n):
m[long-i-j-1][k]=m[long-i-j-1][k]-l[long-i-j-1][long-i]*m[long-i][k]

return(m,l)
defstep3(m):
n=len(m)
l=[]
foriinrange(0,n):
l.append(m[i][i])
returnl

defgauss(matrix):
n=len(matrix)
new=step0(matrix)
(swap,matrix1,l1)=step1(matrix)
(matrix2,l2)=step2(matrix1)
l3=step3(matrix2)
foriinrange(0,n):
ifswap[i]!=i:
new[i],new[swap[i]]=new[swap[i]],new[i]
forjinrange(i+1,n):
forkinrange(0,n):
ifl1[j][i]!=0:
new[j][k]=new[j][k]-l1[j][i]*new[i][k]
foriinrange(0,n-1):
forjinrange(0,n-i-1):
ifl2[n-1-i-j-1][n-1-i]!=0:
forkinrange(0,n):
new[n-1-i-j-1][k]=new[n-1-i-j-1][k]-l2[n-1-i-j-1][n-i-1]*new[n-1-i][k]
foriinrange(0,n):
forjinrange(0,n):
new[i][j]=new[i][j]/l3[i]
returnnew
x1=gauss(matrix1)
x2=gauss(matrix2)
x3=gauss(matrix3)
print(x1)
print(x2)
print(x3)

2. 逆矩陣怎麼求

01
最簡單的辦法是用增廣矩陣。如果要求逆的矩陣是A,則對增廣矩陣(AE)進行初等行變換,E是單位矩陣,將A化到E,此時此矩陣的逆就是原來E的位置上的那個矩陣,原理是A逆乘以(AE)=(EA逆)初等行變換就是在矩陣的左邊乘以A的逆矩陣得到的。

高斯消元法是最經典也是最廣為人知的一種矩陣求逆方法,但是在現實應用中很少用到高斯消元法來進行矩陣的逆矩陣的求解。高斯消元法有兩個版本:行變換版本與列變換版本,在日常應用中行變換應用的更廣泛。這兩個基本原理都是相同的。高斯消元法先將矩陣A與單位矩陣I進行連接形成一個新的增廣矩陣。兩個可逆矩陣的乘積依然可逆。矩陣可逆當且僅當它是滿秩矩陣。

3. 求逆矩陣怎麼用python源代碼實現

加上頭文件

fromnumpyimport*


矩陣有幾個特有的屬性:

(a).T--返回自身的轉置

(b).H--返回自身的共軛轉置

(c).I--返回自身的逆矩陣

(d).A--返回自身數據的2維數組的一個視圖

4. 求解答,帶小數點的矩陣的逆矩陣怎麼算

只幫你算一個,其它自己算。先寫出增廣矩陣,再行行變換: 1 2 2 1 0 0 (1) 2 1 -2 0 1 0 2 -2 1 0 0 1 1 2 2 1 0 0 上一個矩陣 --> 0 -3 -6 -2 1 0 第一行×(-2)+第二行 0 -6 -3 -2 0 1 第一行×(-2)+第三行, 1 2 2 1 0 0 上一個矩陣 --> 0 1 2 2/3 -1/3 0 第二行×(-1/3) 0 2 1 2/3 0 -1/3 第三行×(-1/3) 1 2 2 1 0 0 --> 0 1 2 2/3 -1/3 0 上一個矩陣 0 0 -3 -2/3 2/3 -1/3 第二行×(-2)+第三行 1 2 2 1 0 0 --> 0 1 2 -2/3 1/3 0 上一個矩陣 0 0 1 2/9 -2/9 1/9 第三行×(-1/3) 1 2 2 1 0 0 上一個矩陣 --> 0 1 0 -10/9 7/9 -2/9 第三行×(-2) +第二行 0 0 1 2/9 -2/9 1/9 1 0 0 25/9 -10/9 2/9 第三行×(-2) +第二行×(-2) +第一行 --> 0 1 0 -10/9 7/9 -2/9 0 0 1 2/9 -2/9 1/9因此,矩陣(1)的逆矩陣是(增廣部分變換後所得) 25/9 -10/9 2/9 -10/9 7/9 -2/9 2/9 -2/9 1/9

5. python 矩陣的問題

這個只是為了聲明數值的具體類型。

注意看,直接寫1,就是int數值型,寫1.那就是float型

6. python怎麼實現矩陣的除法

1、首先打開pycharm軟體,新建一個python文件並導入numpy庫。

7. 求逆矩陣的方法

求矩陣的逆的三種方法:1.待定系數法、2.伴隨矩陣求逆矩陣、3.初等變換求逆矩陣。在數學中,矩陣(Matrix)是一個按照長方陣列排列的復數或實數集合,最早來自於方程組的系數及常數所構成的方陣。這一概念由19世紀英國數學家凱利首先提出。
矩陣是高等代數學中的常見工具,也常見於統計分析等應用數學學科中。在物理學中,矩陣於電路學、力學、光學和量子物理中都有應用;計算機科學中,三維動畫製作也需要用到矩陣。 矩陣的運算是數值分析領域的重要問題。將矩陣分解為簡單矩陣的組合可以在理論和實際應用上簡化矩陣的運算。對一些應用廣泛而形式特殊的矩陣,例如稀疏矩陣和准對角矩陣,有特定的快速運算演算法。關於矩陣相關理論的發展和應用,請參考《矩陣理論》。在天體物理、量子力學等領域,也會出現無窮維的矩陣,是矩陣的一種推廣。

8. 矩陣求逆,請問這段代碼有什麼問題為什麼對於數據比較奇怪的6X6矩陣,算不出正確的逆矩陣

我沒細看你的代碼
首先,第一組循環(先確保增廣矩陣前半部分對角線上所有元素都不為0)應該放到初等變換的過程中,因為變換過程中對角元會變化,不能事先預判
然後,行交換時不應該等到出現零對角元了才交換,而應該總是把模最大的元素換到對角元(這個稱為選主元),因為你這里的數都是浮點數,需要考慮數值穩定性
別的沒看,你先把這兩點改一下再說

再給你個參考程序( MATLAB),是按同一種思路寫的
http://..com/question/874769421823864732

閱讀全文

與python中浮點數矩陣求逆相關的資料

熱點內容
脈脈app干什麼用的 瀏覽:357
拽姐是哪個app 瀏覽:858
雲伺服器刪除了還有嗎 瀏覽:232
macbook可以用單片機嘛 瀏覽:307
南陽php招聘 瀏覽:814
去哪裡找按摩師很漂亮的app 瀏覽:818
86x99用簡便演算法計算 瀏覽:830
php截圖flash 瀏覽:273
卸載聯想app哪個好 瀏覽:719
php文字轉圖片 瀏覽:331
豆客後台怎麼加密碼 瀏覽:574
jpg轉換pdf破解版 瀏覽:978
php基礎書籍推薦 瀏覽:778
伺服器與外網不通如何驗證 瀏覽:351
電子版是不是就是文件夾 瀏覽:51
游戲屬性文件加密 瀏覽:464
如何讓安卓手機桌面圖標下移 瀏覽:530
ubuntuphp5環境搭建 瀏覽:101
賭癮解壓視頻 瀏覽:919
晉城移動dns伺服器地址 瀏覽:296