Concantenate Horizontally Matrices from Two Different Cell Arrays

3 次查看(过去 30 天)
Hi all,
I have two cell arrays as follows:
A = { [1; 2; 3; 4], [5; 6; 7; 8] } ;
B = { [9; 10; 11; 12], [13; 14; 15; 16] } ;
I would like to create a new cell array such that:
C = { [1 9 ; 2 10 ; 3 11 ; 4 12], [5 13 ; 6 14 ; 7 15 ; 8 16]} ;
In words, I would like to concatenate horizontally the matrices in each cell of the cell array.
Is there a way to do that?
Thanks for your help in advance,
KMT

采纳的回答

Guillaume
Guillaume 2017-9-11
编辑:Guillaume 2017-9-11
You say concatenate horizontally, yet your example show vertical concatenation
cellfun(@vertcat, A, B, 'UniformOutput', false)
replace vertcat by horzcat as required.
  1 个评论
Konstantinos Tsitsilonis
编辑:Konstantinos Tsitsilonis 2017-9-11
Sorry for the confusion, I have corrected my question. I do understand the underlying logic of your function. Thanks for your answer!

请先登录,再进行评论。

更多回答(1 个)

KL
KL 2017-9-11
Assuming your matrix dimensions are consistent,
cellfun(@(a,b) [a;b],A,B,'UniformOutput',false)

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by