Clear Filters
Clear Filters

how to vertically cascade a string vector and a numerica matrix

4 views (last 30 days)
a={'time','channel1','channel2','channel3'}; b=[ 1 2 3 5; 4 2 6 7; 8 5 1 9; 3 2 4 6; 7 6 0 8]; how to vertically cascade the two, so the first row is a, and b has the same column number (4)?

Accepted Answer

Steven Lord
Steven Lord on 23 Mar 2016
Consider creating a table using the contents of the cell array as the variable names and the matrix as the data.
  1 Comment
Tina Zhao
Tina Zhao on 23 Mar 2016
I tried T=array2table(b,'VariableNames',a) and got the following time channel1 channel2 channel3 __ ______ ______ ______
1 2 3 5
4 2 6 7
8 5 1 9
3 2 4 6
7 6 0 8

Sign in to comment.

More Answers (1)

Guillaume
Guillaume on 23 Mar 2016
Edited: Guillaume on 23 Mar 2016
If tables as per Steven Lord's suggestion don't work for you then:
c = [a; num2cell(b)]
I'd recommend going with a table though.
  1 Comment
Tina Zhao
Tina Zhao on 23 Mar 2016
c = [a; num2cell(b)]
c =
'time' 'channel1' 'channel2' 'channel3'
[ 1] [ 2] [ 3] [ 5]
[ 4] [ 2] [ 6] [ 7]
[ 8] [ 5] [ 1] [ 9]
[ 3] [ 2] [ 4] [ 6]
[ 7] [ 6] [ 0] [ 8]
looks a little weird, Thanks!
I'm creating a big data for someone, who requested the name be put on top, I didn't know it's not straightforward.

Sign in to comment.

Categories

Find more on Characters and Strings in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!