Concantenate Horizontally Matrices from Two Different Cell Arrays

3 visualizzazioni (ultimi 30 giorni)
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

Risposta accettata

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

Accedi per commentare.

Più risposte (1)

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

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by