Concatenate a column of cells into a single array

1 回表示 (過去 30 日間)
Corey Pew
Corey Pew 2019 年 4 月 15 日
コメント済み: Corey Pew 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!
  1 件のコメント
Corey Pew
Corey Pew 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!

サインインしてコメントする。

採用された回答

madhan ravi
madhan ravi 2019 年 4 月 15 日

その他の回答 (1 件)

per isakson
per isakson 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
>>
  1 件のコメント
Corey Pew
Corey Pew 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.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeCreating and Concatenating Matrices についてさらに検索

製品


リリース

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by