我有一个名为 get_gradient 的简单函数,它接受一个 [[x,y,Vx,Vy]] 的 numpy 数组并返回(应该返回)一个 [[Vx,Vy,Ax,Ay]] 的数组。我想将我的 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