如何用Mathematica计算三体问题
的有关信息介绍如下:本经验讲解用数学软件Mathematica编写程序,
计算三体问题轨迹,
绘图以及导出Gif.
首先,确定三个星体的坐标分别用X1,Y1, X2,Y2 X3,Y3表示。
为保险起见,将这几个变量Remove.
然后设定三个星体的初始位置和初速度。
然后设置三个星体的质量M1,M2,M3, 万有引力常数G, 解算时间TMAX,
(还有绘图相关:动画的时间间隔DeltaTime, 绘图范围MyLTBR(就是上下左右的距离))
为了避免三个星体越跑越远,我们需要在质心系中观察。因此相对质心算出速度偏移,并依次减去。
定义三个星体的水平竖直两个方向上的受力。写成函数。
使用NDSolve,带入函数,带入初始条件,设置解算范围为0~TMAX, 计算轨迹X1,Y1, X2,Y2 X3,Y3。
数据计算到此完成,然后进入画图环节。
计算三个球体的显示大小。
从NDSolve的解算结果取出答案。
使用Graphics嵌套三个Disk画出三个圆点,然后Show函数结合ParametricPlot(轨迹图)以及Graphics里三个圆点。
最外面嵌套一个Table生成一个图片列表。
使用列表帧动画函数ListAnimate得到动画。
使用Export方法导出Gif。最终效果如下。