matlab 调用example,HFSS-Matlab-API中的dipole_example.m调试体验

(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视频培训教程。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值