2012-11-04 58 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))).'];