我想在matlab中将char矩阵转换为数字

时间:2013-06-07 02:13:00

标签: arrays matlab char

我想将字符串转换为数字,例如x=[abacaaaabb]我要分配值a=1 b=2 and c=-1并存储在新矩阵中x=[1 2 1 -1....}

2 个答案:

答案 0 :(得分:7)

您可以创建映射:

map = zeros(1,256);
map('abc') = [1, 2, -1];

然后你可以用你的输入索引它:

x = 'abacaaaabb';
mx = map(x);

答案 1 :(得分:0)

一种更简单的方法(除非您的映射确实必须像示例中那样是任意的):

x=['abacaaaabb'];

num = x - 96

结果

num =

     1     2     1     3     1     1     1     1     2     2