在新建卫星对象后,直接执行:sat.Propagate语句,会生成STK默认参数的卫星。默认参数为:倾角28.5°,轨道高度300km的圆轨道,动力学模型为二体模型。
我们在分析问题时,绝大多数情况下都不会使用上述的默认参数,这就涉及到卫星轨道参数设置。卫星轨道参数设置,也存在多种方法,下面介绍两个例子,一个是设置经典的轨道六根数,一个是读入两行轨道根数。
%以下是本次代码
uiap = actxserver(‘STK11.application’);
root = uiap.Personality2;
root.NewScenario(‘exam’);
sc = root.CurrentScenario;
sat = sc.Children.New(18,‘mysat’);
satPro = sat.Propagator;
%将卫星轨道参数转换为开普勒六根数形式
kep=satPro.InitialState.Representation.ConvertTo(‘eOrbitStateClassical’);
%卫星轨道参数设置,可选择的形式有以下几种
%eOrbitStateClassical—经典轨道六根数形式
%eOrbitStateCartesian—位置、速度信息形式
%其他形式,大家可根据STK属性页查看,命名规则大致如上
%在设置参数之前,我们可以看一下默认卫星的轨道参数
kep.SizeShapeType
%输入该语句,如果没有进行设置,会输出’eSizeShapeSemimajorAxis’
kep.SizeShape.get
%输入该语句,会输出SemiMajorAxis: 6.6781e+03 Eccentricity: 1.7677e-16
%其他卫星参数,大家可以尝试着获取一下
%下面是卫星参数设置,是本文重点
kep.SizeShapeType = ‘eSizeShapeAltitude’;
%这里轨道形状类型,可以查看STK卫星轨道属性页面,有如下参数:
%eSizeShapeSemimajorAxis—半长轴+偏心率型
%eSizeShapeAltitude—远地点、近地点高度型
%eSizeShapeRadius—远地点、近地点半径型
%eSizeShapePeriod—轨道周期型
%eSizeShapeMeanmotion—平动型
kep.LocationType = ‘eLocationTrueAnomaly’;
kep.Orientation.AscNodeType = ‘eAscNodeLAN’;
kep.SizeShape.PerigeeAltitude = 35788.1;
kep.SizeShape.ApogeeAltitude = 35788.1;
kep.Orientation.Inclination = 0;
kep.Orientation.ArgOfPerigee = 0;
kep.Orientation.AscNode.Value = 245;
kep.Location.Value = 180;
sat.Propagator.InitialState.Representation.Assign(kep);
satPro.Propagate;
以上代码就实现了新建 卫星,并设置轨道参数。如果想修改其中某一个卫星参数,如修改倾角,则需执行如下语句。
kep.Orientation.Inclination = 20;
%需重新赋值、重新生成
sat.Propagator.InitialState.Representation.Assign(kep);
satPro.Propagate;
这里还有另一种卫星定义方式,可以不用这么复杂,有以下语句即可实现:
笔者还没有探索以下命令,就大家进行探索吧。
sat.Propagator.InitialState.Representation.AssignClassical()
以上代码均经过验证,可在MATLAB中运行,请大家多多探索相关用法。