MATLAB/STK联合调制场景初始化过程

您所在的位置:网站首页 matlab怎么恢复初始化 MATLAB/STK联合调制场景初始化过程

MATLAB/STK联合调制场景初始化过程

2024-07-16 08:52| 来源: 网络整理| 查看: 265

1.具体思路

(1)获取默认地址stkDefaultHost

remMachine = stkDefaultHost;

(2)关闭STK当前的场景

stkClose('ALL')

(3)打开默认地址stkDefaultHost下的场景,并获取ID号

conid=stkOpen(remMachine);

(4)检测STK是否存在一个场景,如果已经存在,则通过MATLAB端进行关闭

scen_open = stkValidScen;

if scen_open == 1    rtn = questdlg('Close the current scenario?');    if ~strcmp(rtn,'Yes')       stkClose(conid);       return    else       stkUnload('/*')    end end

(5)创建一个场景,其中parameter.name_stkNewObj为场景名称 stkNewObj('/','Scenario',parameter.name_stkNewObj);

(6)设置场景仿真的时间,并开始创建场景 str_set1=['SetValues "',parameter.edit_starTime,'" 1 1']; rtn = stkConnect(conid,'Animate',['Scenario/',parameter.name_stkNewObj],str_set1); stkSetTimePeriod(parameter.edit_starTime,parameter.edit_endTime,'GREGUTC'); rtn = stkConnect(conid,'Animate',['Scenario/',parameter.name_stkNewObj],'Reset');

2.参考代码(上述过程的封装代码如下代码段)

function [conid] = Initialization_STK(parameter)%handles %Initialization_STK 此处显示有关此函数的摘要 % 此处显示详细说明 remMachine = stkDefaultHost; stkClose('ALL') conid=stkOpen(remMachine); scen_open = stkValidScen; if scen_open == 1 rtn = questdlg('Close the current scenario?'); if ~strcmp(rtn,'Yes') stkClose(conid); return else stkUnload('/*') end end %create a new scenario disp('Create a new scenario'); stkNewObj('/','Scenario',parameter.name_stkNewObj); % set Time period disp('Set scenario Time period'); str_set1=['SetValues "',parameter.edit_starTime,'" 1 1']; rtn = stkConnect(conid,'Animate',['Scenario/',parameter.name_stkNewObj],str_set1); stkSetTimePeriod(parameter.edit_starTime,parameter.edit_endTime,'GREGUTC'); rtn = stkConnect(conid,'Animate',['Scenario/',parameter.name_stkNewObj],'Reset'); disp('The STK is successfully initialized!'); end


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3