小行星运行轨道计算问题
现在已经在5个不同时刻对某颗小行星进行了5次观测,测得轨道上的5个点的坐标数据如表所示,其单位为天文测量单位。试确定小行星的轨道方程。
(1)模型分析
由开普勒第一定律知,小行星运行轨道为椭圆方程:
需要确定系数ai(i=1,2,3,4,5)
等价于求解下列线性方程组
下面给出MATLAB源码:
>> xi=[1.02,0.87,0.67,0.44,0.16];
>> yi=[0.39,0.27,0.18,0.13,0.13];
>> A=zeros(length(xi));
>> for i=1:length(xi)
A(i,:)=[xi(i)*xi(i),2*xi(i)*yi(i),yi(i)*yi(i),2*xi(i),2*yi(i)];
end
>> b=-ones(length(xi),1);
>> ai=A\b
ai =
2.4645
-0.4423
6.4917
-0.6819
-3.6008
>>
在命令行并绘制出图像
>> f=@(x,y) 2.4645*x.^2-0.8846*x.*y+6.4917*y.^2-1.3638*x-7.2016*y+1;
>> h=ezplot(f,[-0.5,1.2,0,1.2]);
总结:在大量稀疏矩阵的时候,用个雅可比迭代或者高斯迭代比较好,比如这种小行星轨道问题可以直接使用左除解决问题。