栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在python中绘制轨道轨迹

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在python中绘制轨道轨迹

如您所显示的,您可以将其编写为一个包含六个一阶ode的系统:

x' = x2y' = y2z' = z2x2' = -mu / np.sqrt(x ** 2 + y ** 2 + z ** 2) * xy2' = -mu / np.sqrt(x ** 2 + y ** 2 + z ** 2) * yz2' = -mu / np.sqrt(x ** 2 + y ** 2 + z ** 2) * z

您可以将其另存为矢量:

u = (x, y, z, x2, y2, z2)

并因此创建一个返回其派生函数:

def deriv(u, t):    n = -mu / np.sqrt(u[0]**2 + u[1]**2 + u[2]**2)    return [u[3],      # u[0]' = u[3] u[4],      # u[1]' = u[4] u[5],      # u[2]' = u[5] u[0] * n,  # u[3]' = u[0] * n u[1] * n,  # u[4]' = u[1] * n u[2] * n]  # u[5]' = u[2] * n

给定一个初始状态

u0 = (x0, y0, z0, x20, y20,z20)
和一个time变量
t
,可以这样输入
scipy.integrate.odeint

u = odeint(deriv, u0, t)

u
上面的列表在哪里。或者你也可以解包
u
从一开始,并忽略这些值
x2
y2
z2
(你必须先转输出
.T

x, y, z, _, _, _ = odeint(deriv, u0, t).T


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/662117.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号