-
大小: 1KB文件類型: .py金幣: 1下載: 1 次發(fā)布日期: 2021-06-12
- 語(yǔ)言: Python
- 標(biāo)簽: python??LU分解??Doolittle法??
資源簡(jiǎn)介
在網(wǎng)上找了很久都找不到python編寫(xiě)的,于是自己寫(xiě)了,在這里分享一下,代碼調(diào)試通過(guò),有詳細(xì)注釋。這里主要編寫(xiě)了一個(gè)自定義函數(shù)Doolittle(A,B)用于解AX=B的方程組,途中輸出L、U矩陣和中間矩陣y和最終的解x。希望對(duì)大家有幫助!
代碼片段和文件信息
import?numpy?as?np
def?Doolittle(Bb):
????A?=?np.array(B)
????n?=?len(A)
????L?=?np.zeros(shape=(nn))
????U?=?np.zeros(shape=(nn))
????
????for?k?in?range(n-1):
????????gauss_vector?=?A[:k]
????????gauss_vector[k+1:]?=?gauss_vector[k+1:]?/?gauss_vector[k]
????????gauss_vector[0:k+1]?=?np.zeros(k+1)
????????L[:k]?=?gauss_vector
????????L[k][k]?=?1.0
????????
????????for?l?in?range(k+1n):
????????????B[l:]?=?B[l:]?-?gauss_vector[l]?*?B[k:]
????????
????????A?=?np.array(B)
????L[k+1][k+1]?=?1.0
????U?=?A
????print(“U?is“)
????print(U)
????print(“L?is“)
????print(L)
????
????Y?=?np.zeros(n)
????X?=?np.zeros(n)
????Y[0]=b[0]
????for?i?in?ra
評(píng)論
共有 條評(píng)論