• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > HFSS > HFSS使用问答 > HFSS-Matlab-API中的dipole_example.m调试体验

HFSS-Matlab-API中的dipole_example.m调试体验

录入:edatop.com     点击:

(1)发现问题
为了研究最优化算法,最近开始学习HFSS VBScript,并想结合Matlab使用,因而在微网上下载了HFSS-Matlab-API。
这个API包里的dipole_example.m例子有问题:迭代过程中,Matlab画出的曲线位置不动,仅仅是颜色变了,仿佛数据结果没有更新。我在网上搜索到有少数人也遇到了同样的问题,其中也包括一位微网网友 (见),但是没有搜到解答。是不是最近研究这个的少了?或者弃用Matlab与HFSS的结合了?
(2)分析问题
我安装的是HFSS14.0 64bits和Matlab r2008a 64bits,操作系统Win7 64bits。经验表明,积极主动地想办法使得脚本适应软件环境是正解,而轻易地怀疑软件版本的不兼容性是不明智的。
通过比对HFSS记录、生成的Script和API包里的函数生成的脚本,并在HFSS、Matlab中进行调试,最后确认了问题的根源——API包中的"run(tmpDataFile);"语句执行时没有成功执行最新生成的.m文件。看起来像是Matlab的原因,为什么?不能得到解答,但不影响尝试解决。
(3)解决问题
解决问题和分析问题的过程是交织的。最后,通过一种比较笨的办法——创建和删除不同的临时数据文件,解决了这一问题。这个办法只改动了dipole_example.m文件,如下所示:
for iIters = 1:maxIters,
    tmp = num2str(iIters);
    tmpDataFile = ['E:hfss14temData' tmp '.m'];
    tmpFid = fopen(tmpDataFile,'wt');
    fclose(tmpFid);
……
    system(sprintf('del %s',tmpDataFile));
end
当然,还要结合本机实际,更改程序中的路径(如上面的“'E:hfss14”),在此不作赘述。
忙活了两天,也许有的网友早就找到更好的方法了,欢迎指导!甚是欣慰,算是找到使用HFSS VBScript的基本方法了!
注:
Matlab在调用HFSS时,使用了安装路径作为命令行参数,命令行参数之间用空格分隔。在命令行参数中,由双引号包围的字符串("Program Files")被解释为整体;如果去掉双引号,就会被解释为由空格分隔的多个命令行参数,路径也就不完整了,这会导致HFSS不能被调用。因此:路径有空格,请加双引号。用双引号把整个路径括起来,也是可以的,比如'“D:Program FilesansoftHFSS14.0Win64hfss.exe”'。
附:运行结果。

网友回复:

原来是双引号的问题哈 谢谢楼主了

网友回复:

双引号,大赞

网友回复:

对于楼主的探究精神表示支持。

网友回复:

支持这样的文章

网友回复:

我做出来用matlab 生成波纹喇叭模型的程序 但是这些函数不够多,不能满足所有 HFSS对应操作的函数。很多函数要自己写

网友回复:

楼主能不能大体说下联合仿真的步骤,我是初学者,谢谢了

网友回复:

钦佩楼主执着的探究精神!

网友回复:

嗯,真是太感谢了,只是对联合仿真没什么概念,做起来比较迷茫,想先大体了解,再深入了解。写的很好,我会实践的

网友回复:

敢问一下楼主,运行matlab程序,怎么生成vbs脚本,我点击了运行之后好像没什么反应啊

网友回复:

为什么我运行hfss-matlab-api中的例子里的vb脚本可以实现建模,而在自己的matlab上运行例子中的m文件生成的脚本后,这个脚本不可以实现建模,难道是我的matlab的问题吗

申明网友回复良莠不齐,仅供参考。如需专业解答,请学习易迪拓培训专家讲授的HFSS视频培训教程

上一篇:螺旋天线
下一篇:平面波外部入射,材料为PEC的box内部场问题?

HFSS视频培训课程推荐详情>>
HFSS教程推荐

  网站地图