matlab打印文本txt数据

一般在matlab中打印数据,肯定都是打印的矩阵里面的数据。这里随便设计一个矩阵数据

A = [   1,2,3;  ...
        4,5,6;  ...
        7,8,9;  ];

1.基本打印流程

1.1.读取数据fopen函数

fid = fopen('data.txt','wt');

后面再对该文件进行操作,都是对fid进行操作,文件名为data.txt。后面的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('data.txt',A,'\t');   

'data.txt'是存储的文件名,A是矩阵,'\t'是指每个元素后面带个制表符。
最终结果如图:
在这里插入图片描述

2.矩阵的相关变换函数

有时候想打印一个矩阵的数据,并且需要打印成矩阵的格式,一般就可以用上面提到的dlmwrite函数直接打印,不要用for循环进行打印,个人感觉,for循环要比较耗时间。如果打印的矩阵需要进行一些变换,这样在用dlmwrite函数的时候就需要对矩阵进行相关的变换才行。
比如我们想把矩阵的数据倒着进行打印,那就需要把矩阵旋转180度。就可以这样写

dlmwrite('data1.txt',rot90(A,2),'\t');

在这里插入图片描述
相关矩阵操作函数如下:

函数功能
A.’转置
A’共轭转置
inv(A)逆矩阵
rot90(A,i)i为正,为逆时针旋转,I为负,为顺时针旋转。如i为2就是逆时针180度,为-1为顺时针90度

以及一些别的操作函数
MATLAB中矩阵常用的操作函数

  • 2
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值