[[x、y、Vx、Vy]] の numpy 配列を取り、[[Vx、Vy、Ax、Ay]] の配列を返す (返す必要がある) get_gradient という単純な関数があります。k[0][0:2] を state[0][2:4] に更新したいのですが、それらを印刷しても k の値は変わりません。最初の配列のコピーを作成して整理することを期待しましたが、それでも機能しません! どんな助けでも大歓迎です
Y = numpy.array([[0, 0, 0, 0]]) # [x,y,Vx,Vy]
k = numpy.array([[0, 0, 0, 0]]) # [x,y,Vx,Vy]
def get_gradient(Y):
state = Y.copy()
spring_force = spring.force(state[0], feet_pos[0])
brownian_force = mass.brownian(dt)
drag_force = mass.drag(state[0][2:4])
total_force = spring_force + brownian_force + drag_force #2d array [Fx,Fy]
k[0][0:2] = state[0][2:4] ##### DOESN'T WORK!!!
k[0][2:4] = total_force/mass.mass ##### but this works :s
print k[0][0:2]
print state[0][2:4]
return k