现在位置:首页 > 微波射频和天线设计 > HFSS > 使用讨论 > HFSS-Matlab-API中的dipole_example.m调试体验

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

录入:mweda    点击:
(1)发现问题
为了研究最优化算法,最近开始学习HFSS VBScript,并想结合Matlab使用,因而在HWRF网站上下载了HFSS-Matlab-API。
这个API包里的dipole_example.m例子有问题:迭代过程中,Matlab画出的曲线位置不动,仅仅是颜色变了,仿佛数据结果没有更新。我在网上搜索到有少数人也遇到了同样的问题,其中也包括一位HWRF网站网友
(见
),但是没有搜到解答。是不是最近研究这个的少了?或者弃用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”'。
附:运行结果。
\

以前做过,两则结合进行优化,感觉稳定性不可控,大型计算时,比如算1万次,偶尔会有错误,会很麻烦。

以前做过,两则结合进行优化,感觉稳定性不可控,大型计算时,比如算1万次,偶尔会有错误,会很麻烦。

在使用matlab调用hfss时matlab怎么获得轴比、阻抗匹配、增益等有关hfssf仿真参数结果呢?

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

支持这样的文章

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

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

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

我跟你一样是初学者。你的要求很宏观,我认为要真正了解“联合仿真的步骤”,实践是根本办法!
就我现在的体会来说,学习、实践所谓“联合仿真”的“便捷”步骤可以概括如下:
第一步,在HFSS界面中反复尝试运行“Tools”菜单下的第三到第五项,尝试HFSS的各种操作,也就是记录、停止记录、运行、停止、暂停脚本。完成后你会发现HFSS VBScript脚本的特点。
第二步,设定一些简单任务,进行一些脚本的修改和在HFSS下运行这些脚本,利用帮助深入了解脚本函数里参数的意义与设置。完成后你会明白使用帮助的重要性。
第三步,运行HFSS-Matlab-API中的例子,也就是“联合仿真”的初步实践了。
假如你还已经熟悉了HFSS,实践过三维建模、仿真条件设置、计算、后处理及结果输出等过程,熟悉了Matlab程序编制和调试,如果你还熟悉了Matlab对字符串的操作,上述三步会简单很多。不过,你也可以用一个例子来迅速体会上面说的三步,dipole_example就是一例,你还可以拟制其他实例,由简到繁逐步深入。
4楼的网友说得很好,光是API包里的函数是远远不够的(估计这个团队没有继续工作了),也还有一些函数没有足够的容错能力(比如如果运行中HFSS异常中断,就必须重新启动Matlab)。而要编写新的适合你的研究开发的函数,上述第一、二步里面的内容就很丰富了。
一句话,纸上得来终觉浅,绝知此事要躬行!实践吧,计算机不会因此而爆炸的…

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

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

声明:网友回复良莠不齐,仅供参考。如需更专业、系统的学习HFSS,可以购买本站资深专家讲授的HFSS视频培训课程

上一篇:可提供氮化镓大功率功放组件定制开发,详情见帖内说明
下一篇:Ansoft HFSSl论文集

HFSS视频培训课程