Matlab 如何读取多个.dat文件并取平均值?

Matlab 如何读取多个.dat文件并取平均值?,matlab,file-io,Matlab,File Io,我在一个文件夹中有100个.dat文件。是否可以用MATLAB一次读取所有文件,并对这100个文件的第5列进行平均?下面是一个.dat文件的示例 看看这个 你的整个问题都在这里得到了回答。你的答案是一个FAQ@matlab 祝你好运 看看这个 你的整个问题都在这里得到了回答。你的答案是一个FAQ@matlab 祝你好运 以下是一些让您开始学习的代码: %# get list of 100 .dat files pathToFolder = '.'; files = dir( fullfile

我在一个文件夹中有100个.dat文件。是否可以用MATLAB一次读取所有文件,并对这100个文件的第5列进行平均?下面是一个.dat文件的示例

看看这个

你的整个问题都在这里得到了回答。你的答案是一个FAQ@matlab

祝你好运

看看这个

你的整个问题都在这里得到了回答。你的答案是一个FAQ@matlab


祝你好运

以下是一些让您开始学习的代码:

%# get list of 100 .dat files
pathToFolder = '.';
files = dir( fullfile(pathToFolder,'*.dat') );

%# read all files
data = cell(numel(files),1);
for i=1:numel(files)
    fid = fopen(fullfile(pathToFolder,files(i).name), 'rt');
    H = textscan(fid, '%s', 4, 'Delimiter','\n');
    C = textscan(fid, repmat('%f ',1,8), 'Delimiter',' ', ...
        'MultipleDelimsAsOne',true, 'CollectOutput',true);
    fclose(fid);
    H = H{1}; C = C{1};

    %# store numeric data and ignore the header lines
    data{i} = C;
end

%# we assume all tables have the same size
data = cat(3,data{:});
mn = mean(data(:,5,:),3)    %# mean of 5th col across 100 files

以下是一些让您开始学习的代码:

%# get list of 100 .dat files
pathToFolder = '.';
files = dir( fullfile(pathToFolder,'*.dat') );

%# read all files
data = cell(numel(files),1);
for i=1:numel(files)
    fid = fopen(fullfile(pathToFolder,files(i).name), 'rt');
    H = textscan(fid, '%s', 4, 'Delimiter','\n');
    C = textscan(fid, repmat('%f ',1,8), 'Delimiter',' ', ...
        'MultipleDelimsAsOne',true, 'CollectOutput',true);
    fclose(fid);
    H = H{1}; C = C{1};

    %# store numeric data and ignore the header lines
    data{i} = C;
end

%# we assume all tables have the same size
data = cat(3,data{:});
mn = mean(data(:,5,:),3)    %# mean of 5th col across 100 files

是的,这是可能的。“到目前为止你尝试了什么?”Chirs,谢谢你的评论,这对我来说是一件新鲜事……是的,这是可能的。到目前为止,你尝试了什么?@Chirs,谢谢你的评论,这对我来说是一件新鲜事……虽然这确实回答了问题,但在这里包括了答案的基本部分,并提供了参考链接。虽然这确实回答了问题,但在这里包括了答案的基本部分,并提供了参考链接。