如何从.txt文件MATLAB中提取数据列

时间:2016-10-14 21:38:35

标签: matlab

我在.txt文件中有一些数据。用逗号分隔的。

例如:

1.4,2,3,4,5
2,3,4.2,5,6
24,5,2,33.4,62

如果你想要列的平均值,如第一列(1.4,2和24)怎么办?或第二列(2,3和5)?

我认为将列放在一个数组中并使用内置的mean函数会起作用,但到目前为止,我只能提取行而不是列

而不是制作另一个帖子,我想我会编辑这个。我正在努力获得众所周知的虹膜数据集的每列的平均值。 我削减了一小部分数据:

5.1,3.5,1.4,0.2,Iris-setosa
4.9,3.0,1.4,0.2,Iris-setosa
4.7,3.2,1.3,0.2,Iris-setosa
4.6,3.1,1.5,0.2,Iris-setosa
5.0,3.6,1.4,0.2,Iris-setosa
5.4,3.9,1.7,0.4,Iris-setosa
4.6,3.4,1.4,0.3,Iris-setosa

delimiterln= ',';
data = importdata('iris.txt', delimiterln);


meanCol1 = mean(data(:,1))
meanCol2 = mean(data(:,2))
meanCol3 = mean(data(:,3))
meanCol4 = mean(data(:,4))

“cell”类型的输入参数的未定义函数“sum”。

平均误差(第115行)         y = sum(x,dim,flag)/ size(x,dim);

irisData出错(第6行) meanCol1 = mean(data(:,1))

看起来处理数据类型时出错...对此有何想法?我试图摆脱最后一列,这是字符串。它似乎没有错误地工作。所以我认为这是因为弦乐。

1 个答案:

答案 0 :(得分:1)

使用逗号分隔文件读取功能:

M = csvread(filename);

现在你有了矩阵M:

col1Mean=mean(M(:,1));