在MATLAB中我用这种方式打印一个非常大的矩阵:
fid = fopen('c:\\OUTPUT.txt','wt');
fprintf(fid,'%f\t',T');
fclose(fid);
Run Code Online (Sandbox Code Playgroud)
但这不对!我想打印它像这样:( \t在它们之间和\n行的末尾)
1 2 3
4 5 6
7 8 9
10 11 12
Run Code Online (Sandbox Code Playgroud)
我搜索并发现如果它是3*3这很好:
fprintf(fid,'%f %f %f\n',T');
Run Code Online (Sandbox Code Playgroud)
但我在我的情况下改变了尺寸......
Lum*_*men 16
你可以使用非常简单
fprintf([repmat('%f\t', 1, size(A, 2)) '\n'], A');
Run Code Online (Sandbox Code Playgroud)
\t不过,每行末尾都有一个多余的标签:
>> A = magic(5)
A =
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
>> fprintf([repmat('%f\t', 1, size(A, 2)) '\n'], A')
17.000000 24.000000 1.000000 8.000000 15.000000 % oh, a tab
23.000000 5.000000 7.000000 14.000000 16.000000 % oh, a tab
4.000000 6.000000 13.000000 20.000000 22.000000 % oh, a tab
10.000000 12.000000 19.000000 21.000000 3.000000 % oh, a tab
11.000000 18.000000 25.000000 2.000000 9.000000 % oh, a tab
Run Code Online (Sandbox Code Playgroud)
要将输出打印到文件,只需使用
fprintf(fid, [repmat('%f\t', 1, size(A, 2)) '\n'], A')
Run Code Online (Sandbox Code Playgroud)