如何使用matlab(2010)对包含大量数据文件的文件夹执行相同的数学运算(例如:平均值)并将它们存储在一个输出中? 这是我的代码,但没有成功。
function A = RepeatForAll()
A = 0;
% audio is the folder name where audio files are saved
path = fullfile(pwd,'audio');
files = dir(path);
for fileIndex=3:length(files)
if (files(fileIndex).isdir == 0)
if (~isempty(strfind(files(fileIndex).name,'wav')))
fullfile(path,files(fileIndex).name)
result = wavread(fullfile(path,files(fileIndex).name));
% Any thing you have to for each audio file
inputz=wavread(result);
outx = mfccx(result);
A(count,:) = mean(outx,2);
count=count+1;
end;
end;
end;
答案 0 :(得分:0)
您需要设置
count=0;
在进入for循环之前,现在count是未定义的。
此外,inputz=wavread(result);
行未使用且错误。你不能在任何地方使用inputz
,而是在wavread
上调用result
,这不是文件名(参见上面的行)。这会产生错误。
下次请更清楚,至少给我们提供错误信息。描述你认为应该发生的事情也很有用。
最后,正确格式化您的代码。在matlab中,选择您的代码(control+a
),然后按control+i
进行格式化。