array of strings from an array of integers

Hi if I have an array of integers like this:
A=[123 456 789]
How do I get an array of strings, say named B, such that:
BB(1) = 123 (this is string 1) BB(2) = 456 (this is string 2) BB(3) = 789 (this is string 3)
What I am trying to do is use integer values as labels for my xtick labels, and cannot figure out how to do it. Thank you.

 Accepted Answer

Matt J
Matt J on 25 Apr 2013
Edited: Matt J on 25 Apr 2013
The output would have to be a cell array
>> BB=arrayfun(@(a)num2str(a),A,'uni',0)
BB =
'123' '456' '789'
>> BB{1}, BB{2}
ans =
123
ans =
456

More Answers (2)

If you're using a release that supports the string array (which did not exist when the original question was asked) use string.
A = randi(999, 1, 5)
A = 1×5
790 270 251 663 335
plot(1:5, 1:5, 'o-')
xticks(1:5)
xticklabels(string(A))

1 Comment

xticklabels() as a function did not exist when the question was originally asked either ;-)

Sign in to comment.

A = randi(999, 1, 5)
A = 1×5
440 755 70 554 220
plot(1:5, 1:5, 'o-')
xticks(1:5)
xticklabels(compose('%d',A)) %needs R2016b or later
yticklabels(sprintfc('%d', A)) %undocumented

Categories

Products

Community Treasure Hunt

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

Start Hunting!