哈尔滨+做网站公司有哪些,龙岗网站多少钱,广东东莞十大特产,dw设计做网站案例一、背景介绍
根据CW方程的学习#xff0c;CW方程的限制条件为圆轨道#xff0c;不考虑摄动#xff0c;二者距离相对较小。TH方程则可以将物体间的相对运动推广到椭圆轨道的二体运动模型#xff0c;本部分将结合STK的仿真功能#xff0c;联合考察TH方程的有用性#xff…一、背景介绍
根据CW方程的学习CW方程的限制条件为圆轨道不考虑摄动二者距离相对较小。TH方程则可以将物体间的相对运动推广到椭圆轨道的二体运动模型本部分将结合STK的仿真功能联合考察TH方程的有用性参考New State Transition Matrix for Relative Motion on an Aribitary Ellipitcal Orbit这篇文章的案例共同复现该论文的数据
二、STK案例
为了证明式子的有用性首先使用STK仿真该相对运动的真实轨迹作为检验模型正确性的关键。关于STK与matlab的调用给出的代码如下读者可自行验证
% 使用STK验证VVLH坐标系
clc;clear
uiApplication actxGetRunningServer(STK12.application);
root uiApplication.Personality2;
checkempty root.Children.Count;
if checkempty ~ 0root.CurrentScenario.Unloadroot.CloseScenario;
end
root.NewScenario(VVLH);
StartTime 26 Jan 2024 04:00:00.000; % 场景开始时间
StopTime 10 Feb 2024 04:00:00.000; % 场景结束时间
root.ExecuteCommand([SetAnalysisTimePeriod * ,StartTime, ,StopTime,]);
root.ExecuteCommand( Animate * Reset);
SatName Target; % SAR_ GX_ Sat_ GX_1_ SAR_1_
satellite root.CurrentScenario.Children.New(eSatellite, SatName);
satellite.SetPropagatorType(ePropagatorAstrogator); % 不设置的时候默认为二体模型 ePropagatorJ4Perturbation
satellite.Propagator;
Perigee6378.137500;
Ecc0.1;
smaPerigee/(1-Ecc);
Inc30;
w0;
RAAN0;
TA45;
root.ExecuteCommand([Astrogator */Satellite/,SatName, SetValue MainSequence.SegmentList Initial_State Propagate]);
InitialStatesatellite.Propagator.MainSequence.Item(0);
%% 初始化卫星参数
root.ExecuteCommand([Astrogator */Satellite/,SatName, SetValue MainSequence.SegmentList.Initial_State.CoordinateType Modified Keplerian]);
root.ExecuteCommand([Astrogator */Satellite/,SatName, SetValue MainSequence.SegmentList.Initial_State.InitialState.Epoch ,StartTime, UTCG]);
root.ExecuteCommand([Astrogator */Satellite/,SatName, SetValue MainSequence.SegmentList.Initial_State.InitialState.Keplerian.sma ,num2str(sma), km]);
root.ExecuteCommand([Astrogator */Satellite/,SatName, SetValue MainSequence.SegmentList.Initial_State.InitialState.Keplerian.ecc ,num2str(Ecc)]);
root.ExecuteCommand([Astrogator */Satellite/,SatName, SetValue MainSequence.SegmentList.Initial_State.InitialState.Keplerian.inc ,num2str(Inc), deg]);
root.ExecuteCommand([Astrogator */Satellite/,SatName, SetValue MainSequence.SegmentList.Initial_State.InitialState.Keplerian.w ,num2str(w), deg]);
root.ExecuteCommand([Astrogator */Satellite/,SatName, SetValue MainSequence.SegmentList.Initial_State.InitialState.Keplerian.RAAN ,num2str(RAAN), deg]);
root.ExecuteCommand([Astrogator */Satellite/,SatName, SetValue MainSequence.SegmentList.Initial_State.InitialState.Keplerian.TA ,num2str(TA), deg]);
%% 二体传播
Propagatesatellite.Propagator.MainSequence.Item(1);
Propagate.PropagatorNameEarth Point Mass;
root.ExecuteCommand([Astrogator */Satellite/,SatName, RunMCS]);% 插入目标星
SatName2 Chaser; % SAR_ GX_ Sat_ GX_1_ SAR_1_
satellite2 root.CurrentScenario.Children.New(eSatellite, SatName2);
satellite2.SetPropagatorType(ePropagatorAstrogator); % 不设置的时候默认为二体模型 ePropagatorJ4Perturbation
satellite2.Propagator;
InitialState2satellite2.Propagator.MainSequence.Item(0);
InitialState2.CoordSystemNameSatellite/Target VVLH;
InitialState2.Element.X0.1;
InitialState2.Element.Y0.01;
InitialState2.Element.Z0.01;
InitialState2.Element.Vx0.0001;
InitialState2.Element.Vy0.0001;
InitialState2.Element.Vz0.0001;
Propagate2satellite2.Propagator.MainSequence.Item(1);
Propagate2.PropagatorNameEarth Point Mass;
root.ExecuteCommand([Astrogator */Satellite/,SatName2, RunMCS]);% 报告二颗卫星的三维关系
satellite.VO.OrbitSystems.InertialByWindow.IsVisible0;
satellite2.VO.OrbitSystems.InertialByWindow.IsVisible0;
satellite2.VO.OrbitSystems.Add(Satellite/Target VVLH System)
satellite.VO.Vector.RefCrdns.Item(2).Visible1;targetdataroot.ExecuteCommand([Report_RM */Satellite/Target Style VVLH TimePeriod 26 Jan 2024 04:00:00.000 26 Jan 2024 16:00:00.000 TimeStep 60]);
Numtargetdata.Count;
for j1:Num-2structregexp(targetdata.Item(j),,,split);Tar_x(j)str2double(struct{2});Tar_y(j)str2double(struct{3});Tar_z(j)str2double(struct{4});
end
%
figure(1)
plot(Tar_x(1:220),Tar_z(1:220));
axis([-3.5 0.5 -0.6 0.3])
set(gca,XDir,reverse);
set(gca,YDir,reverse);
grid on
这里需要额外注意VVLH报告在STK不是自带的需要自己去定义操作步骤右击目标星的Report Graph Manager —— Create new report style —— 命名为VVLH —— 内容如下图所示 最后呈现的是XZ平面的相对位置