MATLAB: использовать переменную с расширением файла для загрузки файлов

Я использую MATLAB

У меня есть 51 файл в своем собственном каталоге все .out расширение, созданное отдельной программой, все пронумерованы 0 в 50,

т.е.

0.out
1.out
2.out

и так далее 50.out,

Мне нужно загрузить каждый файл по одному, чтобы сделать вычисления на них в цикле for. Как бы я сделал это, используя переменную count для загрузки файла, если каталог установлен заранее?

т.е.

%set directiory
cd(......)

%for loop
For count = 0:50,
     data = count.out     *<-----this line* 
     .....

Большое спасибо!

2 ответа

Сначала сгенерируйте имя файла с помощью

fileName = [int2str(count) '.out'];

затем откройте файл с помощью

fid = fopen(fileName, 'r');

Фаза загрузки зависит от типа файла, который вы хотите прочитать. Предполагая, что это текстовый файл, вы можете, например, прочитать его строка за строкой с

while ~feof(fid)
    line = fgetl(fid);
end

или используйте более специализированные функции (см. http://www.mathworks.it/it/help/matlab/text-files.html). До конца for цикл вам придется закрыть файл, вызвав

fclose(fid);

Еще один неплохой способ сделать это - использовать функцию dir.

http://www.mathworks.co.uk/help/matlab/ref/dir.html

a = dir ('c: \ docs *.out')

Предоставит вам структуру, содержащую всю информацию о файлах *.out в каталоге, на который вы указываете (или путь). Затем вы можете перебирать его постепенно. используя fopen или csvread или любую другую функцию чтения файлов, которую вы хотите использовать.

Другие вопросы по тегам