matlab打印⽂本txt数据
⼀般在matlab中打印数据,肯定都是打印的矩阵⾥⾯的数据。这⾥随便设计⼀个矩阵数据
A =[1,2,3;...
4,5,6;...
7,8,9;];
1.基本打印流程
1.1.读取数据fopen函数
fid =fopen('','wt');
后⾯再对该⽂件进⾏操作,都是对fid进⾏操作,⽂件名为。后⾯的wt是对于该⽂件的操作⽅式,本来是w,加个t是为了⽣成⼀个⽂本⽂件(txt类型⽂件),读取操作解释如下表。
操作符功能
'r打开要读取的⽂件。
‘w’打开或创建要写⼊的新⽂件。放弃现有内容(如果有)。
‘a’打开或创建要写⼊的新⽂件。追加数据到⽂件末尾。
‘r+’打开要读写的⽂件。
‘w+’打开或创建要读写的新⽂件。放弃现有内容(如果有)。
‘a+’打开或创建要读写的新⽂件。追加数据到⽂件末尾。
‘A’打开⽂件以追加(但不⾃动刷新)当前输出缓冲区。
‘W’打开⽂件以写⼊(但不⾃动刷新)当前输出缓冲区。
1.2.打印数据fprintf函数
将矩阵数据打印到该⽂件中。
fprintf(fid,'%d ',A);
可见打印的数据是按照列进⾏打印的,先打印第⼀列,然后依次第⼆列直到最后⼀列。
如果想按⾏打印,可以⽤矩阵转置的⽅式。
fprintf(fid,'%d ',A');
备注:这⾥A'是矩阵共轭转置,A.是矩阵的转置
1.2.1.操作符使⽤
有时候为了观察数据⽐较⽅便,想打印成矩阵的样⼦,其代码就可以这样写。
[m,n]=size(A);
fprintf(fid,'矩阵A为:\n');
for i =1: m
for j =1: n
fprintf(fid,'%d\t',A(i,j));
end
fprintf(fid,'\n');
end
也可以按照⾃⼰实际需求去写
这个⼀般可能需要使⽤别的操作符,各种操作符的表⽰形式如下:
特殊字符表⽰形式
单引号‘’
百分⽐字符%%
反斜杠\
警报\a
退格符\b
换页符\f
换⾏符\n
回车符\r
⽔平制表符\t
垂直制表符\v
其 Unicode® 数值可以通过⼗六进制数 N 表⽰的字符\xN ⽰例:sprintf(’\x5A’) 返回 ‘Z’其 Unicode 数值可以通过⼋进制数 N 表⽰的字符\N ⽰例:sprintf(’\132’) 返回 ‘Z’
1.3.关闭⽂件fclose函数
在我们matlab代码设计中,关闭⽂件是⾮常重要的,我们对⼀个⽂件处理完之后,⼀定要记得写关闭⽂件,不然对于⼤型的算法验证来说,会导致⽂件打开过多,程序跑崩的情况。
函数使⽤如下:
fclose(fid);
1.4.其他打印矩阵数据的⽅式
可以直接使⽤这个函数按照矩阵的格式把数据打印出来。
dlmwrite('',A,'\t');
''是存储的⽂件名,A是矩阵,'\t'是指每个元素后⾯带个制表符。
fprintf格式最终结果如图:
2.矩阵的相关变换函数
有时候想打印⼀个矩阵的数据,并且需要打印成矩阵的格式,⼀般就可以⽤上⾯提到的dlmwrite函数直接打印,不要⽤for循环进⾏打印,个⼈感觉,for循环要⽐较耗时间。如果打印的矩阵需要进⾏⼀些变换,这样在⽤dlmwrite函数的时候就需要对矩阵进⾏相关的变换才⾏。⽐如我们想把矩阵的数据倒着进⾏打印,那就需要把矩阵旋转180度。就可以这样写
dlmwrite('',rot90(A,2),'\t');
相关矩阵操作函数如下:
函数功能
A.’转置
A’共轭转置
inv(A)逆矩阵
rot90(A,i)i为正,为逆时针旋转,I为负,为顺时针旋转。如i为2就是逆时针180度,为-1为顺时针90度
以及⼀些别的操作函数
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论