File: unique.sci

package info (click to toggle)
scilab 2.6-4
  • links: PTS
  • area: non-free
  • in suites: woody
  • size: 54,632 kB
  • ctags: 40,267
  • sloc: ansic: 267,851; fortran: 166,549; sh: 10,005; makefile: 4,119; tcl: 1,070; cpp: 233; csh: 143; asm: 135; perl: 130; java: 39
file content (18 lines) | stat: -rw-r--r-- 360 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function [x,k]=unique(x)
//Copyrigth INRIA
// extract unique components of a vector
if size(x,'*')==1 then
  k=1
else
  [lhs,rhs]=argn()
  if lhs==2 then
    [x,k]=sort(x);
    if type(x)==1 then x=x($:-1:1);k=k($:-1:1);end
    keq=find(x(2:$)==x(1:$-1))
    x(keq)=[]
    k(keq)=[]
  else
    x=sort(x);x=x($:-1:1);
    x(find(x(2:$)==x(1:$-1)))=[]
  end
end