我正在研究计算物理学中的弹丸运动问题,我想对数组中的 x 和 y 坐标执行不同的数学运算。我正在努力解决的代码是在 for 循环中进行索引。我尝试了不同的索引形式,但不断收到错误,例如“无法将输入数组从形状 (2,2) 广播到形状 (2)”和“使用序列设置数组元素”。g = 9.81theta = 30dt = 0.1t = 5n = int(t/dt)t = zeros(n)r = zeros((n, 2), float)v = zeros((n, 2), float)a = zeros((n, 2), float)r[0] = array([0,0])v[0] = array([10*cos(theta), 10*sin(theta)])t[0] = 0for i in range(n-1): v[i+1] = v[0] - g*dt r[i+1] = r[i] + v[i]*dt t[i+1] = t[i] + dt插入的代码显示了具有不同值的两列(v[x,y] 和 r[x,y]),其中只有 y 坐标是正确的。这是因为 x 坐标应该是恒定的。我不明白如何使x坐标恒定,只对y坐标进行操作。我希望结果计算为:v[i+1] = v[0] # x-coordinatev[i+1] = v[0] - g*dt # y-coordinate
添加回答
举报
0/150
提交
取消