MATLAB форматирование матрицы - PullRequest
2 голосов
/ 20 октября 2010

Я использую 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 Ответ

3 голосов
/ 20 октября 2010

Чтобы настроить вывод, вы можете попробовать что-то вроде:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...