Matlab交换

时间:2009-04-15 03:04:03

标签: string matlab vector

如果给我一串字母'abcd'并且我想将其转换为数字V = [1,2,3,4]的向量,它对应于字母表中字母的位置,我该怎么做?

3 个答案:

答案 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