0
我想读取每行5个条目的文件,其中两个是浮动的,其他是整数。但是,matlab的fscanf函数只能读取两行,我猜这是一个内存问题(对于5k行数据?)。读取matlab中的格式化输入
你知道如何解决这个问题吗?
我想读取每行5个条目的文件,其中两个是浮动的,其他是整数。但是,matlab的fscanf函数只能读取两行,我猜这是一个内存问题(对于5k行数据?)。读取matlab中的格式化输入
你知道如何解决这个问题吗?
我怀疑它是一个内存问题。 也许你在输入文件中有一些意想不到的字符? 您可以重现以下内容吗?
3.4E-5 4.2E14 1475 381 998877
3.4E-5 4.2E14 1475 381 998877
3.4E-5 4.2E14 1475 381 998877
3.4E-5 4.2E14 1475 381 998877
3.4E-5 4.2E14 1475 381 998877
filename='input.txt';
fid = fopen(filename);
A = fscanf(fid, '%f %f %d %d %d', [5 inf])';
fclose(fid);
>> A(:,1)
ans =
1.0e-004 *
0.3400
0.3400
0.3400
0.3400
0.3400
>> A(:,5)
ans =
998877
998877
998877
998877
998877
只是要小心,因为我敢肯定,一切数字被使用惨败用的fscanf多种数字类型时增加一倍。
>> class(A(:,5))
ans =
double
这里有一些小错误。 A = fscanf('%f ...应该是A = fscanf(fid,'%f ...;并且这种方法将输入表的转置置入A. – 2012-04-24 10:35:14
我修正了次要错误。 – PopcornKing 2012-04-24 11:42:52