Matlab 文件读取和写入

Matlab 文件读取和写入

1.文件读取

  1. 如果信号为纯ASCII(即文件内格式一致)码形式,可以用 load 函数读取。ASCII码格式也称文本格式,每个字节(8位)存储一个字符。
[filename filepath]=uigetfile('*.*');
full_filepath=[filepath filename];
load(full_filepath)
  1. 如果信号为混合的ASCII码形式,编码为.dat, 比如第一行为格式信息,第二行才开始数据,则需要用读文件的方式fscanf打开。首先需要用二进制文件查看器,找到数据起始行。然后预读取或者偏移到起始行(查找换行符即可)。再开始读取
full_filepath='data.dat';
fid=fopen(full_filepath,'r');%以只读方式打开文件
fseek(fid,178,'bof');%移至文件中的指定位置
%fscanf 将打开的文本文件中的数据读取到列向量 A 中,后两个参数可选
data=fscanf(fid,'%f',[channel datapoint]);
%以浮点数读取文件,保存成矩阵
fclose(fid);

  1. 如果信号为二进制格式,需要用fread打开。二进制格式用二进制编码存放文件。首先查看文件信息,确定编码格式。

fid=fopen(‘DATA.eeg’);
data=fread(fid,offset,‘float32’);如有需要可以预读取,以去掉文件头
data=fread(fid,inf,‘float32’);%打开文件fid,读到文件末尾,读取格式为float32
data=reshape(data,channel,[]);重新组织矩阵
fclose(fid);

  1. 如果信号为Excel格式,用xlsread打开
[NUMERIC,TXT,RAW]=xlsread(full_filepath,1,'H11887:J23746');

2.文件写入

  1. 写入二进制 fwrite
fid=fopen('test.abc','w');
fwrite(fid,data,'double');
fclose(fid);
  1. 写入Excel,xlswrite
data=rand(100,3);

[filename filepath]=uiputfile('*.xls');
full_filepath=[filepath filename];

xlswrite(full_filepath,data,3,'B10');  % write the data into the 3rd sheet from B10
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值