2010-06-07 2 views
2

У меня есть многомерный файл .mat с множеством массивов m x n, где каждый из них называется чем-то другим, например f1, f2 и т. Д. Я хочу открыть файл .mat и проанализировать каждый файл автоматически. Как мне это сделать?Как я могу автоматизировать анализ матриц, хранящихся в файле мата?

ответ

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.

+0

Святое дерьмо, я не знал о динамических ссылках на поле MATLAB. +1 – Doresoom

+2

+1 также как примечание, можно получить имена переменных внутри MAT-файла, используя 'who -file file.mat' – Amro

Смежные вопросы