【发布时间】:2015-09-13 10:53:46
【问题描述】:
有人可以帮助我了解如何在 matlab 中保存一组 .csv 文件,仅选择我感兴趣的列并获得一个最终文件作为输出,其中我有 y 列的平均值和y轴的标准偏差?我在matlab中不太好,所以请问是否有人可以帮助我解决这个问题。
这是我到目前为止尝试做的事情:
clear all;
clc;
which_column = 5;
dirstats = dir('*.csv');
col3Complete=0;
col4Complete=0;
for K = 1:length(dirstats)
[num,txt,raw] = xlsread(dirstats(K).name);
col3=num(:,3);
col4=num(:,4);
col3Complete=[col3Complete;col3];
col4Complete=[col4Complete;col4];
avgVal(K)=mean(col4(:));
end
col3Complete(1)=[];
col4Complete(1)=[];
%columnavg = mean(col4Complete);
%columnstd = std(col4Complete);
% xvals = 1 : size(columnavg,1);
% plot(xvals, columnavg, 'b-', xvals, columnavg-columnstd, 'r--', xvals, columnavg+columstd, 'r--');
B = reshape(col4Complete,[5000,K]);
m=mean(B,2);
C = reshape (col4Complete,[5000,K]);
S=std(C,0,2);
现在我知道我应该使用 mean()function 在 for 循环中计算均值和标准偏差,但我不确定如何使用它。
【问题讨论】:
-
你为什么使用
xlsread来处理 csv 文件?第二:初始化col3Complete=[],然后你就不必清除循环后的第一个条目。 -
好的,现在我修改的代码可以运行了。我只需要了解如何计算标准差。
-
与循环内计算
mean的方法相同,只需使用std(col4(:))
标签: matlab csv average standard-deviation