Add row/column names to a matrix

14 views (last 30 days)
Theodore
Theodore on 25 Jul 2013
Commented: ahmed on 22 Oct 2013
Hello! I've created a 24 x 12 matrix (24 is dynamic and will change with each .csv file I run through my for loop) and wanted to attach the years (minyear:maxyear) to the rows and months ('Jan' 'Feb' 'March' 'Apr' 'May' 'June' 'July' 'Aug' 'Sep' 'Oct' 'Nov' 'Dec') to the columns. What is the best way to do this? I've tried using colnames and the dataset feature with no success:
M = rand(5)
dataset({M 'FOO','BAR','BAZ','BUZZ','FUZZ'}, ...
'obsnames', {'ROW1','ROW2','ROW3','ROW4','ROW5'}
Error: Expression or statement is incorrect--possibly unbalanced (, {, or [.
I've also attempted the printrow function
printmat(M, 'My Matrix', 'ROW1 ROW2 ROW3 ROW4 ROW5', 'FOO BAR BAZ BUZZ FUZZ' )
Undefined function 'printmat' for input arguments of type 'double'. Any suggestions? Thanks!

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 25 Jul 2013
You've missed a bracket
M = rand(5)
dataset({M 'FOO','BAR','BAZ','BUZZ','FUZZ'}, ...
'obsnames', {'ROW1','ROW2','ROW3','ROW4','ROW5'})
  7 Comments
ahmed
ahmed on 22 Oct 2013
opsss. I thought that I am using 14 :).. Thx alot.
ahmed
ahmed on 22 Oct 2013
I have an extra question. Now its working great. but i want to save thses results into xls file, I tried this export(mat1,'XLSFile','mat1.xlsx') but I got this ndefined function or method 'export' for input arguments of type 'double'.
Error in ==> BIST1 at 52 export(mat1,'XLSFile','mat1.xlsx') .. Is there any clean way to convert to xls before name the lables and name them after xls conversion then using matlab to handle this ??

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!