在octave / matlab中读取和解析文本文件

时间:2011-11-23 07:00:18

标签: matlab 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 个答案:

答案 0 :(得分: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);