根据matlab中的字典将字符串转换为数字数组



我有一个包含字母的字符串。我想给每个字母传递一个数字,然后把它转换成一个数组。假设我有

'ABAABCCBA'

我有一个字典这样A=1B=2C=3因此我想要的数组是

[1,2,1,1,2,3,3,2,1]

这在python中非常容易做到,但我必须使用matlab进行一些后续分析。有没有什么办法能让我在没有开关的情况下,尽可能简洁地做到这一点?(注意,这是一个MRE,原始字符串包含20个不同的字母)

一个不假设键或值是连续的通用方法如下:

keys = 'ABC';
values = [1 200 30];
data = 'ABAABCCBA';
[~, result] = ismember(data, keys);
result = values(result);

最新更新