为了账号安全,请及时绑定邮箱和手机立即绑定

对二维数组中的坐标进行单独操作

对二维数组中的坐标进行单独操作

人到中年有点甜 2022-06-02 18:18:30
我正在研究计算物理学中的弹丸运动问题,我想对数组中的 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
查看完整描述

1 回答

?
哈士奇WWW

TA贡献1799条经验 获得超6个赞

你只需要像这样索引 y 部分

v[i+1, 1] = v[i,1] - g*dt


查看完整回答
反对 回复 2022-06-02
  • 1 回答
  • 0 关注
  • 127 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号