2013-04-18 116 views
0

我不得不以下代碼以堆疊陣列和解決方程系統:堆疊陣列使用vstack

1  import numpy as np 
2  from numpy.linalg import solve 

3  xi = np.array([-1., 1., -2]) 
4  yi = np.array([0., 4., 3.]) 
5  A = np.vstack([np.ones(3), xi, xi**2]).T 
6  b = yi 

7  c = solve(A,b) 

然後在此之後我有代碼來執行的曲線圖,但我得到就行錯誤5.它說:

TypeError: 'function' object has no attribute '__getitem__' 

我該如何解決這個問題?

+0

這是一個非常有趣的錯誤。你確定你沒有得到一個'AttributeError'? (沒有屬性'T') – mgilson

+0

@mgilson我已經瞭解了其他所有錯誤。但轉置似乎很好 – MITjanitor

+0

您試圖轉換一個不起作用的列表。 – mgilson

回答

2

它看起來像你有你的括號混淆。上面打印的代碼在第5行有不匹配的括號:([...)]因此它給出了一個SyntaxError。我猜測你實際使用的版本是[(...)],它給出你報告的錯誤。問題在於,當python語法需要圓括號時,你正在試圖使用方括號來調用一個函數。試着把方括號換一行:([...])然後代碼在我的系統上運行良好。

編輯:我編輯了這個問題,而我輸入這個,所以忽略前兩句。我仍然懷疑在實際運行的代碼中括號的順序是錯誤的。

+0

我絕對同意。 – tacaswell