Mercurial > hg > octave-nkf
diff scripts/set/create_set.m @ 559:4e826edfbc56
[project @ 1994-07-25 22:18:28 by jwe]
Initial revision
author | jwe |
---|---|
date | Mon, 25 Jul 1994 22:19:05 +0000 |
parents | |
children | 3470f1e25a79 |
line wrap: on
line diff
new file mode 100644 --- /dev/null +++ b/scripts/set/create_set.m @@ -0,0 +1,36 @@ +function y = create_set(x) + +# usage: create_set(x) +# +# Returns the unique elements of x, sorted in ascending order. +# +# See - union, intersection, complement + + if ( nargin != 1) + error("usage: create_set(x)"); + endif + + if(isempty(x)) + y = []; + else + [nrx, ncx] = size(x); + nelx = nrx*ncx; + x = reshape(x,1,nelx); + y = zeros(1,nelx); + + x = sort(x); + cur_val = y(1) = x(1); + yindex = xindex = 2; + + while (xindex <= nelx) + if(cur_val != x(xindex)) + cur_val = x(xindex); + y(yindex++) = cur_val; + endif + xindex++; + endwhile + y = y(1:(yindex-1)); + endif + +endfunction +