开普勒状态转移矩阵提供了一种进步任何给定的状态向量对于一个给定的时间步长,而不必执行冗长triple-coordinate转换(从笛卡尔坐标到开普勒元素、进展和背部)。这个过程已经被Shepperd广义,极大地优化了计算效率(1985)[1],谁
继续使用分数开普勒方程来计算相应的解决方案。生成的算法快一个数量级,提到三坐标转换,这使得它非常适合作为其他算法的基础,需要频繁的状态向量的进展。
这个程序实现了该算法的一个健壮的版本。小修正最初的版本是:更新Kepler-loop牛顿法,使用的是Halley-step。这种变化使得算法更加强劲,同时进一步提高了收敛速度。然而如果算法失败(不应该发生),慢triple-coordinate转换是自动启动的。
M-version和c++ - version已经包含在这个提交。c++版本可以编译通过发行
墨西哥人progress_orbit.c
在MATLAB命令提示符(在正确的目录)。编译(让我知道出错)之后,您可以运行一个小演示(test_STM.m)会产生类似于上面的截图;的情节因素的墨西哥人版本优于M-version。我的电脑这个平均为5.5倍,有时见顶不少于260倍。
引用:
[1]S.W. Shepperd,“万能的开普勒状态转移矩阵”。天体力学35(1985)页129 - 144 . DOI: 0008 - 8714/85.15
引用作为
Rody Oldenhuis (2023)。开普勒状态转移矩阵(墨西哥人)GitHub (https://github.com/rodyo/FEX-KeplerSTM/releases/tag/v1.4)。检索。
MATLAB版本兼容性
平台的兼容性
窗户 macOS Linux标签
版本使用GitHub缺省分支不能下载
版本 | 发表 | 发布说明 | |
---|---|---|---|
1.4 | GitHub上看到这个版本发布说明:https://github.com/rodyo/FEX-KeplerSTM/releases/tag/v1.4 |
||
1.3.0.0 | (链接到Github) |
|
|
1.2.0.0 | 更新联系信息(这一次,文件!) |
||
1.1.0.0 | 更新联系信息 |
||
1.0.0.0 |