将大数据从 .txt 文件导入 matlab

import large data from .txt file into matlab

我是 MATLAB 的新手。我有一个包含 2 header 行和总共 140000 行和 6 列的 .txt 文件。我只想提取前 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”)。我尝试使用带有 space 分隔符的 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

我在使用这个 method.I 时遇到错误,我猜我缺少一些更简单和合乎逻辑的东西。有人可以阐明这一点。

如果可能的话,我建议您执行以下操作:删除空格并将其替换为逗号并将逗号替换为点。使用 importdatafreaddlmread 加载此文件。现在您可以很容易地访问数据,就像您在示例中展示的那样。