How to vertcat 100 matrices ?

조회 수: 6(최근 30일)
mr mo
mr mo 2017년 11월 5일
댓글: mr mo 2017년 11월 5일
Hi. Suppose I have 100 numbers of (m*3) matrices. These matrices have different numbers of rows and same numbers of columns. I want to add them vertically and use the vertcat command in Matlab. How can I do that? Thanks for your help.
  댓글 수: 1
Stephen23
Stephen23 2017년 11월 5일
편집: Stephen23 2017년 11월 5일
Simply ensure that all of the matrices are stored in one cell array C, and then all you need to do is use a comma-separated list with vertcat:
M = vertcat(C{:})
MATLAB code can be so neat, simple, and efficient when people take care to design their data well!
Whatever you do, avoid magically creating/loading/acessing lots of separate variable names: this is a design decision that some beginners use to force themselves to write slow, complex, buggy, obfuscated code. Read more here:

댓글을 달려면 로그인하십시오.

채택된 답변

Cedric Wannaz
Cedric Wannaz 2017년 11월 5일
편집: Cedric Wannaz 2017년 11월 5일
If they are stored in cell array M:
Mvcat = vertcat( M{:} ) ;
where M{:} is what we call a comma separated list (CSL), equivalent to typing
M{1}, M{2}, ..., M{100}
in your case. Developing M as a CSL in the call to VERTCAT makes the call equivalent to (but much simpler!):
Mvcat = vertcat( M{1},M{2},M{3},M{4},M{5},M{6},M{7},M{8},M{9},M{10},M{11},M{12},M{13},M{14},M{15},M{16},M{17},M{18},M{19},M{20},M{21},M{22},M{23},M{24},M{25},M{26},M{27},M{28},M{29},M{30},M{31},M{32},M{33},M{34},M{35},M{36},M{37},M{38},M{39},M{40},M{41},M{42},M{43},M{44},M{45},M{46},M{47},M{48},M{49},M{50},M{51},M{52},M{53},M{54},M{55},M{56},M{57},M{58},M{59},M{60},M{61},M{62},M{63},M{64},M{65},M{66},M{67},M{68},M{69},M{70},M{71},M{72},M{73},M{74},M{75},M{76},M{77},M{78},M{79},M{80},M{81},M{82},M{83},M{84},M{85},M{86},M{87},M{88},M{89},M{90},M{91},M{92},M{93},M{94},M{95},M{96},M{97},M{98},M{99},M{100} ) ;
  댓글 수: 5
mr mo
mr mo 2017년 11월 5일
It works. Thank you very much.

댓글을 달려면 로그인하십시오.

추가 답변(0개)

Community Treasure Hunt

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

Start Hunting!

Translated by