Concantenate Horizontally Matrices from Two Different Cell Arrays

3 visualizaciones (últimos 30 días)
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

Respuesta aceptada

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

Iniciar sesión para comentar.

Más respuestas (1)

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

Categorías

Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by