求助:maltab运行出错
调试时,我在程序里设置一个断点,但是程序运行到断点时,下面还没有运行的变量竟然也在空间里出现了,这些变量存储的有的是之前的运行结果有的根本就是预期之外的结果。问题是我在运行之前已经用clear清空了工作空间。我的程序里有全局变量,我试过,如果把全局变量声明去掉就没这个问题了,但是我必须得用全局变量,希望得到朋友们的指点,谢谢。 如果声明了 全局变量,这个量自第一次遇到后,就一直存在,不会消失。在遇到新的赋值,它的值就会改变。
请把你的问题在详细说明一下。 也可以把你的源代码简化一下列出,更好的阐述你的问题 globalL2R2XD
load('d:\Program Files\MATLAB71\work\cti1.mat');(比如,我在此设置一个断点)
i1=I1(2,:)
L2=0.007 ; R2=5
运行到断点停止后,我查看工作空间,发现L2 R2已经有了值,L2 R2赋的事前一次运行结果,但是D的值在前一次就没有结果啊。我在运行之前就清空了空间,很显然以前的结果还是载入了工作空间,我就搞不懂了。而且以前也就这样运行一直没碰到过这样的问题。 希望版主能帮我看下 谢谢了 如果声明了 全局变量,这个量自第一次遇到后,就一直存在,不会消失。
在遇到新的赋值,它的值就会改变。
请把你的问题在详细说明一下。
晓夜寒风 发表于 2009-8-9 12:55 https://tech.cepsc.com/images/common/back.gif
我想是全局变量的问题,1)因为我重启一次matlab就没有这个问题了,2)如果把全局变量去掉,就没这个问题了,当然后面用到全局变量的地方也不能算了。不过我还是不明白,我每次运行之前都会清空工作变量空间,这样还不行吗 好的 我现在要出去一下 晚上一起研究! 谢谢 globalL2R2XD
load('d:\Program Files\MATLAB71\work\cti1.mat');(比如,我在此设置一个断点)
i1=I1(2,:)
L2=0.007 ; R2=5
运行到断点停止后,我查看工作空间,发现L2 R2已经有了值,L2 R2赋的事前一次 ...
jack2008 发表于 2009-8-9 13:17 https://tech.cepsc.com/images/common/back.gif
建议楼主不要使用 clear,
而是 在程序开始的时候 使用 clear global L2 R2 X D ,
要加上 “global”,这样才可以真正删除这几个全局变量!
页:
[1]