MATLAB - указали все пути, но он всегда открывается до последнего пути? - PullRequest
0 голосов
/ 14 апреля 2019

sound_dirs={Ball, Daddy,Jeep, No, Tea_Pot};

5 переменных в sound_dirs являются путевыми символами для 5 различных звуковых папок.

  • data_structure является ячейкой (длина (num_sounds) строки x 3 ячейки столбца
  • каждая строка соответствует отдельному звуку
  • первый столбец = имя каталога
  • второй столбец = структура файлов для файлов .wav
  • третий столбец = данные форматирования

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

Я использую этот метод для получения файлов .wav

for i=1:num_sounds;
     i_num_wavs=length(data_structure{i,2});
     ith_file=data_structure{i,2};
     for j=1:i_num_wavs;
     [y Fs]= audioread(ith_file(j).name);
% end x 2 at the end of the processing

Проблема:

Программа, которую я написал, всегда открывается в каталог TeaPot, который является последним каталогом. Поэтому, когда я вызываю i-й термин в цикле for, я каким-то образом получаю файлы TeaPotи они не совпадают.

Я использую этот метод, чтобы убрать последние имена каталогов для хранения в data_structure{i,1}

for i=1:num_sounds;
    path=sound_dirs{i};
[path, fname, ext] = fileparts(path); 
opendir = strcat(fname, ext);
words{i}=opendir;
end

Гделогика неверна?

enter image description here

...