Wenn Sie meinen, dass Sie eine Liste der Variablen in einer * .mat Datei erhalten möchten, die mit d1
beginnen, d2
, etc. Sie who
verwenden könnte und matfile
eine Liste aller Variablen zu erhalten. who
akzeptiert einen regulären Ausdruck, den Sie für die Variablen erstellen können, die Sie sehen möchten.
matobj = matfile('filename.mat');
d1vars = who(matobj, '-regexp', '^d1h');
nD1 = numel(d1vars);
Oder allgemein in einer Schleife
for k = 1:3
vars{k} = who(matobj, '-regexp', ['^d', num2str(k), 'h']);
% And get the number
nVars(k) = numel(vars{k});
end
Wenn Sie eine ältere Version von MATLAB haben, können Sie die Datei in ein struct
laden und überprüfen dann die Felder dieser Struktur für das Muster, das Sie würde mir gefallen.
data = load('filename.mat');
variables = fieldnames(data);
isd1 = variables(~cellfun(@isempty, regexp(variables, '^d1h')));
nD1 = numel(isd1);
Es enthält Dateinamen oder Variablennamen? – Suever
Bitte geben Sie eine [mcve] an. – excaza
Es enthält den Dateinamen – aryan