把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
如果指定第三个参数,则一次按第三个参数指定的量读入数据。