如何将文本文件中的逗号分隔的双精度读入 MATLAB?

How do I read comma separated doubles from text file into MATLAB?

我有一个名为 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

我需要将逗号分隔的三个值作为 3 个不同的向量读入 MATLAB。它们可以被称为任何名称,但 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 单元格数组 CC 中的每个单元格都是 1x100 并且不包含正确的数字。

你有一个 Comma Separated Value 文件,所以你可以简单地使用 csvread 来读入你的矩阵:

C = csvread('Output.txt');

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