0

如果我有一个元胞数组

CELLS = {'AB','AB','AB','BC','BC','CD','CD','CD','DF','FG'}

如何找到元素更改位置的索引?

在此示例中,我正在寻找如下输出:

CHANGES = 
        4 
        6 
        9
        10
4

2 回答 2

3

对于字符串 call 的通用元胞数组unique()find(diff(...)) 位置索引:

s = {'AB','AB','AB','BC','BC','CD','CD','CD','DF','FG'};
[~,~,p] = unique(s)
find(diff(p)==1)+1
于 2013-08-02T18:39:00.877 回答
2

这将做:

CHANGES = find(diff(cell2mat(CELLS)))+1

于 2013-08-02T18:20:17.497 回答