String 如何枚举具有唯一数字的字符串单元格?

String 如何枚举具有唯一数字的字符串单元格?,string,matlab,unique,enumeration,String,Matlab,Unique,Enumeration,假设我有一个nx1单元格(设置N=5),其中每个元素都是一个可以重复的字符串。例如: x = {'x', 'b', 'c', 'x', 'd'} 我想确定唯一的字符串并获得一个nx1标识符向量,在这种情况下,它是: y = [1, 2, 3, 1, 4] 不需要按字母顺序排列,我只希望y中的每个整数对应于x中的唯一字符串。在MATLAB中有没有一种简单的方法来实现这一点 感谢您的帮助,是:将的第三个输出与'stable'输入标志一起使用: [~, ~, result] = unique(x

假设我有一个
nx1
单元格(设置N=5),其中每个元素都是一个可以重复的字符串。例如:

x = {'x', 'b', 'c', 'x', 'd'}
我想确定唯一的字符串并获得一个
nx1
标识符向量,在这种情况下,它是:

y = [1, 2, 3, 1, 4] 
不需要按字母顺序排列,我只希望
y
中的每个整数对应于
x
中的唯一字符串。在MATLAB中有没有一种简单的方法来实现这一点


感谢您的帮助,

是:将的第三个输出与
'stable'
输入标志一起使用:

[~, ~, result] = unique(x, 'stable');

谢谢我会尽快接受的。亲爱的路易斯,我还有一个问题。我如何知道哪个id对应于x中的哪个条目?因此,如果我想从数字id访问原始字符串值,我应该怎么做?@HalilPazarlama如果我理解正确,只需使用
result
作为
x
的索引即可。。例如,
x{result(2)}
将给出原始的第二个字符串。但是,您也可以使用与复制基本相同的
x{2}
。但可以忽略打印零件。