作者dramon (Dr.)
看板Python
標題[問題] 關於計算Ax=b
時間Mon Jan 11 19:51:52 2016
各位前輩
小的最近在解千元一次方程式
Amatrix為1000휱000個值用逗點隔開,如下:
2,3,4,1
2,3,2,2
bvector 為1000個值以換行表示
2
3
4
我想利用numpy去解決這個問題,程式碼如下:
import numpy
f=open("bvector.txt","r")
b=f.read().splitlines()
g=open("Amatrix.txt","r")
A= [line.split(',') for line in g.readlines()]
bnp=numpy.array(b)
Anp=numpy.array(A)
x=numpy.linalg.solve(Anp,bnp)
print x
出現錯誤
Traceback (most recent call last):
File "program29.py", line 8, in <module>
x=numpy.linalg.solve(Anp,bnp)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/py
thon/numpy/linalg/linalg.py", line 382, in solve
return wrap(r.astype(result_t))
AttributeError: 'NotImplementedType' object has no attribute 'astype'
我試圖解決這個問題,不過沒有眉目,跪求各位大大幫我解決…
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.241.73.109
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1452513114.A.BAE.html
→ ccwang002: 你把 Anp bnp print 出來或看一下 dtype,感覺是字串 01/11 21:17
推 yogi: 感覺應該是樓上說的那樣 小建議: 用numpy來進行數值運算, 如 01/12 14:47
→ yogi: 果要從純數據檔案中讀入數據的話, 可以多多使用np.loadtxt() 01/12 14:47
→ painkiller: 感覺是讀檔讀到怪怪的東西 整個數列資料型態不對 01/14 13:31
→ painkiller: numpy.array(A).astype(float)先試試看 b也比照辦理 01/14 13:33
推 huei820504: 這樣一開始預設讀進來會是字串,要自己轉一下喔~ 01/16 21:15