Как определить матрицу и запустить цикл для нескольких файлов Excel в MATLAB? - PullRequest
0 голосов
/ 17 января 2012

У меня более 200 файлов Excel с названиями стран и годами.Я хочу, чтобы Matlab определил конкретный диапазон определенного листа этих файлов как матрицу с заголовками (код написан для io table-matrix-), запустил код для каждого файла и сохранил вывод для каждого файла в отдельном файле.файл.Основная проблема в том, что я не могу обрабатывать файлы в цикле и одновременно определять матрицу для каждого файла.Код для одного файла следующий:

    function res=cb(a)
    a=[xlsread('aut2000.xls', 'domestic','B7:AV54')]
    a = a(any(a'),any(a))
    ...

Спасибо.

1 Ответ

0 голосов
/ 17 января 2012

Без дополнительной информации о том, как вы определяете диапазон в файлах Excel (т. Е. Есть ли шаблон для диапазонов), трудно дать конкретный совет, но лучший способ сделать это - определить матрицу вмассив вне цикла, а затем просто ссылаться на запись в цикле:

files = {'file1.xls','file2.xls',...};
ranges = {'a7:d54','a6:f90',...};

function res=cb(files, ranges)

for n=1:length(files)
    a = xlsread(files{n}, 'domestic', ranges{n});
end

Вы также можете связать структуры (files = {{'file1.xls','a4:c89'}, {'file2.xls','b7:d300'}, ...}) и получить цикл функции через эту структуру.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...