看板 Python 關於我們 聯絡資訊
因為問題解決了,所以自回一下 感謝KSJ大的提醒,確實是因為matrix的資料型態有問題 將其轉換為float就可以算了,相關程式碼如下: import pandas as pd import numpy as np data = pd.read_csv('../MQ35/20140101_20170728.csv') cS = np.delete(data.as_matrix(), 0, 1) y = np.vstack(cS[1:, :]).astype(np.float) x = np.vstack(cS[:-1, :]).astype(np.float) np.linalg.inv(np.dot(x.T, x) ※ 引述《sonicstars (昊旱)》之銘言: : 各位前輩大家好 : 我利用numpy.linalg.inv求算反矩陣的時候遇到了無法求解的問題 : 我的matrix名稱為betai,其數值如下 : [[3935.3477999999996 2495.1955999999996 1586.1095] : [2495.1955999999996 1582.2803999999999 1005.8091999999998] : [1586.1095000000000 1005.8091999999998 639.3906]] : matrix的其他資訊 : https://imgur.com/Db0cwTO : 然後會跳這個錯誤訊息 : https://imgur.com/x8LClWD : https://imgur.com/6PbCMm2 : 在爬版之後原本以為與這位的問題差不多 : https://www.ptt.cc/bbs/Python/M.1466588274.A.BAD.html : 使用這位先進的解法 : https://www.ptt.cc/bbs/Python/M.1466650959.A.B2B.html : 撰寫程式碼: : betai = numpy.dot(x.T, x) : IMatrix = numpy.eye(betai.shape[1]) : B = IMatrix - betai : binv = numpy.linalg.solve(betai, B) : 則是跳出這樣的錯誤訊息 : https://imgur.com/jIObslM : https://imgur.com/bup14A9 : 請問我是否漏了什麼?是否有其他的方法可以求反矩陣? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.73.99.20 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1506259983.A.BB2.html ※ 編輯: sonicstars (140.113.125.85), 09/25/2017 06:24:29