## Concatenate a column of cells into a single array

Corey Pew

### Corey Pew (view profile)

さんによって質問されました 2019 年 4 月 15 日

### Corey Pew (view profile)

さんによって コメントされました 2019 年 4 月 16 日

さんの 回答が採用されました
Hello,
I have a cell containing multiple arrays that I want to concatenate into a single array such that X{1}, X{2},... are all each a 100x1 double. I am hoping for a non looping solution that will put them all together into a single array that is 100xlength(X). I have tried using cat(), vertcat() and others but keep getting the error that 'dimensions of arrays being concatenated are not consistent.' Any help is greatly appreciated, thanks!

Corey Pew

### Corey Pew (view profile)

2019 年 4 月 16 日
Update, I mistyped my format. My cell array is actually a column of cells such that:
>> X = { rand(4,1); rand(4,1); rand(4,1) }
X =
3×1 cell array
{4×1 double}
{4×1 double}
{4×1 double}
Both answers below work if you first transpose X:
>> X = X';
Thank you for the help!

サインイン to comment.

R2018a

## 2 件の回答

2019 年 4 月 15 日
採用された回答

cell2mat(X)

#### 0 件のコメント

サインイン to comment.

### per isakson (view profile)

2019 年 4 月 15 日

cat() is also a possiblity
Y = cat( 2, X{:} );
Example
>> X = { rand(4,1), rand(4,1), rand(4,1) }
X =
1×3 cell array
{4×1 double} {4×1 double} {4×1 double}
>> cat( 2, X{:} )
ans =
0.8147 0.6324 0.9575
0.9058 0.0975 0.9649
0.1270 0.2785 0.1576
0.9134 0.5469 0.9706
>>

Corey Pew

### Corey Pew (view profile)

2019 年 4 月 16 日
Thank you for the excellent example. Seeing it this way helped me realize I needed to transpose X to get the desired result.

サインイン to comment.

Translated by