MATLAB中将数据写入TXT文本文档中

matalb中打开文件:

fid = fopen(文件名,‘打开方式’);

说明:fid用于存储文件句柄值,如果fid>0,这说明文件打开成功。打开方式有如下选择: 
‘r’:只读方式打开文件(默认的方式),该文件必须已存在。 
‘r+’:读写方式打开文件,打开后先读后写。该文件必须已存在。 
‘w’:打开后写入数据。该文件已存在则更新;不存在则创建。 
‘w+’:读写方式打开文件。先读后写。该文件已存在则更新;不存在则创建。 
‘a’:在打开的文件末端添加数据。文件不存在则创建。 
‘a+’:打开文件后,先读入数据再添加数据。文件不存在则创建。 
另外,在这些字符串后添加一个“t”,如‘rt’或‘wt+’,则将该文件以文本方式打开;如果添加的是“b”,则以二进制格式打开,这也是fopen函数默认的打开方式。

(注:当用‘a’时,如果文本中已经存在数据,不会清空数据,而是在数据之后写入,而‘w’会清空原本的数据,重新写入)

一,如果要保存单行、单列数据

fid=fopen(['d:\','A.txt'],'w');%写入文件路径
for jj=1:length(A)
fprintf(fid,'%.4f\r\n',A(jj));   %按列输出,若要按行输出:fprintf(fid,'%.4\t',A(jj)); 
end
fclose(fid);

二,如果要保存一个矩阵

fid=fopen(['d:\','B.txt'],'w');%写入文件路径
[r,c]=size(B);            % 得到矩阵的行数和列数
 for i=1:r
  for j=1:c
  fprintf(fid,'%f\t',B(i,j));
  end
  fprintf(fid,'\r\n');
 end
fclose(fid);

三,如果要手动保存到指定位置,指定文件名

[FileName,PathName]=uiputfile({'*.txt','Txt Files(*.txt)';'*.xls','Excel(*.xls)';'*.*','All Files(*.*)'},'choose a File');  %% pathname获取保存数据路径, filename获取保存数据名称
if ~FileName
return;
else
str= [PathName,FileName];
end
fid = fopen(char(str), 'w');   % 要想存的文件名是自己输入的,这个地方就得这样写
[r,c]=size(C);               % 得到矩阵的行数和列数,C为要保持的矩阵
 for i=1:r
  for j=1:c
  fprintf(fid,'%f\t',C(i,j));
  end
  fprintf(fid,'\r\n');
 end
fclose(fid);

参考链接:https://blog.csdn.net/dmfylb/article/details/72581406

你可能感兴趣的:(MATLAB)