MATLAB与STK互联10:卫星对象操作(2)—卫星轨道参数设置(方法1,通过轨道生成器设置实现)

在新建卫星对象后,直接执行: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中运行,请大家多多探索相关用法。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值