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

标签 matlab matrix vector 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 。现在您可以创建最终的 AB一些简单的矩阵indexing :

A = B(:, 1);   % Copy the first column of B into A
B(:, 1) = [];  % Remove the first column of B

关于matlab - 在 Octave 中加载输入文件并创建向量和矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46161830/

相关文章:

matlab - 如何在不使用 MATLAB 循环的情况下将矩阵元素与其相邻元素进行比较?

Xcode 8导入pdf(矢量)介绍图像 Assets 无法正常工作

c++ - 如何最好地填充 vector (避免浪费内存以及不必要的分配和取消分配)?

sql - 数据库与 MATLAB 变量有何不同?

matlab - 集群质量措施

python - 如何使用 numpy 将矩阵简化为行梯形形式?

Java - 数组索引超出范围 - vector ?

matlab - 解析 '[' : usage might be invalid MATLAB syntax时出错

matlab - 如何将矩阵的每一行插入 Matlab 中的单元格?

r - R 中非常大的稀疏矩阵的列重新缩放