matlab 常用文件读写操作

前言

在工作中,常常需要将数据写入文件,或者从文件中读取数据。在matlab中,实现文件读写操作的函数有许多。比如:
fopen() fscanf() fprintf() load() dlmwrite() save() fclose() 等等。针对需求选取恰当的函数,将会极大编程效率。

实例

将矩阵写入txt文件
  • save()
    适用范围:将工作空间的变量保存到文件中。
save(filename)
save(filename,variables)
save(filename,variables,fmt)
save(filename,variables,version)
save(filename,variables,'-append')
% 实例:将矩阵(m*n)写入txt文件
%fid=fopen('d.txt','w');
d=reshape(1:1:12,[4,3])';
path='mydata003.txt';
save(path,'d','-ascii');

  • dlmwrite()
    适用范围:将矩阵直接写入文件中。推荐!
dlmwrite(filename,M)example
dlmwrite(filename,M,'-append')
dlmwrite(filename,M,delimiter)
dlmwrite(filename,M,delimiter,row,col)
% 实例:将矩阵(m*n)写入txt文件
%fid=fopen('d.txt','w');
d=reshape(1:1:12,[4,3])';
path='mydata003.txt';
dlmwrite('mydata002.txt',d,' ');
读取文件中的矩阵

load()
适用范围:将数据从文件写入工作空间中。

load(filename)example
load(filename,variables)example
load(filename,'-ascii')example
load(filename,'-mat')
load(filename,'-mat',variables)
path='mydata003.txt';
data=load(path);
关于fscanf()

适用范围:从文本文件中读取输出。相比上面的save()和load(),scanf()能对数据进行更精确和多样的操作。

A = fscanf(fileID,formatSpec)
A = fscanf(fileID,formatSpec,sizeA)
%需求:将txt文件(m*n数据,分隔符为space)中的数据存入一个矩阵data
%我也是逗,直接load(path)不就解决了
%所以明确试用范围
function data=learn_fscanf(path)
[fid,message]=fopen(path,'r');
if fid==-1
    disp(message);
end
data=fscanf(fid,'%f',[4,3]);
data=data';
fclose(fid);

end
关于fprintf()

适用范围:将数据写入文本文件。

fprintf(fileID,formatSpec,A1,...,An)example
fprintf(formatSpec,A1,...,An
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值