Convert breaks with multiplicities into knots


[knots,index] = brk2knt(breaks,mults)


[knots,index] = brk2knt(breaks,mults) returns the sequence knots that is the sequence breaks but with breaks(i) occurring mults(i) times, all i. In particular, breaks(i) will not appear unless mults(i)>0. If, as one would expect, breaks is a strictly increasing sequence, then knots contains each breaks(i) exactly mults(i) times.

If mults does not have exactly as many entries as does breaks, then all mults(i) are set equal to mults(1).

If, as one would expect, breaks is strictly increasing and all multiplicities are positive, then, for each i, index(i) is the first place in knots at which breaks(i) appears.


The statements

t = [1 1 2 2 2 3 4 5 5];
[xi,m] = knt2brk(t);
tt = brk2knt(xi,m)

give [1 2 3 4 5] for xi, [2 3 1 1 2] for m, and, finally, t for tt.

See Also

Was this topic helpful?