Pokud potřebujete zjistit zda v datovém souboru Matlabu (.mat) existuje nějaká proměnná, je nejelegantnější možností zavolat příkaz who s parametrem '-file'. Dalšími parametry jsou jméno datového souboru a jména proměnných k otestování. Při zadávaní jména proměnné můžete také použít zástupný znak *.
Návratovou hodnotou funkce who (za předpokladu že je požadována) je cell obsahující seznam všech názvů vyhovujících vstupním požadavkům. Pokud nás zajímá pouze existence proměnné otestujeme cell následně pomocí funkce isempty.
Příklad 1:
% Definice proměnných
var1 = 'a';
var2 = 'b';
dat1 = 1;
dat2 = 2;
% Uložení proměnných do souboru
save datafile
% Testování existence proměnných
varListAll = who('-file', 'datafile')
varListOne = who('-file', 'datafile', 'var1')
varListTwo = who('-file', 'datafile', 'var1','dat2')
varListNoE = who('-file', 'datafile', 'novar')
varListWhi = who('-file', 'datafile', 'var*')
varExist = ~isempty(who('-file', 'datafile', 'var1'))
varListAll =
'dat1'
'dat2'
'var1'
'var2'
varListOne =
'var1'
varListTwo =
'dat2'
'var1'
varListNoE =
{}
varListWhi =
'var1'
'var2'
varExist =
1
Žádné komentáře:
Okomentovat