《小行星轨道问题解》由会员分享,可在线阅读,更多相关《小行星轨道问题解(6页珍藏版)》请在金锄头文库上搜索。
1、小行星轨道问题学号: 专业: 班级: 姓名:摘要:要确定一颗小行星绕太阳运行的轨道,需要在轨道平面内建立以太阳为原点的空间直角坐标系,然后在不同时刻对小行星进行观测,以确定其轨道。由于观测所得到的数据较多,但毫无疑问是存在误差的。因此,应该尽量使用到这些数据来求最优解。关键字:椭圆,最优解,最小二乘法,Matlab,Lingo问题描述:要确定一颗小行星绕太阳运行的轨道,需要在轨道平面内建立以太阳为原点的空间直角坐标系,然后在不同时刻对小行星进行观测,以确定其轨道。已知在 5 个不同时刻对某颗小行星进行了 5 次观测,表 B 给出了相应的观测数据。表 1:某小行星的 5 次观测数据(单位:天文单
2、位)1 2 3 4 5X 坐标 5.764 6.286 6.759 7.168 7.480Y 坐标 0.648 1.202 1.832 2.526 3.360注:一个天文单位等于地球到太阳的平均距离,即 米。101.49578你所要作的工作是:确定这颗小行星的轨道,如椭圆的半长轴、半短轴、半焦距、近日点、远日点,以及椭圆轨道的周长等。题解:由开普勒第一定律:太阳系中的所有行星围绕太阳运动的轨道都是椭圆,太阳处在所有椭圆的一个焦点上。 可知:此小行星的轨道为椭圆,太阳是这个椭圆的一个焦点。下面以此为前提来求解小行星的轨道方程。由于题目提供了 5 组观测数据,这里有两种可行的方法:1、仅考虑椭圆上
3、的这 5 个点,不考虑太阳的位置(不一定是焦点),设椭圆轨道方程为一般方程 012254231 yaxyaxa然后代入 5 个点的坐标,使用 matlab 算出结果。2、在考虑太阳的位置(必须是焦点)基础上,对另外五个点用最小二乘法的方法进行曲线拟合,求出最优解,从而得出方程,即认为这五个点都有一定的误差,拟合后得出最优解。详细步骤:1、第一种方法需要确定系数 利用已知的数据,不妨设,1,2345;ia欲确定系数 等价于求解一个线性方程组: ,;iixyia221131415222213334353244 4555010aayxyxaayaxy可写成矩阵的形式: AXb其中, , ,22111
4、233322444555xyxyx12345aXa1b即: 123453.27.01.91.280.96984745.6.3.3.5.16.7.1.2891.60.a 1可见,解答上述问题就是对线性方程进行求解。模型求解:1.1 利用 matlab 求解矩阵代码如下:A=33.2237,7.4701,0.4199,11.5280 ,1.2960;39.5138,15.1115 ,1.4448 ,12.5720 ,2.4040;45.6841, 24.6433 ,3.3233, 13.5180 ,3.6460;51.3802, 36.2127, 6.3807, 14.3360, 5.0520;5
5、4.8785, 49.7818, 11.2896, 14.8160 ,6.7200 B=-1 ;-1; -1; -1; -1 inv(A)*B结果:A =33.2237 7.4701 0.4199 11.5280 1.296039.5138 15.1115 1.4448 12.5720 2.4040 45.6841 24.6433 3.3233 13.5180 3.646051.3802 36.2127 6.3807 14.3360 5.052054.8785 49.7818 11.2896 14.8160 6.7200B =-1-1-1-1-1ans =0.0507-0.03510.0381
6、-0.22650.1321所以,轨道方程是:2 20.57*0.3510.381*0.652*0.130xxyyxy1.2 画出轨迹图:代码如下:x=-3.5:0.01:15.7; y=(-24.92+5.66*x+sqrt(5.66*x-24.92).2-4*2.58*(4.23*x.2-41.02*x+1)/5.16; y1=(-24.92+5.66*x-sqrt(5.66*x-24.92).2-4*2.58*(4.23*x.2-41.02*x+1)/5.16; plot(x,y,x,y1),grid on结果:-4 -2 0 2 4 6 8 10 12 14 16-15-10-50510
7、15显然,太阳(坐标(0,0)不在椭圆的焦点,而在小行星的轨道附近,这是不符合实际的。因此,使用这种方法得到的结果,误差较大,舍弃。2.第二种方法根据椭圆上的点到两焦点的距离和为定值,设另一个焦点的坐标为 F(m,n),半长轴为 a。使用最小二乘法求最优解。列出式子如下: 222)(2)( aYiXinYimXiMin 根据上面的式子运用 lingo 求解代码如下:model:sets:VOR/1.5/: x, y;Endsetsdata:x,y=5.764 0.6486.286 1.2026.759 1.8327.168 2.5267.48 3.36;enddatamin = sum(VOR
8、: sqr(sqrt(x2+y2 )+ sqrt(x-m)2+(y-n)2)-2*a);end 结果为:Local optimal solution found.Objective value: 0.3372721E-04Objective bound: 0.000000Infeasibilities: 0.000000Extended solver steps: 1493Total solver iterations: 708552Variable Value Reduced CostM 6.388046 0.000000N 4.850413 -0.1280014E-08A 5.024199
9、 0.2761780E-08X( 1) 5.764000 0.000000X( 2) 6.286000 0.000000X( 3) 6.759000 0.000000X( 4) 7.168000 0.000000X( 5) 7.480000 0.000000Y( 1) 0.6480000 0.000000Y( 2) 1.202000 0.000000Y( 3) 1.832000 0.000000 Y( 4) 2.526000 0.000000Y( 5) 3.360000 0.000000Row Slack or Surplus Dual Price1 0.3372721E-04 -1.0000
10、00即M = 6.388046N = 4.850413A = 5.024199另一焦点坐标为 F(6.388046,4.850413 ),半长轴为 5.024199.所以,小行星的轨迹方程为: 048.122)850.4(2)38.6( YXYX轨迹图:经过简单的计算可得到以下结果:半长轴 a 为: 5.024119 个天文单位;半短轴 b 为:2.972619 个天文单位;半焦距 c 为: 4.050347 个天文单位;远日点坐标为(7.155943 ,5.433474);近日点坐标为(- 0.767897 ,- 0.583061);椭圆轨道的周长约为 L=2b+4(a-b)=26.883516 个天文单文。经各种检验,这种方法求出的结果是很符合实际情况的,5 个点均在椭圆轨道的附近(几乎就在轨道上),而且太阳确实是焦点。因此,这种方法可行。