MATLAB/STK联合调制场景初始化过程 |
您所在的位置:网站首页 › matlab怎么恢复初始化 › MATLAB/STK联合调制场景初始化过程 |
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 |