在 Octave 中加载输入文件并创建向量和矩阵

Loading an input file and creating vectors and matrices in Octave

我需要将我的数据加载到 Octave 中并创建一个包含第一列数据的向量 A 和一个包含其余数据的矩阵 B。我已经使用 load('wine.dat') 命令将我的数据加载到 Octave 中。我还使用向量 A 的第一列数据创建了一个向量,但我无法提取第二列和其余数据并将其存储到矩阵中。

我的数据集类似如下:

1,14.23,1.71,2.43,15.6,127,2.8,3.06,.28,2.29,5.64,1.04,3.92,1065
1,13.2,1.78,2.14,11.2,100,2.65,2.76,.26,1.28,4.38,1.05,3.4,1050
2,13.16,2.36,2.67,18.6,101,2.8,3.24,.3,2.81,5.68,1.03,3.17,1185
2,14.37,1.95,2.5,16.8,113,3.85,3.49,.24,2.18,7.8,.86,3.45,1480
3,13.24,2.59,2.87,21,118,2.8,2.69,.39,1.82,4.32,1.04,2.93,735
3,14.2,1.76,2.45,15.2,112,3.27,3.39,.34,1.97,6.75,1.05,2.85,1450

A = dlmread('wine.dat', [1]) 为第一列数据创建了一个向量。我将如何为第二列和数据集的其余部分创建矩阵?

如果您的数据文件 wine.dat 完全包含上面包含的示例文本,那么您正在处理以逗号分隔的数字数据,加载它的最简单选择是 csvread。例如:

B = csvread('wine.dat');

这会将所有数据加载到一个 6×14 矩阵中 B。现在您可以使用一些简单的 indexing:

创建最终的 AB 矩阵
A = B(:, 1);   % Copy the first column of B into A
B(:, 1) = [];  % Remove the first column of B