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 или любую другую функцию чтения файлов, которую вы хотите использовать.