MATLAB格式化矩阵

时间:2010-10-20 00:05:00

标签: matlab

我正在使用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

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