2012-11-13 37 views
1

我toto.m + model.mdl 從功能toto.m,我打開它在工作區 負載變量關閉模型後,我想清除工作區 加載變量模型是有辦法要做到這一點,而不使用清楚所有?從工作區基地清除

function toto 

model = 'model1'; 
open_system(model1); 
close_system(model1); 
end 
當我運行工作空間不會被清零功能

,我怎麼會清除變量只能使用模型,而不使用明確的呢?

+2

'clear'會做。說真的,你應該首先告訴我們你的問題'清除所有'是什麼。 –

+0

還有['clearvars'](http://www.mathworks.nl/help/matlab/ref/clearvars.html),它有一個'clear'的'-except'標誌,'clear'沒有。但不知道,如果這就是你想要的。 – Junuxx

回答

2

可以使用clear後面的變量列表,例如clear a b c。然而,我不知道是否有一種方法可以清除給定腳本中聲明的所有變量,儘管您始終可以使用函數,因此函數範圍內的所有變量在結束時都會被清除。

+0

使用函數+1。 –

+0

我已經更新了使用函數 – lola

+0

的問題變量列表太長... – lola

2

如果你想清除除了那些運行腳本之前已經存在的所有變量,可以暫時存儲這些已經存在的變量名和明確的運行之後使用:

already_existing_vars = who; 

% your actual script ... 
% ... 

% clear variables created in this script 
vars_to_clear = setdiff(who,already_existing_vars); 
clear(vars_to_clear{:},'vars_to_clear') 
+0

你好,如果我只想在最後清除所有變量,我怎麼能做到這一點,沒有明確的a,b,c,....等? – lola

+0

@lola如果你想清除所有變量,只需使用'clear'。使用它imo沒有任何問題。 –