在MATLAB

时间:2015-09-24 09:51:07

标签: matlab import matlab-guide

我有一个制表符分隔的文本文件,后缀为.RAW。

如何在MATLAB中将文件中的数据加载到矩阵中?

我找到了readtable,但它不支持以后缀.RAW结尾的文件。

我是否真的必须使用freadfscanf等来简单地将文本文件加载到矩阵中?

2 个答案:

答案 0 :(得分:1)

您可以使用dlmread()功能。它会将ASCII文本文件中的数据读入矩阵,并让您自己定义分隔符。标签的分隔符为'\t'

>> M = dlmread('Data.raw', '\t')
M =

     1     2     3
     4     5     6
     7     8     9

仅为了您的信息,还有tdfread()功能,但我建议使用它,除非在非常具体的情况下。 dlmread()是一个更好的选择。

答案 1 :(得分:-1)

.RAW是一种通用文件扩展名。您应该知道RAW文件的格式(特别是如果您的文件包含数字,数据结构等的组合)。如果它是包含单个2D表格的简单文本文件,您可以使用fscanffreadfgetlfgets等轻松阅读

以下是2D表格(矩阵)的简单示例: 假设表的每一行都用以下行的回车符分隔。我们可以按fgetl()读取每一行,然后使用str2num()提取数字。

fid=fopen('YourTextFile.RAW');
Data=[];
i = 0;
while 1
    i = i + 1;
    tline = fgetl(fid);
    if ~ischar(tline), break, end
    Data(i,:) = str2num(tline);
end
fclose(fid);
disp(Data)

对于更复杂的数据结构,应该更改代码。 对于2D表(特殊情况),上述简单代码可以通过dlmread()函数轻松交换。