import numpy as np
for i in range(len(x)):
if (np.floor(N[i]/2)==N[i]/2):
for j in range(N[i]/2):
pxd[i,j]=x[i]-(delta*j)*np.sin(s[i]*np.pi/180)
pyd[i,j]=y[i]-(delta*j)*np.cos(s[i]*np.pi/180)
else:
for j in range((N[i]-1)/2):
pxd[i,j]=x[i]-(delta*j)*np.sin(s[i]*np.pi/180)
pyd[i,j]=y[i]-(delta*j)*np.cos(s[i]*np.pi/180)
Run Code Online (Sandbox Code Playgroud)
有没有人有解决这个问题的想法?成功运行这些代码?
谢谢,
杰里米
Pav*_*vel 13
N=np.floor(np.divide(l,delta))
...
for j in range(N[i]/2):
Run Code Online (Sandbox Code Playgroud)
N[i]/2将是一个float64但是range()需要一个整数.只需将电话转为
for j in range(int(N[i]/2)):
Run Code Online (Sandbox Code Playgroud)
我带着同样的错误来到这里,尽管一个不同的起源。
这是由 1.12.0 和更新的 numpy 版本中不受支持的浮点索引引起的,即使代码应该被认为是有效的。
需要一个int类型,而不是一个np.float64
解决方法:尝试安装 numpy 1.11.0
sudo pip install -U numpy==1.11.0.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
67387 次 |
| 最近记录: |