zebtra_stripe 发表于 2009-11-17 17:22

请教一个貌似简单的问题 - clear

首先问下各位高手clean和clean all 的区别是clean只能删除一般变量内存 而 clean all是可以删除全部 包括global变量 ,是么?
我编程的目的是想进行完一个循环后 删除一下内存 然后进行下一次的循环。
但是有个变量 a,不能删,因为它代表最后存所有结果的数组的行数,我试了 定义为:
clc; clear all;
global a
a=1;
Z=[];
for。。。。。。
for 。。。。。
。。。
Z(a,1)=max_ly;
   a=a+1;
end
clear;
end
但是每次运行到第二个循环完到 Z(a,1)=max_ly;时,总会提示错误::@(

??? Reference to a cleared variable a.
Error in ==> mix at 346
Z(a,1)=max_ly;

请各位高手指教!谢谢谢 小弟跪谢了:handshake

[ 本帖最后由 ChaChing 于 2009-11-17 21:21 编辑 ]

paradiseboy 发表于 2009-11-17 18:39

原帖由 zebtra_stripe 于 2009-11-17 17:22 发表 http://www.chinavib.com/forum/images/common/back.gif
首先问下各位高手clean和clean all 的区别是clean只能删除一般变量内存 而 clean all是可以删除全部 包括global变量 ,是么?
我编程的目的是想进行完一个循环后 删除一下内存 然后进行下一次的循环。
但是有个变量 ...

在最后一个end前用clear将a清楚掉了,所以在使用z(a,)时,找不到a的。

clean 和clean all都是将workspace中的变量清除了。
你不需要那些内容,可以在clean后加上对应的变量名。

ChaChing 发表于 2009-11-17 19:24

大致如楼上所述
但LZ的例子好像有问题, 应该不仅仅变量a不能删!
建议在clean后加上对应能删的变量名

zebtra_stripe 发表于 2009-11-18 10:57

回复 沙发 paradiseboy 的帖子 板凳 ChaChing 的帖子

谢谢你们
虽然我的程序真的不是那么简单,有很多很多的变量牵扯
但是看来也只有这种方法了。一个一个的来吧。
我还以为有什么 删除全部除什么之外 语句呢 哈哈 看来是异想天开:@L
总之谢谢:@)

ChaChing 发表于 2009-11-18 12:35

回复 地板 zebtra_stripe 的帖子

应该可以自编个程序达成!
但个人以为太过危险(容易误删), 不建议如此

[ 本帖最后由 ChaChing 于 2009-11-18 13:11 编辑 ]

friendchj 发表于 2009-11-19 05:51

回复 地板 zebtra_stripe 的帖子

如果删除变量很多,可以先save一下要保留的变量,再用clear全部删除,再load一下保存的变量即可

zebtra_stripe 发表于 2009-11-19 08:50

回复 6楼 friendchj 的帖子

这个方法不错,只是没想到
楼上的真聪明,哈哈,非常感谢,:loveliness:
页: [1]
查看完整版本: 请教一个貌似简单的问题 - clear