在Matlab

时间:2015-08-07 16:48:14

标签: matlab text

如何使用以下格式转换txt文件(包含n行数据):

"header1","header2","header3"
1.20,2,3
2.03,3,4
1.05,5,6
8.20,9,4
etc.

进入mat文件,该文件只是一个2xn矩阵,忽略文本文件的第一行和第一列,并基本上转置其他列:

2 3 5 9
3 4 6 4

1 个答案:

答案 0 :(得分:3)

有很多方法可以做到这一点,但是一个函数特别允许在调用参数中以给定rowcolumn偏移量开始读取(无需指定headerlines或在格式说明符中添加*:函数dlmread

在您的情况下,使用正确的参数调用它很简单:

M = dlmread( 'test.txt' , ',' , 1 , 1 ).' ;

M =
     2     3     5     9
     3     4     6     4

关于这个函数的好处是它直接返回一个double数组(如果你只想读取数字,则很有用),而不是像其他函数一样返回单元数组。

请注意,我将结果转换到了行的末尾(使用转置运算符.'),以便按照您想要的方式进行转换。

另请注意,最后2个参数被视为 offset (与开始行索引相对)。这意味着值1指定偏移量为1,因此读数将从行索引2开始(第一个索引为1 )。