如果给我一串字母'abcd'
并且我想将其转换为数字V = [1,2,3,4]
的向量,它对应于字母表中字母的位置,我该怎么做?
答案 0 :(得分:5)
只需减去'a'。添加一个以将'a'映射到1.减法将结果发送到double。
V = C - 'a' + 1;
例如,
C = 'helloworld';
C - 'a' + 1
ans =
8 5 12 12 15 23 15 18 12 4
答案 1 :(得分:1)
要将'a'映射为1,'b'映射为2等,请使用DOUBLE函数将字符重新转换回其ASCII码编号,然后移动值:
V = double(charString)-96;
编辑:实际上,您甚至不需要拨打DOUBLE。当您使用另一个双精度数(MATLAB变量的默认类型)执行任何算术时,字符将自动转换为双精度数。所以,以下是一个更简单的答案:
V = charString-96;
答案 2 :(得分:0)
使用uint8
,然后减去'a'的char值,然后将其推到矢量上。 link