索引错误:索引10000超出轴0的大小为10000的范围

时间:2015-12-17 11:33:16

标签: python spyder

我不知道如何防止这个错误,我试图在某个发射角度计算射弹的弹道轨迹 - > 0到10秒。

g=9.81
dt=1e3
v0=40
gamma=0.005
height=100
angle=math.pi/4
time=np.arange(0,10,dt)

def traj_fric(angle,v0):
    vx0=math.cos(angle)*v0
    vy0=math.sin(angle)*v0
    x=np.zeros(len(time))
    y=np.zeros(len(time))

    x[0],y[0]=0,0
    x[1],y[1]=x[0]+vx0*dt,y[0] +vy0*dt    
    i=1
    while y[i]>=0:
        f=0.5*gamma*(height-y[i])*dt
        x[i+1]=((2*x[i]-x[i-1]+f*x[i-1])/1+f)
        y[i+1]=((2*y[i]-y[i-1]+f*y[i-1])-g*dt**2)/1+f
        i=i+1
    x=x[0:i+1]
    y=y[0:i+1]
    return x,y,(dt*i), x[i]    

x,y,duration,distance=traj_fric(angle,v0)
print ('Distance:' ,distance)
print ('Duration:' ,duration)

1 个答案:

答案 0 :(得分:1)

列表索引基于零。

如果大小为10000,则最大索引为9999。