присвоение файлам .xls в папке отдельных имен matlab

Я хочу создать скрипт в Matlab, где все отдельные объекты связаны с переменной.

Это будет выглядеть так:

M1 = xlsread('BonBon.xls');
M2 = xlsread('Bornfyn.xls');

Дело в том, что у меня есть около 300 файлов .xls, которые я должен назначить.

Есть ли способ сообщить Matlab, чтобы он получил все отдельные файлы в определенной папке (/ подпапке) и присвоил им имя? (мкс)

Я пытался использовать функцию dir, но не могу решить, как определить папки. Получение всех имен файлов в заданном имени папки

поэтому я попробовал http://www.mathworks.com/matlabcentral/newsreader/view_thread/273916 Но еще сложнее понять, как мне оформить этот сценарий. (помимо добавления .xls в список типов файлов).

Искренне


person chemicaluser3195825    schedule 25.01.2014    source источник
comment
Что вы имеете в виду, я не могу решить, как мне определить папки? Какую ОС вы используете?   -  person darthbith    schedule 26.01.2014
comment
я использую osx, поэтому я определил его из /, из / MATLAB и / Maend (это папка, в которой у меня есть мои файлы)   -  person chemicaluser3195825    schedule 26.01.2014
comment
Я не могу прочитать это stackoverflow.com/questions/5803915/ должен быть скриптом, который я искал. Пока он не определяет имена переменных, а только получает файлы и получает имена файлов.   -  person chemicaluser3195825    schedule 26.01.2014
comment
Я подозреваю (я не настолько знаком с OSX), что у вас должна быть папка типа /home/my/data/here. Что будет на выходе, когда вы наберете pwd в командной строке MATLAB? Когда у вас есть имена файлов, вы можете написать цикл, что-то вроде for ii = 1:len(names) M(ii) = xlsread(names(i)); end   -  person darthbith    schedule 26.01.2014
comment
Затем «имена» заменяются всеми именами в папке, которые, я думаю, разделены запятыми? (BorBor.xls,BorKBH.xls...) и xlsread(BorBor.xls,BorKBH.xls...(i);   -  person chemicaluser3195825    schedule 26.01.2014
comment
Я не очень понимаю, в чем заключается ваш вопрос... names сама по себе является переменной, в которой хранятся все имена файлов. Если вы будете следовать инструкциям в связанном вопросе, у вас будет переменная с именем allNames. Каждая строка allNames содержит разные имена файлов. Когда вы пишете цикл for, как я писал выше, вы говорите компьютеру пройти через переменную ii одну за другой. Затем он просматривает ii строку allNames и сообщает xlsread использовать это имя файла, а результат присваивает ii строке M. Это помогает?   -  person darthbith    schedule 26.01.2014
comment
Matlab сообщает мне, что есть ошибка с len в: for ii = 1:len(allNames) M(ii) = xlsread(names(1i)); end Следовательно: неопределенная функция 'len' для входных аргументов типа 'cell'. В противном случае вы были абсолютно правы в отношении stackoverflow.com/questions/5803915/ -code влияет на общий и общий код.   -  person chemicaluser3195825    schedule 26.01.2014
comment
Я тестировал до сих пор и получил этот результат: allFiles = dir( '*.xls' ); allNames = { allFiles.name }; for ii = 1:length(allNames) M(ii) = xlsread(allFiles(ii)); end но Matlab говорит мне, что allFiles должен быть строкой.   -  person chemicaluser3195825    schedule 26.01.2014
comment
Теперь это работает. определение allFiles = dir( '*.xls''String' ); как строки в 'String' делает это. Спасибо!   -  person chemicaluser3195825    schedule 26.01.2014
comment
Рад помочь. Извините за путаницу с len... Я привык к Python :-)   -  person darthbith    schedule 26.01.2014