У меня есть многомерный файл .mat с множеством массивов m x n, где каждый из них называется чем-то другим, например f1
, f2
и т. Д. Я хочу открыть файл .mat и проанализировать каждый файл автоматически. Как мне это сделать?Как я могу автоматизировать анализ матриц, хранящихся в файле мата?
2
A
ответ
5
Если вы знаете наверняка, что все переменных в файле .mat М-на-N массивов, подлежащих обработке, то это должно работать:
data = load('your_file.mat'); %# Load .mat file data into a structure
for name = fieldnames(data).' %'# Loop over the field names of the structure
mat = data.(name{1}); %# Get one structure field (i.e. matrix)
%# Process matrix here
end
выше использует функции load
и fieldnames
, и обращается к полям структуры, используя dynamic field names.
Святое дерьмо, я не знал о динамических ссылках на поле MATLAB. +1 – Doresoom
+1 также как примечание, можно получить имена переменных внутри MAT-файла, используя 'who -file file.mat' – Amro