0
我有一個3D的numpy.ndarray,我需要計算其漸變,並獲得一個新的相同尺寸的ndarray。我使用numpy.gradient來做,但它返回的是一個列表。我怎樣才能讓np.gradient返回一個np.ndarray?爲什麼Numpy.gradient返回一個列表而不是ndarray?
force = np.gradient(phi)*(-1)
其中Phi是我300³矩陣,我不斷獲得
print(type(force))
type : <class 'list'>
你已經證明不應該產生您已示出的輸出的代碼; 'gradient'應該返回一個數組,'print(type(force))'不應該以這種格式產生輸出。你可以將你的代碼剝離到[仍然包含漏洞部分的最小值,並且在運行時仍然顯示錯誤](http://stackoverflow.com/help/mcve),然後發佈它? – user2357112 2015-04-06 03:26:23
給我們'phi'所以我們可以複製你的結果。這很奇怪,因爲'gradient'的文檔字符串表示它應該返回一個列表。你檢查過'np.gradient(phi)' - 也就是說'*( - 1)'是否是一個列表? – dbliss 2015-04-06 03:26:24