Matlab:在多个文件上运行



我想读取文件夹中包含的所有wav文件,每个文件我都执行一个函数。这个函数的结果是一个数字。我想把几个结果保存在一个txt文件中。

这是我的代码:

dirMask = 'folder*.wav';  
wavRoot = fileparts(dirMask);
Files=dir(dirMask);
x = []; 
for k=1:length(Files)
FileNames = fullfile(wavRoot, Files(k).name)
nomi=FileNames;
[s,fs] = audioread(FileNames);
a = function(s, fs);
x=a; 
end
fid = fopen('file.txt','wt');
fprintf(fid,'%fn',x);
fclose(fid);

此代码不起作用。我该怎么做?

我稍微重新安排了一下。我并不完全肯定最初的意图,但我认为这就是你试图实现的:

dirMask = 'folder*.wav';  
Files = dir(dirMask);
fid = fopen('file.txt','wt');
for k=1:length(Files)
FileName = [ Files(k).folder '' Files(k).name ]
[s,fs] = audioread(FileName);
% functions named function is a bad idea as it is keyword protected
x = myFunction(s,fs);
fprintf(fid,'%fn',x);
end
fclose(fid);

相关内容

  • 没有找到相关文章