Arrays 在MATLAB中,如何扫描.txt文件中的数字以放入数组?

Arrays 在MATLAB中,如何扫描.txt文件中的数字以放入数组?,arrays,matlab,scanf,Arrays,Matlab,Scanf,我在试图将.txt文件中的信息输入到MATLAB数组中,以便处理数据时遇到困难。这是我目前的代码 fileID = fopen(filename,'r');%assume filename is a generic name for my file sizeData = [256 inf]; formatSpec = '%f'; OriginalData = fscanf(fileID,formatSpec,sizaData); %OriginalData is the array 我的.t

我在试图将.txt文件中的信息输入到MATLAB数组中,以便处理数据时遇到困难。这是我目前的代码

fileID = fopen(filename,'r');%assume filename is a generic name for my file

sizeData = [256 inf];
formatSpec = '%f';
OriginalData = fscanf(fileID,formatSpec,sizaData); %OriginalData is the array
我的.txt文件看起来像这样


信息的大小为256 x 256数组。我不太明白为什么我的原始数据数组没有显示任何内容。任何帮助都将不胜感激。谢谢。

首先是一堆文本,然后是数字数据。按原样读取此数据将不起作用,因为格式说明符在文本文件的最开始处需要浮点数,但您有一堆不是浮点数的文本

先跳过文本,然后读入文本后的数据。试着做:

OriginalData = dlmread(filename, ' ', 31, 0);

从文件中读取数字文本数据并将其导入MATLAB。第一个参数是您要读取的文件,第二个是分隔数字的分隔符,这是您的大小写空间,然后我们要跳过31行,并有一个无列偏移量-分别由第三个和第四个参数表示。

您有一组文本,后面是数字数据。按原样读取此数据将不起作用,因为格式说明符在文本文件的最开始处需要浮点数,但您有一堆不是浮点数的文本

先跳过文本,然后读入文本后的数据。试着做:

OriginalData = dlmread(filename, ' ', 31, 0);

从文件中读取数字文本数据并将其导入MATLAB。第一个参数是您要读取的文件,第二个是分隔数字的分隔符,这是您的大小写空间,然后我们要跳过31行,并且没有列偏移量-分别由第三个和第四个参数表示。

我很懒,可能只会做't=readtable('myfile.csv','headerline',31);`然后用
table2array
从表中生成一个矩阵如果你想用scanf导入,你必须越过标题线,我想。。。要么创建一个新的.txt并删除标题,要么在将其传递给fscanfI之前读取一些行。我很懒,可能只会执行't=readtable'('myfile.csv','headerline',31);`然后用
table2array
从表中生成一个矩阵如果你想用scanf导入,你必须越过标题线,我想。。。创建一个新的.txt并删除标题,或者在将其传递给fscanf之前读取一些行