2012-05-15 3 views
0

В MATLAB, у меня есть данные, которые выглядят следующим образом:Reshape три столбца кадр данных в матрицу в Matlab

5 7 1 
    5 8 2 
    5 9 3 
    6 7 3 
    6 8 3 
    6 9 2 

, где каждый столбец является массивом (например, x = [5; 5; 5; 6; 6; 6]). Я хочу, чтобы данные, которые необходимо положить в матричной форме следующим образом:

 7 8 9 
    5 1 2 3 
    6 3 3 2 

Любые предложения?

+0

Что будет A (1,1), если A - ваша выходная матрица? NaN? Нуль? –

+0

Можете ли вы объяснить матрицу вывода более подробно? –

+0

Выходная матрица не имеет значения, является ли она = [output] или если она представляет собой массив a = [5; 6], b = [7; 1; 3] и т. Д. Мне просто нужен вывод, чтобы я мог копировать и вставлять на excel –

ответ

3

Это то, что вам нужно?

>> x =[5 7 1 
     5 8 2 
     5 9 3 
     6 7 3 
     6 8 3 
     6 9 2]; 
>> rowlabels = unique(x(:,1)) 
rowlabels = 
    5 
    6 
>> collabels = unique(x(:,2))' 
collabels = 
    7  8  9 
>> data = reshape(x(:,3),numel(collabels),numel(rowlabels))' 
data = 
    1  2  3 
    3  3  2 
+0

http://stackoverflow.com/questions/9617348/reshape-three-column-data-frame-to-matrix мой вопрос подобен этому, кроме как вместо переменные, в моем случае я использую значения. Спасибо за вход. –

+1

+1 для понимания запроса OP ... :-) –

Смежные вопросы