convert an array of numbers into letters; 1 =a, 2 =b, 3 = c etc.
237 views (last 30 days)
Show older comments
So i have created a function that returns a row vector of numbers, Example:
[3, 6, 12, 1, 1, 3].
I want to write a new function that turns these numbers into letters. And in a form that i can call call it for any size set of results using a rule such as
1 = A, 2 = B, 3 = C, 4 = D, etc.
I see there is a num2str function but i dont really understand how to implement this as a function that will perform the conversion on each element in the vector.
What would be the best way to do this?
0 Comments
Accepted Answer
Matt Kindig
on 10 Apr 2013
Alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
numbers = [3,6,12,1,1,3]
letters = Alphabet(numbers)
Or using the ASCII codes:
letters = char(numbers + 64);
5 Comments
Image Analyst
on 30 Jan 2021
@Ivan Mich, give a specific example of what you're starting with (data plus the look up table), and your desired/expected output.
More Answers (1)
Image Analyst
on 10 Apr 2013
Try this:
asciiValues = [3, 6, 12, 1, 1, 3]
asciiChars = char(asciiValues+'A'-1)
In the command window:
asciiValues =
3 6 12 1 1 3
asciiChars =
CFLAAC
2 Comments
Image Analyst
on 10 Apr 2013
For lower case you can either do lower(asciiChars), or do this:
asciiChars = char(asciiValues+'a'-1)
See Also
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!