MATLAB Answers

Translated by

このページのコンテンツは英語から自動翻訳されています。自動翻訳をオフにする場合は「<a class="turn_off_mt" href="#">ここ</a>」をクリックしてください。

Corey Pew
0

Concatenate a column of cells into a single array

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
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 件の回答

回答者: madhan ravi
2019 年 4 月 15 日
 採用された回答

cell2mat(X)

  0 件のコメント

サインイン to comment.


回答者: 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
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