对txt文件如何使得保存与读取后数据存储方式一致
A=A =
1 2 3
4 5 6
7 8 9
>> fid1=fopen('c:\MATLAB6p5\work\123.txt','w');
>> fprintf(fid,'%d',A);
>> fclose(fid)
ans =
0
>> fid1=fopen('c:\MATLAB6p5\work\123.txt');
>> b=fscanf(fid1,'%d')
b =
147258369
保存的是矩阵,结果不是矩阵,这个问题怎么解决
先说声麻烦了
[ 本帖最后由 eight 于 2007-11-5 19:23 编辑 ] save 123.txt -ASCII A
回复 #2 pulse 的帖子
多谢阿好像还不行呢:@( 原帖由 yongzhen913 于 2007-11-5 15:36 发表 http://www.chinavib.com/forum/images/common/back.gif
A=
A =
1 2 3
4 5 6
7 8 9
>> fid1=fopen('c:\MATLAB6p5\work\123.txt','w');
>> fprintf(fid,'%d',A);
>> fclose(fid)
ans =
0
...
请先到精华区看看有否收获 A=
fid=fopen('d:\Program Files\MATLAB71\work\123.txt','w');
fprintf(fid,'%d %d %d\n',A);
fclose(fid)
回复 5楼 的帖子
5楼的方法得到的好像是转置后的A矩阵。是版本问题?我觉得不像。建议楼主浏览置顶帖先。 原帖由 sogooda 于 2008-5-2 18:30 发表 http://www.chinavib.com/forum/images/common/back.gif
5楼的方法得到的好像是转置后的A矩阵。是版本问题?我觉得不像。
建议楼主浏览置顶帖先。
我也试了一下,不是版本问题,5楼的方法不能满足
下面是我编的一段代码:
A=;
=size(A);
fid1=fopen('C:\Documents and Settings\Administrator\桌面\123.txt','w');
for i=1:B
fprintf(fid,'%d %d %d\n',A(i,1),A(i,2),A(i,3));
end
fclose(fid)
或
A=;
=size(A);
fid1=fopen('C:\Documents and Settings\Administrator\桌面\123.txt','w');
for i=1:B
fprintf(fid,'%d %d %d\n',A(i,:));
end
fclose(fid)
人为加上空格与回车就可以了。
回复 7楼 的帖子
请问下,那如果是比较大的矩阵呢,例如21*300呢,是不是要输入21个%d呢,有什么其他方式么 原帖由 fanghogyuan 于 2008-5-11 13:06 发表 http://www.chinavib.com/forum/images/common/back.gif请问下,那如果是比较大的矩阵呢,例如21*300呢,是不是要输入21个%d呢,有什么其他方式么
试试这个:
A=;
=size(A);
fid1=fopen('C:\Documents and Settings\Administrator\桌面\1234.txt','w');
for i=1:B
for j=1:C
fprintf(fid1,'%d',A(i,j));
end
fprintf(fid1,'\n');
end
fclose(fid1)
回复 10楼 的帖子
谢谢您这么关心我的问题,我使用fwrite函数好像不支持‘d%‘这个参数啊,总显示fwrite命令出错,我的保存为二进制格式 保存为二进制格式显示不支持是什么原因
页:
[1]