在 MATLAB 中,如何扫描我的 .txt 文件以查找要放入数组中的数字?
In MATLAB, how do I scan my .txt files for numbers to put in an array?
我在尝试将信息从我的 .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 数组没有显示任何内容。任何帮助将不胜感激。谢谢。
您首先有一堆文本,然后是数字数据。按原样读取此数据是行不通的,因为您的格式说明符期望文本文件的最开头是浮点数,但您有一堆不是浮点数据的文本。
先跳过正文,再读入正文后的数据。尝试这样做:
OriginalData = dlmread(filename, ' ', 31, 0);
dlmread
从文件中读取数字文本数据并将其导入 MATLAB。第一个参数是您要读取的文件,第二个是分隔数字的分隔符,对于您的情况是 space,然后我们要跳过 31 行,并且没有列偏移量 - 表示为分别是第三个和第四个参数。
我在尝试将信息从我的 .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 数组没有显示任何内容。任何帮助将不胜感激。谢谢。
您首先有一堆文本,然后是数字数据。按原样读取此数据是行不通的,因为您的格式说明符期望文本文件的最开头是浮点数,但您有一堆不是浮点数据的文本。
先跳过正文,再读入正文后的数据。尝试这样做:
OriginalData = dlmread(filename, ' ', 31, 0);
dlmread
从文件中读取数字文本数据并将其导入 MATLAB。第一个参数是您要读取的文件,第二个是分隔数字的分隔符,对于您的情况是 space,然后我们要跳过 31 行,并且没有列偏移量 - 表示为分别是第三个和第四个参数。