0

次のように出力する値の列があります。

d =

 1
 1
 3
 1
 1
 2
 1

> 0 の整数を次のように結合しようとしています。

e =

 1
 2
 3
 4
 5
 6
 7
 8
 9
10

たとえば、最初の値は 1 であるため、e の 1 つの値 (最初の値) にのみ割り当てられます。これを出力するために、個別の値ごとに一意の識別子を探しています。

e =

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

1 に答える 1

0

ここに使用するワンライナーがありますbsxfun

e = [e 1+sum(bsxfun(@gt, 1:sum(d),cumsum(d))).'];
于 2013-09-26T15:12:31.543 に答える