-
大小: 1KB文件類型: .py金幣: 1下載: 1 次發布日期: 2021-06-12
- 語言: Python
- 標簽: python??LU分解??Doolittle法??
資源簡介
在網上找了很久都找不到python編寫的,于是自己寫了,在這里分享一下,代碼調試通過,有詳細注釋。這里主要編寫了一個自定義函數Doolittle(A,B)用于解AX=B的方程組,途中輸出L、U矩陣和中間矩陣y和最終的解x。希望對大家有幫助!
代碼片段和文件信息
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
評論
共有 條評論