You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Matlab代码实现批量CSV文件均值提取与特征导出

MATLAB代码修改方案:从单文件均值提取全局特征并保存结果

核心修改思路

原代码是对每个CSV的第5行单独计算特征,现在调整为:

  • 读取每个CSV的全部数据,计算该文件所有数据的单个均值
  • 收集所有117个文件的均值,形成一个数组
  • 基于这个均值数组,统一计算最大值、最小值、峰度、偏度、标准差这几个全局特征
  • 将所有计算结果保存到单个文件中

修改后的完整代码

close all
clear all

% 填写你的CSV文件夹路径
file_location = '你的CSV文件所在文件夹路径'; 

% 创建文件数据存储,读取所有CSV文件
emptyroomdata = fileDatastore(fullfile(file_location), 'ReadFcn', @importdata, 'FileExtensions', '.csv');
fullFileNames = emptyroomdata.Files;
numfiles = length(fullFileNames);

% 读取所有文件数据
data = readall(emptyroomdata);

% 初始化数组存储每个文件的均值
file_means = [];

% 遍历每个文件,计算全数据的均值
for k = 1:numfiles
    % 获取当前文件的全部数值数据
    current_data = data{k,1}.data;
    % 将二维数组转一维后求均值,确保是整个文件所有数据的平均
    current_mean = mean(current_data(:));
    % 存入均值数组
    file_means = [file_means, current_mean];
end

% 基于所有文件的均值数组,计算全局特征
global_max = max(file_means);
global_min = min(file_means);
global_kurtosis = kurtosis(file_means);
global_skewness = skewness(file_means);
global_std = std(file_means);

% 将结果整理成表格,方便保存和查看
results_table = table(...
    {'最大值'; '最小值'; '峰度'; '偏度'; '标准差'}, ...
    [global_max; global_min; global_kurtosis; global_skewness; global_std], ...
    'VariableNames', {'特征名称', '特征值'});

% 保存结果到CSV文件(若需MATLAB专用格式,可换成save('全局特征结果.mat', 'results_table'))
writematrix(results_table, '全局特征结果.csv');

% 命令行打印结果(可选)
disp('计算完成,结果已保存到 全局特征结果.csv');
disp(results_table);

关键修改说明

  1. 均值计算逻辑:用mean(current_data(:))把每个文件的二维数据转成一维后求均值,避免按列/行求均值的错误,确保是整个文件所有数值的平均
  2. 特征计算时机:先收集所有文件的均值,再一次性计算全局特征,完全匹配需求
  3. 结果保存:用table整理结果后通过writematrix保存为CSV,兼容性强;也可根据需求换成MATLAB专属的.mat格式保存

内容的提问来源于stack exchange,提问作者MD. Irteeja Kobir

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 07:48:44