Concatenating Arrays end to end 1D

14 views (last 30 days)
Hi folks, I am trying to join some 1d arrays together, some with numbers and others with text, but running into some issues.
I have the following:
Blank='-';
FailureCode = 18;
Duplicates = [1;71;91;119;141;155;160;255];
a= cellstr(repmat(Blank, [FailureCode 1]));
e = cat(1, Duplicates, a)
e = 19×1 cell array
{8×1 double} {'-' } {'-' } {'-' } {'-' } {'-' } {'-' } {'-' } {'-' } {'-' } {'-' } {'-' } {'-' } {'-' } {'-' } {'-' }
From this, it can be seen that the first cell is an 8x1 double. However I would like a full 1d array where the last value of duplicates joins to the first value of the repeated dash symbol array 'a'.
Hope someone can help!
Thanks,
Calum.

Accepted Answer

Star Strider
Star Strider on 22 Aug 2023
One option is to convert ‘Duplicates’ to a cell array (using num2cell) to make it compatible with the other values —
Blank='-';
FailureCode = 18;
Duplicates = [1;71;91;119;141;155;160;255];
a= cellstr(repmat(Blank, [FailureCode 1]));
e = cat(1, num2cell(Duplicates), a)
e = 26×1 cell array
{[ 1]} {[ 71]} {[ 91]} {[119]} {[141]} {[155]} {[160]} {[255]} {'-' } {'-' } {'-' } {'-' } {'-' } {'-' } {'-' } {'-' }
.
  2 Comments
Calum
Calum on 22 Aug 2023
Hi Star Strider, thanks a lot. Was silly of me to overlook compatibility. This works perfectly!
C.
Star Strider
Star Strider on 22 Aug 2023
As always, my pleasure!
No worries! I needed to experiment with a couple different approaches to get it to work.

Sign in to comment.

More Answers (0)

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!