MATLAB与STK互联39:动画控制、地面两个点的大圆距离计算

之所以拖着这么久没更新,有两个原因,一个是最近工作比较忙,另外一个是想写的内容遇到了瓶颈——利用MATLAB脚本对报告数据进行后处理。现在已经有Python、VB、Perl的例子,但是没有MATLAB例子,搜了好久也没找到,现在要是有谁解决了,也请私信指导一下。
好了,言归正传,在查资料的过程中又发现了几个比较好用的代码,整理出来跟大家一起分享。
(1)动画控制
在之前的帖子里,动画控制是利用root.ExecuteCommand来实现的。后来才发现root就有操作方法。
root.PlayForward:向前播放
root.PlayBackward:向后播放
root.Pause:暂停
root.StepForward:快进一步
root.StepBackward:快退一步
root.Faster:快放
root.Slower:慢放
root.Rewind:重新设置回到动画初始时刻
(2)地面两个点的大圆距离计算
STK有测量两点的大圆距工具,但是得用2D图用尺子量,也就是下面的截图。
在这里插入图片描述
在STK2D图中,第1步,左键单击图中的标号1的rular图标;第2步,左键单击Target1点,然后不松手拉到Target2;第2步,在图中的标号3区域读取测量结果。
之前也一直遗憾STK没有计算两点大圆距离的模块,自己还用MATLAB写了一个计算地面两点大圆距的程序。最近查资料恰好看到了STK与MATLAB互联后,有个命令可以直接获得中心天体表面两个点的大圆距。
即以下代码:
uiap = actxserver(‘STK11.application’);
root = uiap.Personality2;
root.NewScenario(‘test’);
sc = root.CurrentScenario;
sat = sc.Children.New(18,‘mysat’);
sat.Propagator.Propagate
%第一个点的纬度、第二个点的经度、第二个点的纬度、第二个点的经度
Dis_Cmd = root.ExecuteCommand(‘MeasureSurfaceDistance * 41 112 45 115 Earth’);
Dis_Cmd.Item(0)
则会返回:
507160.520(单位:m)
结果跟我们用Rular测量的数据差不多。
如果有人想要了解MATLAB怎么计算两点大圆距,也可以交流,我也可以提供代码。
PS:如果有高手用MATLAB脚本处理报告数据,麻烦私信指导一下。

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值