将.txt文件中的大数据导入matlab

时间:2015-01-19 11:21:43

标签: matlab large-data

我是MATLAB的新手。我有一个.txt文件,有2个标题行,总共140000行和6列。我想只提取感兴趣的任何一个列数据的前116959行,并将其存储为向量。我想进一步使用这个列向量进行fft分析。像这样我想读取多个列并将它们存储为矢量。

Time        T_hor   T_ver   V_hor   V_ver   SPEED   
s       um  um  um  um  Hz  
39,000000   8,833   -15,43  -11,871 23,604  701,17  
39,000200   3,121   -22,78  -9,949  41,712  701,17  
39,000400   -8,012  -26,28  -4,317  33,790  701,17  
39,000600   -13,092 -20,22  8,343   20,630  701,17  
39,000800   -16,408 -5,27   6,869   5,680   701,17  
39,001000   -10,591 5,36    1,895   -0,005  701,17  
39,001200   2,016   -0,01   -7,054  6,786   701,17  
39,001400   8,622   -14,06  -11,581 20,998  701,17  
39,001600   4,279   -22,17  -10,002 39,791  701,17  
39,001800   -7,117  -25,70  -5,738  35,106  701,17  
39,002000   -12,697 -20,99  6,948   22,314  701,17  
39,002200   -16,355 -6,83   6,738   7,602   701,17  
39,002400   -11,960 5,68    2,079   0,469   701,17  
39,002600   0,463   2,10    -6,422  5,759   701,17  
39,002800   8,964   -11,91  -11,765 19,498  701,17  

这就是数据的样子(忽略逗号(,),数据采用德语格式,相当于'39 .0012')。我尝试使用带有空格分隔符的importdata。但它给了我错误。以下是我使用的代码。

filename = 'Test_Data.txt';
delimiterIn = ' ';
headerlinesIn = 2;
A = importdata(filename,delimiterIn,headerlinesIn);   

for k = [3, 5] % Extracting 3rd and 5th column
   disp(A.colheaders{1, k})
   disp(A.data(:, k))
   disp(' ')
end

使用这种方法时我会遇到错误。我猜我有一些更容易和更符合逻辑的东西。有人可以对此有所了解吗?

1 个答案:

答案 0 :(得分:0)

如果可能的话,我建议您使用以下内容:删除空格并用逗号替换它们并用点替换逗号。像使用importdatafreaddlmread一样加载此文件。现在,您可以在示例中显示数据时轻松访问数据。