how to vertically cascade a string vector and a numerica matrix

4 visualizzazioni (ultimi 30 giorni)
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)?

Risposta accettata

Steven Lord
Steven Lord il 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 Commento
Tina Zhao
Tina Zhao il 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

Accedi per commentare.

Più risposte (1)

Guillaume
Guillaume il 23 Mar 2016
Modificato: Guillaume il 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 Commento
Tina Zhao
Tina Zhao il 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.

Accedi per commentare.

Categorie

Scopri di più su Genomics and Next Generation Sequencing in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by