How to map a scalar to a vector?

I want to map a letter to a a vector.
Example: a is mapped to [ 0 0 0 0 1]
b ia mapped to [0 0 0 1 0] and so on.
The containers.Map function does not help me with this regard. Is there any other way to do the mapping?
Thanks in advance!

 Accepted Answer

Map = dec2bin(('a' :'z') - 'a' + 1, 5);
Word = 'hello' ;
Map(Word(:) - 'a' + 1,:)

3 Comments

Thanks. This answers my question as posted. But do you know how I should do it if I have other than just english alphabets? Or other characters? In gerneral, a scalar to vector mapping..
Create a character vector that contains all of the permitted characters. You can build it in pieces using [] if that helps.
Then
Map = dec2bin(1:numel(PermittedChars)) ;
[~, idx] = ismember(Word, PermittedChars);
Result = Map(idx, :);
Thanks a lot!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!