我正在使用MATLAB并且在格式化矩阵的输出时遇到了一些问题。目前,矩阵看起来像:
Columns 1 through 7
4 6 5 1 0 0 0
7 8 4 0 1 0 0
6 5 9 0 0 1 0
1 0 0 0 0 0 -1
0 1 0 0 0 0 0
0 0 1 0 0 0 0
Columns 8 through 9
0 0
0 0
0 0
0 0
-1 0
0 -1
有没有办法让整个矩阵显示“更接近”在一起,如下所示:
1 0 0 0 0 0
0 1 0 0 0 0
0 0 1 0 0 0
0 0 0 -1 0 0
0 0 0 0 -1 0
0 0 0 0 0 -1
答案 0 :(得分:3)
要自定义输出,您可以尝试类似:
x = randi(100, [6,9]);
for i=1:size(x,1)
fprintf('%d\t',x(i,:));
fprintf('\n');
end
23 44 26 23 9 49 53 37 10
18 19 41 12 27 58 24 99 27
23 91 60 30 81 24 49 4 34
44 98 27 32 3 46 63 89 68
32 44 61 43 93 97 68 92 14
93 12 72 51 74 55 40 80 73
或者更简单地说,您可以使用NUM2STR功能:
x = randi([-10 10], [6 9]);
num2str(x)
ans =
2 1 7 8 9 -1 -1 9 5
6 8 -3 9 -4 3 8 4 8
-2 -9 -7 4 -9 -7 -8 -6 7
1 6 -10 9 6 1 -1 1 -8
9 -3 10 -5 -9 3 3 8 -7
8 -6 4 8 5 -10 -4 1 -7