返回信息流我的.txt文件一行有3万多个数据,数据与数据之间由空格隔开,现在想要一行一行读入,并存入一个1行多列的矩阵中。
现在使用
fins=fopen('H:\community_detected\nmf_data.txt','r');
>> str=fgetl(fins);
读出的str是一个字符型的矩阵。。。就是把我的数据都拆了--
求问如何才能把每个数据读入呢???
这是一条镜像帖。来源:北邮人论坛 / matlab / #10935同步于 2014/5/7
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Matlab机器人发帖
matlab读取文件的问题,求各位大神指导!~~
about
2014/5/7镜像同步11 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
数据都是什么类型的?如果都是double类型,就不用这么麻烦了。
【 在 about 的大作中提到: 】
: 我的.txt文件一行有3万多个数据,数据与数据之间由空格隔开,现在想要一行一行读入,并存入一个1行多列的矩阵中。
: 现在使用
: fins=fopen('H:\community_detected\nmf_data.txt','r');
: ...................
【 在 yanglei5658 的大作中提到: 】
: 数据都是什么类型的?如果都是double类型,就不用这么麻烦了。
都是double类型的!大神,那我应该怎么办呢?
aa = load('a.txt');
bb = reshape(aa,m,n); %m,n为需要的相应格式
【 在 about 的大作中提到: 】
: 都是double类型的!大神,那我应该怎么办呢?
【 在 yanglei5658 的大作中提到: 】
: aa = load('a.txt');
: bb = reshape(aa,m,n); %m,n为需要的相应格式
我的整个文件有23GB太大了,导不进来。。。所以只能一行一行的读了。。。
一次读一个。。你非得一次读一行么。。那你只能用fgetl+sscanf了
【 在 about 的大作中提到: 】
: fscanf可以一次读一行吗?用空格分开的?
还有这种方法,可以试一下
fid = fopen('a.txt','r');
fseek(fid,0,'bof');
A = fscanf(fid,'%g %g',[2,30720]); %我这里数据是n*2格式的,所以读的时候这样,你可以按照具体的形式来写,这里一次读取30720*2的数据
fseek(fid,0,'cof');
B = fscanf(fid,'%g %g',[2,30720]); %接下来的数据
接下来一直循环,直到文件末尾
fseek(fid,0,'cof');
B = fscanf(fid,'%g %g',[2,30720]); %接下来的数据
顺便问一下,怎么写文件,才能让文件的大小超过4G??多谢多谢了。
【 在 about 的大作中提到: 】
: 我的整个文件有23GB太大了,导不进来。。。所以只能一行一行的读了。。。
【 在 yanglei5658 的大作中提到: 】
: 还有这种方法,可以试一下
: fid = fopen('a.txt','r');
: fseek(fid,0,'bof');
: ...................
我是拿java写的文件。。。