Matlab将数组写入.txt文件

Matlab将数组写入.txt文件
2018/6/28

今天用MATLAB写作业,想要将得到的一系列分类数据(0,1)导出到.txt文件,从开始到最后总共用了三种方法。

1.最初用了最常用的save 函数:

save res.txt res;

结果导出的文件内容为乱码:
这里写图片描述
通过help文档了解到save函数默认导出的文件格式为二进制文件,即.mat文件。所以即使文件名用了.txt后缀,也无法自动识别为文本文件,所以用文本工具打开就是乱码。

2.根据帮助文档的说明,将代码改为如下形式,即在最后加上了保存文件的格式为ASCII文件:

save res.txt res -ascii;

文件成功导出,但是存在一个问题就是文本文件打开后,显示的每个数字后面都带有一长串的0,看着很不舒服:
这里写图片描述

在文档中发现这种方法保存的是8位精度的格式,似乎没有办法修改小数点保留位数。

3.通过网上查看别人的经验,发现不使用简单的save函数,而是通过类似C中朴素的建立文件然后写入数据的方法来实现内容格式的修改:

fid=fopen('test.txt','wt'); %写的方式打开文件(若不存在,建立文件);
fprintf(fid,'%d ',ytt);  % %d 表示以整数形式写入数据,这正是我想要的;
fclose(fid);  %关闭文件;

:此处fprintf是可以直接将一个数组一起写入文档的,上面例子中的ytt为数组名即可,在格式部分(%d),只要设置好字符间的分割方式就好了,比如本例中是要求写入txt的数据之间用空格分隔。


最后关于save函数(方法)再稍稍注明一下,它有两种用法,一种是作为函数的用法,另一种是更为简单的命令式的用法:

  • 作为函数,参数都是字符型,需要将输入放在引号内,举例如下:
save('test.txt','var','-ascii');
save('test.mat','var');
  • 作为方法,用命令式语句写即可,无需使用其他特殊字符,举例如下:
save test.txt var -ascii;
save test.mat var;

关于save函数的其他用法,一定先去参考Matlab的help文档,里面介绍的很详细。

  • 28
    点赞
  • 66
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值