前几天遇到将一个50行50列的矩阵,每一行都是0-49。写入到一个txt文件的问题。

第一步:产生一个每一行都是0-49的50行50列的矩阵

这一步方法很多,什么双for循环嵌套,repmat函数,单个赋值都可以

这里采用repmat函数,并浅析用法。

repmat (A, M, N),当A是标量时,repmat (A, M, N)通常用于生成一个M × N矩阵。当A是一个数组或矩阵时,是在生成的M × N矩阵的每一个元素位置都放一个A,例子如下

a=[1 2 3];

repmat(a,3,1),结果为

repmat(a,3,2),结果为

 

所以生成矩阵代码为

a=0:1:49;
A=repmat(a,50,1);

 将数据写出也有许多函数可以实现,这里用fprintf函数。整体代码为

fileID = fopen('data.txt','wt');
a=0:1:49;
A=repmat(a,50,1);
% mat=A;
[m,n]=size(A);
for i = 1:1:m
  for j= 1:1:n
     if j==n
       fprintf(fileID,'%1.0f\n', A(i,j));
     else
       fprintf(fileID,'%1.0f\t', A(i,j));
     end
  end
end
fclose(fileID);

fprintf读出为一位一位的读,注意区分  \t   与   \n    的使用时机。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐