convert vector of character to number

1 view (last 30 days)
benghenia aek
benghenia aek on 22 May 2022
Edited: DGM on 22 May 2022
hello
how to covert vectro cell ['A' 'A' 'A' 'B' 'B' 'A'] to numerical vector [1 1 1 2 2 1]

Answers (2)

MJFcoNaN
MJFcoNaN on 22 May 2022
It depends on how you translate a word, for example:
% s in this form is not a cell, but a character array
s=['A' 'A' 'A' 'B' 'B' 'A']
s = 'AAABBA'
abs(s)-abs('A')+1
ans = 1×6
1 1 1 2 2 1

DGM
DGM on 22 May 2022
Edited: DGM on 22 May 2022
Are the inputs always single characters? Are the inputs only A or B? Are the inputs always letters? Does case matter?
Here's a start for a method. It's compact and case-insensitive, but note that the outputs will probably be unexpected if the inputs aren't letters or single characters.
bunchofletters = {'A' 'A' 'A' 'B' 'B' 'A'};
bunchofnumbers = double(lower([bunchofletters{:}]))-96
bunchofnumbers = 1×6
1 1 1 2 2 1
Without knowing what the requirements are, I'm going to leave the task of making it fit for purpose up to someone who knows what the purpose is.

Tags

Community Treasure Hunt

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

Start Hunting!