在MATLAB中导入文本文件

在MATLAB中导入文本文件,matlab,import,matlab-guide,Matlab,Import,Matlab Guide,我有一个以制表符分隔的文本文件,后缀为.RAW 如何将文件中的数据加载到MATLAB中的矩阵中 我找到了,但它不支持以后缀.RAW结尾的文件 我真的必须使用fread、fscanf等将文本文件加载到矩阵中吗?。RAW是一种通用的文件扩展名。您应该知道原始文件的格式(尤其是当您的文件包含数字、数据结构等的组合时)。如果它是一个带有单个2D表格的简单文本文件,则可以使用fscanf、fread、fgetl、fgets等工具轻松读取 以下是2D表格(矩阵)的简单示例: 让我们假设表中的每一行都由一个回

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

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

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


我真的必须使用
fread
fscanf
等将文本文件加载到矩阵中吗?

。RAW是一种通用的文件扩展名。您应该知道原始文件的格式(尤其是当您的文件包含数字、数据结构等的组合时)。如果它是一个带有单个2D表格的简单文本文件,则可以使用
fscanf
fread
fgetl
fgets
等工具轻松读取

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

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

您可以使用该函数。它将把ASCII文本文件中的数据读入矩阵,并让您自己定义分隔符。制表符的分隔符是
'\t'

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

     1     2     3
     4     5     6
     7     8     9

仅供参考,还有该功能,但我不建议在非常特殊的情况下使用它。是一个更好的选择。

我也尽量避免
fread
,和
fscanf
:-)检查并可能复制您是否尝试过dlmread?看起来
dlmread
有效:-D但当我打印矩阵时,它会计算出一个数字。这是正常的MATLAB行为吗?它是一个简单的文本文件(ASCII格式,扩展名为.raw)。你能举一个简单的脚本例子,将数据加载到矩阵中吗?这是一个注释,没有回答问题。我不同意。我已经测试了这段代码,它是有效的。根据哪种推理,你说这段代码在MATLAB中不起作用?!!!
>> M = dlmread('Data.raw', '\t')
M =

     1     2     3
     4     5     6
     7     8     9