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