How do you transform a vector of numbers into a cell of strings?

1 view (last 30 days)
I have a vector of numbers:
A = [1 2 3 4 5]';
I want to change it to a cell of strings, such as the one I've declared here:
B = cell(5,1); B{1} = '1'; B{2} = '2'; B{3} = '3'; B{4} = '4'; B{5} = '5';
How can I change A into B without using a for loop?

Accepted Answer

Jos (10584)
Jos (10584) on 27 Jun 2014
A = [1:5].'
B = arrayfun(@(x) num2str(x),A,'un',0)

More Answers (1)

Titus Edelhofer
Titus Edelhofer on 27 Jun 2014
Hi,
one possibility:
Acell = num2cell(A);
B = cellfun(@(x) sprintf('%g', x), Acell, 'UniformOutput', false);
Titus

Categories

Find more on Characters and Strings in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!