找回密码
 注册
Simdroid-非首页
查看: 94|回复: 6

MATLAB中如何输出这样矩阵的矩阵到TXT?

[复制链接]
发表于 2014-6-23 07:37:18 | 显示全部楼层 |阅读模式 来自 安徽芜湖
1.不带逗号的矩阵输出:
clc
clear

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

save abaqu.txt -ascii A  %输出文件 abaqu.txt


2.那么我需要输出这样一个矩阵该怎么编呢,求高手指点:


1,2,3
4,5,6
7,8,9


这个和上面的区别就是,输出时矩阵内部多了字符“,”逗号,小弟实在想不出怎么弄,跪求大神帮忙~谢谢


 楼主| 发表于 2014-6-23 07:53:04 | 显示全部楼层 来自 安徽芜湖
Simdroid开发平台
自己顶一下~
回复 不支持

使用道具 举报

发表于 2014-6-23 08:44:24 | 显示全部楼层 来自 北京
可以这样用csv相关格式来处理
  1. >> a = [1 2 3; 4 5 6;7 8 9]

  2. a =

  3.      1     2     3
  4.      4     5     6
  5.      7     8     9

  6. >> csvwrite('csvdata.dat',a)
  7. >> type csvdata.dat

  8. 1,2,3
  9. 4,5,6
  10. 7,8,9
复制代码
回复 不支持

使用道具 举报

 楼主| 发表于 2014-6-23 09:58:12 | 显示全部楼层 来自 安徽合肥
ljelly 发表于 2014-6-23 08:44
可以这样用csv相关格式来处理

谢谢大侠~:)
回复 不支持

使用道具 举报

 楼主| 发表于 2014-6-23 11:36:22 | 显示全部楼层 来自 安徽合肥
fid = fopen('adaqu.txt','wt')
for i = 1:size(A,1)
    fprintf(fid,'%d,%d,%d\n',A(i,1),A(i,2),A(i,3));

end
fclose(fid)

评分

1

查看全部评分

回复 不支持

使用道具 举报

 楼主| 发表于 2014-6-23 11:37:02 | 显示全部楼层 来自 安徽合肥
clear
clc
%构造A矩阵
A = 1:9;
A = reshape(A,3,3)';
%转换为字符串操作
B = mat2str(A);
%将空格替换为逗号
B(B == ' ') = ',';
index = find(B == ';');
%将分号变成空格
B(index) = ' ';
f = fopen('out.txt','w');
h = 2;
%分别输出B矩阵中的每一行
for fi = 1:length(index)
    fprintf(f,'%s\r\n',B(h:index(fi)));
    h = index(fi) + 1;
end
fprintf(f,'%s\r\n',B(h:end-1));
fclose(f);
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-4-26 12:44 , Processed in 0.031847 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表