如何从文本文件中读取逗号分隔的双精度到MATLAB?

时间:2016-12-14 21:48:41

标签: matlab csv textscan

我有一个名为Output.txt的文本文件,如下所示:

0.000000,0.550147,0.884956
1.000000,0.532486,0.847458
2.000000,0.501333,0.800000
3.000000,0.466418,0.746269
4.000000,0.409492,0.662252
5.000000,0.327257,0.520833
6.000000,0.267376,0.425532
7.000000,0.188427,0.296736
8.000000,0.115824,0.180505
9.000000,0.062768,0.099108

我需要将用逗号分隔的三个值读入MATLAB中作为3个不同的向量。可以调用它们,但C1C2C3可以正常工作。

C1将包含[0.000000,1.000000,2.000000, ...]C2将包含[0.550147,0.532486,...],而C3将包含第三列[0.884956,0.847458,...]中的值。

我尝试使用以下内容,但我无法正常使用它:

File = 'Output.txt';
f = fopen(File, 'r');
C = textscan(f, '%f%f%f', 'Delimiter', ',');
fclose(f);

这给了我1x3 Cell数组C,但C中的每个单元格都是1x100,并且不包含正确的数字。

1 个答案:

答案 0 :(得分:5)

您有一个Comma Separated Value文件,因此您只需使用csvread即可阅读矩阵:

C = csvread('Output.txt');

其中C现在是一个包含所有值的矩阵,您当然可以通过列和行进行索引。我建议不要创建列向量而是使用C(:,1)作为第一列等。