1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > matlab 数组写入文件名 Matlab将数组写入.txt文件

matlab 数组写入文件名 Matlab将数组写入.txt文件

时间:2023-01-01 00:36:51

相关推荐

matlab 数组写入文件名 Matlab将数组写入.txt文件

Matlab将数组写入.txt文件

/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文档,里面介绍的很详细。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。