laokxu 发表于 2008-11-27 20:57

求助:matlab装载其他目录下m文件的问题

问题描述:运行时需做循环调用一个函数,该函数里有一个语句:
run(DataName);
这个DataName是一个由其他程序得到的m脚本文件的路径,在其它目录中(不在toobox和work里),该文件仅包括我所需要的参数S;
在第一次调用程序时,装载DataName后,得到S值,但再次调用该函数时,虽然DataName的m文件内容已经改变(也就是S的值已经变了),但装载后S值却仍然是第一次的值,为什么呢?

这个问题已经困扰我好几天了,唉,只好来求救了,望大虾们帮帮忙啊,多谢了!

ch_j1985 发表于 2008-11-27 21:06

回复 楼主 laokxu 的帖子

程序前面有没有用clear命令?

laokxu 发表于 2008-11-27 23:08

clear应该用在哪呢?clear掉哪个变量?
我在函数里一开始用了clearDataName
但是没用

ch_j1985 发表于 2008-11-27 23:39

回复 板凳 laokxu 的帖子

此帖7楼程序中用到clear
http://forum.vibunion.com/forum/viewthread.php?tid=63234&highlight=

wangyi_elite 发表于 2008-11-27 23:55

你这个说的太粗略了,有很多原因,不知道具体情况很难说

laokxu 发表于 2008-11-28 09:25

回复 5楼 wangyi_elite 的帖子

好吧
事实上我最近在研究如何用matlab调用hfss,从网上下了那个HFSS-MATLAB-SCRIPTING-API的工具箱,发现有个问题。
在运行工具箱中的例子dipole_example.m时,发现在优化迭代的时候,由hfss计算后输出的临时m文件里的S参数虽然变了,但实际上run(tmpDataFile);这个语句后,不论第几次迭代,工作空间里的S值始终是第一次迭代的值。也就是说,第一次迭代时,建了一个模型,输出了S参数到一个文件里,然后加载(run),提取S参数进行计算;然后第二次迭代,换了模型,又输出S参数到同名的临时m文件,此时该文件中的S参数已经变了,但run后再提取S时,却还是第一次迭代时的值,并没有用到第二次的值。这是为什么呢?

怎么没找到上传附件的选项?
页: [1]
查看完整版本: 求助:matlab装载其他目录下m文件的问题