做婚礼邀请函网站,广告公司简介怎么写,网站建设验收表,青岛网站建设制作公司一、背景知识
前面由于定轨的大作业#xff0c;关于Astrogator模块的学习有所滞后#xff0c;在本节将重新聚焦Astrogator模块#xff0c;在本节中#xff0c;首先解决的问题是已知两个卫星的轨道六根数#xff0c;求解其中某一颗卫星LVLH坐标下另一颗卫星的位置速度。这…一、背景知识
前面由于定轨的大作业关于Astrogator模块的学习有所滞后在本节将重新聚焦Astrogator模块在本节中首先解决的问题是已知两个卫星的轨道六根数求解其中某一颗卫星LVLH坐标下另一颗卫星的位置速度。这里首先需要自己定义一个报表的内容例如AB星的轨道六根数分别为 首先利用MATLAB与STK互联生成两颗卫星
clear;clc
uiApplication actxGetRunningServer(STK11.application);
% Get our IAgStkObjectRoot interface
global root
root uiApplication.Personality2;
checkempty root.Children.Count;
if checkempty ~ 0root.CurrentScenario.Unloadroot.CloseScenario;
end
%% 根据你的需要设定场景的名称
root.NewScenario(chapter2);
StartTime 29 Sep 2023 04:00:00.000; % 场景开始时间
StopTime 31 Oct 2023 04:00:00.000; % 场景结束时间
root.ExecuteCommand([SetAnalysisTimePeriod * ,StartTime, ,StopTime,]);
root.ExecuteCommand( Animate * Reset);
%% ----------------------------------------------
%% A卫星
Sat_NameA;
satelliteroot.CurrentScenario.Children.New(eSatellite, Sat_Name);
satellite.Propagator;
sma7071.393;
Ecc0.001;
Inc20;
w0;
RAAN0;
TA359.999473339175;
satellite.SetPropagatorType(ePropagatorAstrogator);
satellite.Propagator;
root.ExecuteCommand([Astrogator */Satellite/,Sat_Name, SetValue MainSequence.SegmentList Initial_State Propagate]);
%% 初始化卫星参数
root.ExecuteCommand([Astrogator */Satellite/,Sat_Name, SetValue MainSequence.SegmentList.Initial_State.CoordinateType Modified Keplerian]);
root.ExecuteCommand([Astrogator */Satellite/,Sat_Name, SetValue MainSequence.SegmentList.Initial_State.InitialState.Epoch ,StartTime, UTCG]);
root.ExecuteCommand([Astrogator */Satellite/,Sat_Name, SetValue MainSequence.SegmentList.Initial_State.InitialState.Keplerian.ElementType Kozai-Izsak Mean]);
root.ExecuteCommand([Astrogator */Satellite/,Sat_Name, SetValue MainSequence.SegmentList.Initial_State.InitialState.Keplerian.sma ,num2str(sma), km]);
root.ExecuteCommand([Astrogator */Satellite/,Sat_Name, SetValue MainSequence.SegmentList.Initial_State.InitialState.Keplerian.ecc ,num2str(Ecc)]);
root.ExecuteCommand([Astrogator */Satellite/,Sat_Name, SetValue MainSequence.SegmentList.Initial_State.InitialState.Keplerian.inc ,num2str(Inc), deg]);
root.ExecuteCommand([Astrogator */Satellite/,Sat_Name, SetValue MainSequence.SegmentList.Initial_State.InitialState.Keplerian.w ,num2str(w), deg]);
root.ExecuteCommand([Astrogator */Satellite/,Sat_Name, SetValue MainSequence.SegmentList.Initial_State.InitialState.Keplerian.TA ,num2str(TA), deg]);
root.ExecuteCommand([Astrogator */Satellite/,Sat_Name, SetValue MainSequence.SegmentList.Initial_State.InitialState.Keplerian.RAAN ,num2str(RAAN), deg]);
root.ExecuteCommand([Astrogator */Satellite/,Sat_Name, RunMCS]);
%% B卫星
Sat_Name2B;
satellite2root.CurrentScenario.Children.New(eSatellite, Sat_Name2);
satellite2.Propagator;
sma7071.393;
Ecc0.001;
Inc20;
w0;
RAAN0;
TA2359.998946678351;
satellite.SetPropagatorType(ePropagatorAstrogator);
satellite.Propagator;
root.ExecuteCommand([Astrogator */Satellite/,Sat_Name2, SetValue MainSequence.SegmentList Initial_State Propagate Maneuver]);
%% 初始化卫星参数
root.ExecuteCommand([Astrogator */Satellite/,Sat_Name2, SetValue MainSequence.SegmentList.Initial_State.CoordinateType Modified Keplerian]);
root.ExecuteCommand([Astrogator */Satellite/,Sat_Name2, SetValue MainSequence.SegmentList.Initial_State.InitialState.Epoch ,StartTime, UTCG]);
root.ExecuteCommand([Astrogator */Satellite/,Sat_Name2, SetValue MainSequence.SegmentList.Initial_State.InitialState.Keplerian.ElementType Kozai-Izsak Mean]);
root.ExecuteCommand([Astrogator */Satellite/,Sat_Name2, SetValue MainSequence.SegmentList.Initial_State.InitialState.Keplerian.sma ,num2str(sma), km]);
root.ExecuteCommand([Astrogator */Satellite/,Sat_Name2, SetValue MainSequence.SegmentList.Initial_State.InitialState.Keplerian.ecc ,num2str(Ecc)]);
root.ExecuteCommand([Astrogator */Satellite/,Sat_Name2, SetValue MainSequence.SegmentList.Initial_State.InitialState.Keplerian.inc ,num2str(Inc), deg]);
root.ExecuteCommand([Astrogator */Satellite/,Sat_Name2, SetValue MainSequence.SegmentList.Initial_State.InitialState.Keplerian.w ,num2str(w), deg]);
root.ExecuteCommand([Astrogator */Satellite/,Sat_Name2, SetValue MainSequence.SegmentList.Initial_State.InitialState.Keplerian.TA ,num2str(TA2), deg]);
root.ExecuteCommand([Astrogator */Satellite/,Sat_Name2, SetValue MainSequence.SegmentList.Initial_State.InitialState.Keplerian.RAAN ,num2str(RAAN), deg]);
root.ExecuteCommand([Astrogator */Satellite/,Sat_Name2, RunMCS]);
第二步在STK操作生成一个B在A星的LVLH坐标系下的坐标其内容如下 该报告生成的是卫星B在卫星A的LVLH坐标系下初始的位置和速度