将.dat文件加载到matlab变量时的问题

时间:2014-06-06 04:03:43

标签: matlab import loading

我的.dat文件的一部分如下所示:

1.916E+09   3.00  400.89  30.00  8.868E+05  1.848E+02  9.034E-05
1.916E+09   3.00  400.27  300.00  8.723E+05  1.860E+02  9.014E-05
1.916E+09   3.00  400.66  30.00  8.574E+05  1.873E+02  9.000E-05

。 。 。 。 。

它有32行数据。理想情况下,我想将具有相同格式的数据导入变量。我正在使用matlab 2013a和

我试过data = load('filename') --which提示我:使用加载时出错。 ASCII文件第2行的列数必须与前一行相同。

我试过data = load('filename') - 提示我: 未定义的函数'readtable'用于'char'类型的输入参数。

我正在尝试使用文本扫描,但我无法弄清楚如何使用。我是matlab的新手。谢谢!

1 个答案:

答案 0 :(得分:1)

load仅适用于MATLAB格式的文件。它们也是以专有方式编码的,因为您能够读取.dat文件,所以它实际上不是MATLAB文件!此外,textscan肯定是要走的路。如果您的数据真的如此,那么您可以使用textscan,如下所示:

fid = fopen('mydata.dat');
C = textscan(fid, '%f%f%f%f%f%f%f');
fclose(fid);

每行有7列,对我来说它们看起来都像double。因此C将返回的是7个元素的单元格数组。每个单元格将包含每列。

您可以使用C{1}访问第一列,使用C{2}访问第二列,依此类推。

祝你好运!

相关问题