1、新建场景
学会使用matlab与stk函数库和stk帮助文档后,下一步就是开始学习如何使用matlab来新建stk对象,首先新建场景,新建场景可以有多种方式,我们一般用的比较多的就是stkNewObj()函数,或者用stkConnect()、stkExec()函数也行,stkNewObj()函数是一条专用函数,用于新建场景、卫星、地面站等对象,但是stkConnect()、stkExec()函数是通用型函数,可以执行很多种stk指令。
(1)stkNewObj()函数新建场景
使用stkNewObj()函数新建场景很简单,例如:
stkNewObj(‘/’,‘Scenario’,‘sce1’);
(2)用stkConnect()、stkExec()函数新建场景
stkConnect()函数语句比stkExec()函数语句复杂,为了简化,我一般就使用stkExec()来新建场景,使用如下:
stkExec(conid,‘New / Scenario See_DC’);
2、完整写法
完整的一个写法其实还需要包含stk的初始化,两个软件互联,检查是否有正在运行的场景等,这部分具体的代码写法如下:
clc
clear all
close all
stkClose('ALL')
delete(get(0,'children')) ; %关闭其他绘画窗口
stkInit; %初始化
% 创建新场景,方法一
global conid; %定义打开地址
conid = stkOpen(stkDefaultHost); %使用默认地址,建立stk与matlab的连接
scen_open = stkValidScen;%检查可用的场景
if scen_open == 1
stkUnload('/*');
end
%建立场景,使用mexconnect的函数,方法一 stkNewObj('/','Scenario','sce1');
%设置场景时间
TimeStart = '30 Aug 2024 00:00:00';
TimeStop = '30 Aug 2025 00:00:00';
stkSetTimePeriod(TimeStart, TimeStop, 'GREGUTC');
stkSyncEpoch; %使历元时间与场景时间一致
% 设置动画演示的时间步长 为10s
stkExec(conid,'SetAnimation * TimeStep 10 ')