how to simplify multi- if statement

1 visualización (últimos 30 días)
Qian
Qian el 6 de Dic. de 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 comentario
Qian
Qian el 6 de Dic. de 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?

Iniciar sesión para comentar.

Respuesta aceptada

Matt Fig
Matt Fig el 6 de Dic. de 2012
Editada: Matt Fig el 6 de Dic. de 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 comentarios
Matt Fig
Matt Fig el 6 de Dic. de 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)
Jos (10584) el 6 de Dic. de 2012
Using randi, it is not guaranteed that each character in STR is mapped onto a unique value ...

Iniciar sesión para comentar.

Más respuestas (1)

Rick Rosson
Rick Rosson el 6 de Dic. de 2012
aStr = 'ABCDE';
x = uint8(aStr) - 64;
  1 comentario
Qian
Qian el 6 de Dic. de 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.

Iniciar sesión para comentar.

Categorías

Más información sobre Data Type Conversion en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by