我想从某个目录读取几个文件。这是我的剧本:
prefix = '\wav\';
wav_arr = ['1.wav'; '2.wav'; '3.wav'];
wav_arr = cellstr(wav_arr);
len = length(wav_arr);
sig = [];
fs = [];
for i = 1:len
path = strcat(pwd, prefix, wav_arr(i));
[s, curr_fs] = audioread(path);
sig = [sig s];
fs = [fs curr_fs];
end但我收到了一个错误:
Error using which
Argument must contain a string.
Error in audiovideo.internal.absolutePathForReading (line 7)
whichFileName = which(filename);
Error in audioread (line 74)
filename = audiovideo.internal.absolutePathForReading(...
Error in main_experiment (line 14)
[s, curr_fs] = audioread(path);问题是path是1x1 cell,不是string。而为cellstr()执行path不起作用。
发布于 2016-04-01 09:58:44
for i = 1:len
path = strcat(pwd, prefix, wav_arr(i));
[s, curr_fs] = audioread(path);
sig = [sig s];
fs = [fs curr_fs];
end成为
for i = 1:len
path = strcat(pwd, prefix, wav_arr{i});
[s, curr_fs] = audioread(path);
sig = [sig s];
fs = [fs curr_fs];
end仅此而已,请阅读matlab中有关单元格的文档,以了解单元格(1)和单元格{1}之间的区别。
https://stackoverflow.com/questions/36352602
复制相似问题