# Concatenate/ Merge two HEX Cell Array

6 views (last 30 days)
tinkyminky93 on 3 Jun 2022
Edited: VINAYAK LUHA on 3 Jun 2022
Hello,
I have a two cell array which are 3x1 and 2x1. I want to merge them and want to see as 5x1. How can I do it? When I use horzcat, It says dimensions are not consistent. Thank you.
{'01'} {'04'} {'01'}
{'02'} {'05'} ----> {'02'}
{'03'} {'03'}
{'04'}
{'05'}

Rik on 3 Jun 2022
You need to use vertcat instead, or use the semicolon.
a={'01';'02';'03'}
a = 3×1 cell array
{'01'} {'02'} {'03'}
b={'04';'05'}
b = 2×1 cell array
{'04'} {'05'}
c=[a;b]
c = 5×1 cell array
{'01'} {'02'} {'03'} {'04'} {'05'}
vertcat(a,b)
ans = 5×1 cell array
{'01'} {'02'} {'03'} {'04'} {'05'}

VINAYAK LUHA on 3 Jun 2022
Edited: VINAYAK LUHA on 3 Jun 2022
Hi,
The reason horzcat doesn't work here is because the number of rows in both arrays are different , so you can't place them side by side , like
1 4
2 5
3
additionally , you won't get 5 x1 cell array you are looking for ,hence concat vertically using vertcat(X,Y) or like [X;Y] . Hope this solves your problem
X={'01';'02';'03'}
X = 3×1 cell array
{'01'} {'02'} {'03'}
Y={'04';'05'}
Y = 2×1 cell array
{'04'} {'05'}
Z=[X;Y]
Z = 5×1 cell array
{'01'} {'02'} {'03'} {'04'} {'05'}

R2021b

### Community Treasure Hunt

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

Start Hunting!