[MATLAB]线性方程组应用--小行星运行轨道计算问题

小行星运行轨道计算问题

现在已经在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]);

在这里插入图片描述
总结:在大量稀疏矩阵的时候,用个雅可比迭代或者高斯迭代比较好,比如这种小行星轨道问题可以直接使用左除解决问题。

发布了63 篇原创文章 · 获赞 2 · 访问量 1441

猜你喜欢

转载自blog.csdn.net/m0_37149062/article/details/105110241