Creating a three column table from matrix
Afficher commentaires plus anciens
If I have a matrix, how can I make a table with three columns that are row number, column number, and then the value for that row-column? And then, add a 4th column with the row-column number? example in picture

Réponse acceptée
Plus de réponses (2)
Image Analyst
le 5 Jan 2015
Try this:
row = [1;1;1;2;2;2;3;3;3]
column = repmat([1:3]', [3, 1])
value = [1;2;3;6;7;8;11;12;13]
table1 = table(row, column, value)
% Now make a second table with an additional column of strings.
for k = 1 : length(row)
rMinusc{k} = sprintf('%d - %d', row(k), column(k));
end
rMinusc = rMinusc'; % Transpose
table2 = table(row, column, value, rMinusc)
In the command window:
table2 =
row column value rMinusc
___ ______ _____ _______
1 1 1 '1 - 1'
1 2 2 '1 - 2'
1 3 3 '1 - 3'
2 1 6 '2 - 1'
2 2 7 '2 - 2'
2 3 8 '2 - 3'
3 1 11 '3 - 1'
3 2 12 '3 - 2'
3 3 13 '3 - 3'
1 commentaire
Colby
le 5 Jan 2015
Should be something like this. Didn't run it, though... The table you seek is in columns. Use table() to arrange.
[n,m]=size(matrix);
counter=0;
for i=1:n
for j=1:m
counter=counter+1;
rows(counter)=i;
columns(counter)=j;
values(counter)=matrix(i,j);
rc{counter}=strcat(i,'-',j)
end
end
table=[rows columns values rc];
1 commentaire
Colby
le 5 Jan 2015
Catégories
En savoir plus sur Logical dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!