连续运行run(*.m),数据不更新,求破
这个M文件是由其它软件自动生成的,因为计算数目比较大,所以不好对*.m这个文件进行修改。。。现在是先run(*.m),clear all之后再run(*.m)可以让数据更新,但是clear all会清空所有数据
但是将*.m文件的数据内容单独clear以后,运行run(*.m),数据没有更新,我想clear这个缓存的数据,应该怎么操作。。。 有没有大神知道怎么回事啊,万分感谢~ 个人水平有限, 没看懂问题! 回复 3 # ChaChing 的帖子
是我表达的不够清楚吧
大概程序是这样
for i=1:N
%脚本循环更新tmpMatrixData中的数据。
run('d:\temp\tmpMatrixData.m');
end
在程序多次运行run的时候,程序里面的数据没有更新。
还是谢谢哈 回复 4 # 巴朵兰恩 的帖子
1.tmpMatrixData.m ?
2.脚本循环更新tmpMatrixData中的数据? 回复 5 # ChaChing 的帖子
是在那个for里面循环,不是单独循环着的,每运行一次脚本产生一个新的tmpMatrixData.m 把程序发上来看看 初学者,同遇这个问题,就是在一个脚本文件aa.m中使用run()调用另外一个文件夹中的脚本文件bb.m(例如只有一条语句b=2),但是在bb.m中更改b=3后重新运行aa.m,b的数据并没有由2变为3,怎么办?必须关掉matlab并重启,b才会更改为3。郁闷中,请问各位前辈这是什么问题,如何解决? 1.run() ???
应该是 run C:\MATLABR11\work\bb.m或run('C:\MATLABR11\work\bb.m')
Ref: 4.呼叫函数的方式 http://forum.vibunion.com/thread-75501-1-1.html
2.奇怪, 复製不出LS的错误问题!:@)
3.LS确定在bb.m中更改b=3后有先存档吗!? 回复 9 # ChaChing 的帖子
1.抱歉对matlab语法还不太熟。我的代码是这样的run('C:\Users\travel\Desktop\bb.m')
3.确定,经尝试后来发现如果这个bb.m和aa.m在一个路径下(当前工作路径),在bb.m中更改的数据就可以立马生效;如果bb.m不和aa.m在同一个路径下,比如在C:\Users\travel\Desktop\bb.m就不行,必须关闭matlab后在bb.m中更改的数据才能生效。——而不是“巴朵兰恩”说道的是因为循环的原因!
2.请您试下,肯定是有这个问题的。
初学matlab,赶鸭子上架,遇到这种问题,还望各位前辈指点一二。 回复 10 # travel09 的帖子
不在同一个路径下, 仍然复製不出LS的错误问题!?
或许LS应交代更清楚些/更多资讯 C:\Users\travel\Desktop\代码.png
谢谢ChaChing的耐心回复!
抱歉,刚才图片没有显示。我的问题所有涉及到的操作说明如下:
1、当前工作路径下只有一个main.m文件(如图),代码如下:
clc
run('C:\Users\travel\Desktop\a.m')2、run语句运行的a.m文件在桌面(如图),代码如下:
abc=3
disp('ccccc')3、运行main.m文件,成功,然后更改a.m文件代码如下并保存:
abc=2
disp('dddddddddd')
4、最后,所上传的图片显示的是步骤3的运行结果,abc依然为3,disp依然显示ccccc。这是为什么呢??
这个问题很困扰我,只能描述成这样了,可能表述不清,但尽力了,还望各位前辈高人指点!
回复 13 # travel09 的帖子
喔, LS的附图提醒了我俩的差异, LS是使用不同的编辑器(UltraEdit/matlab Editor), 而我使用相同编辑器(matlab Editor)
等回找时间试下 回复 13 # travel09 的帖子
找时间试了下, 的确如LS所说的, 但试过rehash也没效, 试各可能性还是没能找到原因
最不可想像的是, 原先使用R2009a试, 现象同LS所说, 但又试了下旧版本v5.3, 竟然无此现象
旧版一切正常, 新版反而出现不合理现象!
汗, 同待高人路过
页:
[1]
2