convert an array of numbers into letters; 1 =a, 2 =b, 3 = c etc.

237 views (last 30 days)
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?

Accepted Answer

Matt Kindig
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
Ivan Mich
Ivan Mich on 30 Jan 2021
Edited: Ivan Mich on 30 Jan 2021
If someone wants to do the opposite? That is, based on the letters to find the numbers that were set (I mean if I have the word HELLO, which numbers correspont to the above letters?)
Image Analyst
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.

Sign in to comment.

More Answers (1)

Image Analyst
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

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!