2012-11-04 57 views
0

我有一列值,其输出如下所示:组合两个独立的列基于一个(MATLAB)的标准

d = 

1 
1 
3 
1 
1 
2 
1 

我期待是> 0以下的整数结合:

e = 

1 
2 
3 
4 
5 
6 
7 
8 
9 
10 

因此,例如第一个值是1,所以它只会被分配给e(第一个)中的一个值。我寻找具有用于每个单独的值,以输出此一唯一标识符:

e = 

1 1 
2 2 
3 3 
4 3 
5 3 
6 4 
7 5 
8 6 
9 6 
10 7 
+4

见[**这里**](HTTP一个班轮:// www.mathworks.com/matlabcentral/newsreader/view_thread/274540)。 – Junuxx

回答

0

这里是使用bsxfun

e = [e 1+sum(bsxfun(@gt, 1:sum(d),cumsum(d))).'];