travel09 发表于 2012-6-19 08:34

回复 15 # ChaChing 的帖子

谢谢ChaChing的回答,我出问题的是R2012a版,待高人路过,是否与matlab中变量的存储和释放有关

travel09 发表于 2012-6-19 13:16

搜索”变量释放“找到问题所在并解决了,请参考clear命令。感谢ChaChing的帮助。仅清除variables是不行,还要清除functions或者scripts。
以我程序为例,在main.m文件中加入如下代码,其中a为run函数执行的脚本文件名:
clear a详细请参考(无法发链接):




ChaChing 发表于 2012-6-19 23:24

本帖最后由 ChaChing 于 2012-6-20 00:01 编辑

回复 17 # travel09 的帖子

实在没有帮上忙, 谢我有点汗顏!:@L 个人仅是一起共同学习罢了:@)

再次看下clear的help, 的确有如下说明!
Clears all the currently compiled M-functions and MEX-functions from memory. Using clear function removes debugging breakpoints in the function M-file and reinitializes persistent variables, since the breakpoints for a function and persistent variables are cleared whenever the M-file is changed or cleared.

现在反而比较奇怪的是, 旧版本v5.3并无此现象! 回公司有空再试看看!
对了, 那两个连接本想试贴看看, 但感觉help裡头即有了, 所以没试

ChaChing 发表于 2012-6-19 23:55

travel09倒提醒以前出现的问题, 想想或许楼主的问题是雷同的
记的以前曾经遇过类似的情况, 即一a函数循环执行另一b函数, 若a函数还在执行中, 任何b函数的修改是不会被执行的!
那时后才了解a函数一呼叫b函数, b函数即被compiled了!
除非重新执行a函数或clear function才能真正用到修改的b函数
页: 1 [2]
查看完整版本: 连续运行run(*.m),数据不更新,求破