Matlab将数组写⼊.txt⽂件
Matlab将数组写⼊.txt⽂件
2018/6/28
今天⽤MATLAB写作业,想要将得到的⼀系列分类数据(0,1)导出到.txt⽂件,从开始到最后总共⽤了三种⽅法。
1.最初⽤了最常⽤的save 函数:
res;
结果导出的⽂件内容为乱码:
通过help⽂档了解到save函数默认导出的⽂件格式为⼆进制⽂件,即.mat⽂件。所以即使⽂件名⽤了.txt后缀,也⽆法⾃动识别为⽂本⽂件,所以⽤⽂本⼯具打开就是乱码。
2.根据帮助⽂档的说明,将代码改为如下形式,即在最后加上了保存⽂件的格式为ASCII⽂件:
res -ascii;
⽂件成功导出,但是存在⼀个问题就是⽂本⽂件打开后,显⽰的每个数字后⾯都带有⼀长串的0,看着很不舒服:
fprintf格式在⽂档中发现这种⽅法保存的是8位精度的格式,似乎没有办法修改⼩数点保留位数。
3.通过⽹上查看别⼈的经验,发现不使⽤简单的save函数,⽽是通过类似C中朴素的建⽴⽂件然后写⼊数据的⽅法来实现内容格式的修改:
fid=fopen('','wt'); %写的⽅式打开⽂件(若不存在,建⽴⽂件);
fprintf(fid,'%d ',ytt);  % %d 表⽰以整数形式写⼊数据,这正是我想要的;
fclose(fid);  %关闭⽂件;
注:此处fprintf是可以直接将⼀个数组⼀起写⼊⽂档的,上⾯例⼦中的ytt为数组名即可,在格式部分(%d),只要设置好字符间的分割⽅式就好了,⽐如本例中是要求写⼊txt的数据之间⽤空格分隔。
最后关于save函数(⽅法)再稍稍注明⼀下,它有两种⽤法,⼀种是作为函数的⽤法,另⼀种是更为简单的命令式的⽤法:作为函数,参数都是字符型,需要将输⼊放在引号内,举例如下:
save('','var','-ascii');
save('test.mat','var');
作为⽅法,⽤命令式语句写即可,⽆需使⽤其他特殊字符,举例如下:
var -ascii;
save test.mat var;
关于save函数的其他⽤法,⼀定先去参考Matlab的help⽂档,⾥⾯介绍的很详细。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。