Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab:读取并保存多个文件_Matlab_File_Loops_For Loop - Fatal编程技术网

Matlab:读取并保存多个文件

Matlab:读取并保存多个文件,matlab,file,loops,for-loop,Matlab,File,Loops,For Loop,我想读取文件夹中包含的所有wav文件,并将每个文件的示例保存在其他文件夹中包含的几个cvs文件中。 这是我的代码: dirMask = 'inputFolder\*.wav'; wavRoot = fileparts(dirMask); Files=dir(dirMask); for k=1:length(Files) FileNames = fullfile(wavRoot, Files(k).name); [s,fs] =

我想读取文件夹中包含的所有wav文件,并将每个文件的示例保存在其他文件夹中包含的几个cvs文件中。 这是我的代码:

     dirMask = 'inputFolder\*.wav';
    wavRoot = fileparts(dirMask);
    Files=dir(dirMask);

    for k=1:length(Files)
        FileNames = fullfile(wavRoot, Files(k).name);
        [s,fs] = audioread(FileNames);

    end

 fid = fopen('\filename.xls','a');
 fprintf(fid,'%f\n',num2str(s));
 fclose(fid);

这个代码不起作用。如何执行此操作?

首先,请注意,您使用的是%f,它用于浮点数,但您正在将“s”转换为字符串。此外,\n跳转到下一行,因此如果需要几列,则必须检查何时使用\n或\t(制表符)或仅使用“;”例如。无论如何都要检查

因此,如果您知道确切的列数(例如3列),您可以编写:

fprintf(fid,'%s \t %s \t %s \n',string1, string2, string3); 
如果要在循环中执行此操作,可以检查迭代器并每X个字符串添加“\n”

例如


“此代码不起作用”是什么意思?首先,您必须指定文件名mm而不是*.csv。第二:将“wt”替换为“a”,以便追加而不是一次又一次地覆盖以前的结果。接下来可能需要将fprintf(…,s)替换为fprintf(…,num2str(s)),但不确定-可能fprintf也会自动转换它。我修改了代码,但我希望每个wav文件的样本都在xls\cvs文件的每一列中可视化。我该怎么做?
ncols = 3
for i = 1:21
    mystring = num2str(i)
    if mod(i,ncols) == 0
       fprintf(fid,'%s \n',mystring); 
    else
       fprintf(fid,'%s ', mystring); 
    end
end