【问题标题】:Get the average value in multiple text files Matlab获取多个文本文件Matlab中的平均值
【发布时间】:2014-03-03 12:38:56
【问题描述】:

我有 10 个.txt 文件。每行有 100 行,其中每行有 4 个值,用逗号分隔,如下所示是其中一个文件中的前 4 行,但都是相同的结构:

792.98,419.48,333.35,245.63
787.13,408.59,345.05,251.48
798.3,414.17,333.36,245.63
803.61,414.43,333.35,239.78

我想得到 10 个文件中每个值的平均值例如我将读取 10 个文件中的第一行,如前所述,该行将有 4 个值由, 分隔,所以我想取解析行中的第一个值并获取该值在 10 个文件中的平均值,然后将其保存在结果文件中,然后移动到该行中的第二个值并获取平均值,然后将其保存在最后一个结果之后,依此类推上。因此结果文件将与 10 个文件具有相同的结构(100 行,每行有 4 个值,用, 分隔),但会保存 10 个文件中每个值的平均值。

所以如果有人可以请建议。

【问题讨论】:

    标签: matlab


    【解决方案1】:

    您可以读取所有文件并制作 3D 矩阵,并使用 mean 计算沿第三维的平均值。例如,

    % your input files. In your case you would have 10 file names here.
    files = {'file_01.txt', 'file_02.txt', 'file_04.txt', 'file_04.txt'};
    
    
    dataFromFiles = [];
    
    
    for fi = 1:numel(files)
        dataFromFiles(:, :, fi) = dlmread(files{fi});
    
    end
    
    
    dataMean = mean(dataFromFiles, 3);
    
    dlmwrite('mean.txt', dataMean);
    

    【讨论】:

      猜你喜欢
      • 2017-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-24
      • 2011-02-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多