# how to simplify multi- if statement

9 visualizzazioni (ultimi 30 giorni)
Qian il 6 Dic 2012
I'm trying to do the following work, given a string of 'ABCDE' etc,
for each letter, it will be assigned with a unique number.
How would I do it without putting 26 if and else if statement in a simple way?
I'm thinking of two matrices. But it may not be on the right track. Can anyone help with this case? Thanx in advance!
##### 1 CommentoMostra -1 commenti meno recentiNascondi -1 commenti meno recenti
Qian il 6 Dic 2012
sorry for the bad description. I'm saying, the assignments between letters and numbers are given, what I want is to replace letter with numbers in the given way. The only method I was using is the if and else if statement with one-to-one assignment, but with longer string of letters, I don't really like to put 26 statement, is there any quicker way?

Accedi per commentare.

### Risposta accettata

Matt Fig il 6 Dic 2012
Modificato: Matt Fig il 6 Dic 2012
STR = char(65:90)
KEY = randi(10000,1,length(STR))
But what are you going to do with these that you would need an IF block for? Are you going to do something like encode a given string?
g_str = upper('Hello')
k_str = KEY(g_str-64)
##### 8 CommentiMostra 6 commenti meno recentiNascondi 6 commenti meno recenti
Matt Fig il 6 Dic 2012
But the same concept should apply. I subtracted 64 because we need to index starting from 1 and the ascii alphabet starts at 65.
Jos (10584) il 6 Dic 2012
Using randi, it is not guaranteed that each character in STR is mapped onto a unique value ...

Accedi per commentare.

### Più risposte (1)

Rick Rosson il 6 Dic 2012
aStr = 'ABCDE';
x = uint8(aStr) - 64;
##### 1 CommentoMostra -1 commenti meno recentiNascondi -1 commenti meno recenti
Qian il 6 Dic 2012
thanx for that, but the problem is ABCDE are not assigned to patterned numbers, but some random numbers, for instance A=14, B=23, C=1, D=4,E=34 etc.

Accedi per commentare.

### Categorie

Scopri di più su Characters and Strings in Help Center e File Exchange

### Community Treasure Hunt

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

Start Hunting!

Translated by