Matlab 保存TXT文件 打开乱码 (解决)

答主最近在做阿里天池心电大赛的数据集,这个数据集是用TXT保存的,打开是这样:

文件中的 I II V1-V6 分别代表了ECG的八大导联,当然这不重要,在使用ecgpuwave之前需要将上面的标记 去除掉

Matlab 保存TXT文件 打开乱码 (解决)_第1张图片

因为我之前在matlab上做预处理的数据最后保存都是司空见惯的MAT格式,但ecgpuwave这个函数没法儿识别MAT格式,只支持TXT格式

一开始,我以为只是简单的用save函数,将保存格式改成“TXT”, 然而,Things won't be so easy. 打开后是这样,全是乱码

Matlab 保存TXT文件 打开乱码 (解决)_第2张图片

原因是,Save函数保存 默认文件格式是 二进制 即使是改成了TXT文件,也依然是个二进制文件,

那如何解决呢??

很简单, 就是采用C中 朴素建立文件写入Data的方法,实现内容格式的修改,代码如下

% 通过C中朴素写入Data方法实现内容格式的修改
fid=fopen(string(FileName)+'.txt','wt');
[m,n]=size(data);
for i=1:1:m
    for j=1:1:n
        if j==n
            fprintf(fid,'%d\n',data(i,j));
        else
            fprintf(fid,'%d\t',data(i,j));
        end
    end           
end

fclose(fid);

 这里 data 代表变量矩阵。

最后,我们打开TXT,成功!

Matlab 保存TXT文件 打开乱码 (解决)_第3张图片

你可能感兴趣的:(matlab)