之前的博文讲了建立卫星对象的两种方式,其实呢是漏讲了非常重要的一种,也就是通过读取外部文件建立卫星对象的形式。
卫星Propagator的类型有以下几种:
本文就是讲述以下怎么通过StkExternal,建立对象。
下面上代码:
uiap = actxserver(‘STK11.application’);
root = uiap.Personality2;
root.NewScenario(‘StkExternal’);
sc = root.CurrentScenario;
sat = sc.Children.New(18,‘mysat’);
sat.SetPropagatorType(‘ePropagatorStkExternal’);
查看相关属性。这里有Filename这个属性,这里将外部星历文件路径赋给sat.Propagator.Filename = 外部文件路径。
然后执行sat.Propagator.Propagate,就可以了。
导入外部文件时,要注意场景时间与外部星历时间对齐,不然场景可能显示不正常。由于我手头上也没有外部星历文件,这里就不演示了,请大家根据自己需要进行设置。