把MATLAB里面的数组写到文件并读取的一种方法:

如果想把MATLAB里面的一个数组写到文件里面去,比如txt文件,并读取里面的数组回MATLAB。可以用如下的方法:

假如要写入文件的数组为I,其大小为[M,N]

fid=fopen('outfile.txt','w');

for i=1:M

for j=1:N

fprintf(fid,'%f ',I(i,j));  %把数据写到文件里面,以float形式写入,也可                                    %以为其它的格式,如%d。

end

fprintf('\n');

end

fclose(fid);

fid=fopen('outfile.txt','r');

for i=1:M

for j=1:N

B(i,j)=fscanf(fid,'%f ',1);

end

end

% A=fscanf(fid,'%f')

% size(A,1)

B

fclose(fid);

%读取文件中的数据。这里fscanf函数里面的第三个参数控制一次读入的数据个数。如果缺省的话,则表示读入文件里面的所有数据。这样读入进来的数据我试了一下,是以一列的形式存放的。也即数据大小为[N,1],N为文件中总的数据量。

如果文件的数据如下:

1 2 5

2 6 5

2 3 6

则读入进来后变成:

1

2

5

2

6

5

2

3

6

如果指定第三个参数,则一次按第三个参数指定的量读入数据。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐