MATLAB Answers

0

How to concatenate 2 cell arrays containing strings?

Asked by Travis Leith on 24 Oct 2019
Latest activity Commented on by Travis Leith on 24 Oct 2019
I have something like this
x = arrayfun(@(i) sprintf("%s%i", 'xx', i), (0:6)');
which generates a 7x1 string array and behaves the way I want.
But I want to apply this to a variety of prefix strings as in.
s = ["xx"; "yy"];
x = arrayfun(@(s) arrayfun(@(i) sprintf("%s%i", 'LA', i), (0:6)'), s);
But this raises an error and changing it to
x = arrayfun(@(s) arrayfun(@(i) sprintf("%s%i", 'LA', i), (0:6)'), s, 'UniformOutput', false);
runs, but now generates a 2x1 cell array, each cell containing a 7x1 string array.
What I really want is a 14x1 string array. cell2mat does not work for this.
I realise I can get this done with a loop, but I prefer to code (and think) declaratively. Can this be done without a loop?

  0 Comments

Sign in to comment.

1 Answer

Answer by Adam
on 24 Oct 2019
 Accepted Answer

vertcat( x{:} )

  1 Comment

Sign in to comment.