在Octave/Matlab中读取和解析文本文件

6
我正在尝试在Octave程序中从文件中读取一些值(我猜Matlab也类似),但不确定如何做。
我有一个输入文件,格式如下:
x y
A B C
a_11 ...  a_1n
a_21 ..   a_2n
...
a_m1 ...  a_mn

其中 x,y 是浮点数,A、B、C 是整数,a_11 ... a_mn 是一个矩阵。
我看到了如何仅读取矩阵的示例,但是如何读取这样混合的内容呢?
1个回答

8

在我看来,这不是一种存储数据的好方法。但Octave提供了使用dlmread读取此类数据的功能:

data = dlmread (file, sep, r0, c0)
data = dlmread (file, sep, range)

如果你有这个文本文件 test.csv:
1 2
1.1 2.2 3.3 4.4
1 2 3
4 5 6
7 8 9

您可以像这样读取您的数据:
integers = dlmread('test.csv', '', [0 0 0 1]);
floats   = dlmread('test.csv', '', [1 0 1 3]);
matrix   = dlmread('test.csv', '', 2, 0);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接