Что делает clear (Filename) в MATLAB? - PullRequest
4 голосов
/ 12 июня 2011
files=dir('*.cpp');
for i=1:length(files)
    Filename=files(i).name;
    clear(Filename); 
    ......
end

Может кто-нибудь объяснить, что делает clear (Filename)? Я думаю, что это не удаляет переменную Filename, потому что я все еще вижу эту переменную на рабочем месте.

Ответы [ 2 ]

1 голос
/ 12 июня 2011

clear(str) очистит переменную, имя которой задано строкой в ​​str.Из документации :

clear('name1','name2','name3',...) - это функциональная форма синтаксиса.Используйте эту форму для имен переменных и имен функций, хранящихся в строках.

Итак, в вашем случае она очищает переменную, имя которой является строкой в ​​files(i).name.

Пример:

>> a=1:10;
>> str='a';

%#check what variables are in the workspace
>> whos
  Name      Size            Bytes  Class     Attributes

  a         1x10               80  double              
  str       1x1                 2  char                

>> clear(str)

%#check again
>> whos
  Name      Size            Bytes  Class    Attributes

  str       1x1                 2  char        
1 голос
/ 12 июня 2011

Он очищает переменные files (i) .name, где files (i) .name оценивается как имя filname

Допустим, у вас есть переменная с именем test.cppимя файла с именем 'test.cpp' Это очистит переменную 'test.cpp' из вашей рабочей области

...