STK版本为11.6
Matlab版本为R2018a
STK 提供 Connect 和 Object Model (COM) 两种接口与 MATLAB 交互,推荐使用 COM接口进行二次开发。
确保安装了 STK,并且 MATLAB 可以访问 STK Object Model。
在 MATLAB 中运行:
% 添加 STK COM 库(只需执行一次)
% 注意:版本号可能需要根据 STK 版本调整(如 12.0, 11.0)
regsvr32 'C:\Program Files\AGI\STK 12\bin\AgUiApplication.dll'
然后在 MATLAB 命令行 测试是否成功:
hSTK = actxserver('STK.Application');
hRoot = hSTK.Personality2;
disp('STK 连接成功!');
如果成功,表示 STK 与 MATLAB 连接正常。
但在对应目录下没有找到AgUiApplication.dll,在AGI目录下只有以下目录。
正确的 STK MATLAB 连接方式
你可以尝试使用 COM 方式连接STK,即使没有找到 AgUiApplication.dll ,它可能仍然在系统的 注册表 中可用。
- 在 MATLAB 测试 COM 连接
% 启动 STK
hSTK = actxserver('STK.Application');
hSTK.Visible = 1; % 显示 STK 界面
hRoot = hSTK.Personality2;
% 创建新场景
hRoot.NewScenario('MyScenario');
hScenario = hRoot.CurrentScenario;
disp('STK 已成功连接!');
如果 MATLAB 成功运行并打开 STK,说明 COM 连接可用,不需要手动指定 DLL。
- 确认 STK COM 组件是否正确注册
如果上面的 MATLAB 代码报错,可以用以下方式检查 STK COM 组件是否可用:
在 Windows 运行(Win + R) 输入:
regsvr32 "D:\Program Files\STK11.6\bin\AgUiApplication.dll"
如果成功,说明 STK 的 COM 组件已正确注册,MATLAB 应该可以访问。
3. 其他可能的 DLL 位置
如果 AgUiApplication.dll 不在 STK11.6\bin 目录,你可以:
在 整个 STK 目录搜索:
在 D:\Program Files\STK11.6\ 里搜索 AgUiApplication.dll。
可能它位于 C:\Program Files\Common Files\AGI\ 之类的路径。
也可以在 MATLAB 直接查看 STK COM 对象是否注册:
info = actxcontrollist;
disp(info);
看看列表里是否包含 STK.Application 之类的对象。
一般直接运行1就能成功!