### 5.23.16 Parzen window function : parzen_window

parzen_window takes as arguments a real vector v of length n and optionally an interval n1 .. n2 (with default values n1=0 and n2=n−1 ), and returns the elementwise product of the vector [vn1,…,vn2] and the vector w of length N=n2−n1+1 defined by

wk= |
⎧ ⎪ ⎪ ⎨ ⎪ ⎪ ⎩ |
⎛ ⎝ | 1−6 xk2 | ⎛ ⎝ | 1−xk | ⎞ ⎠ | ⎞ ⎠ | ,
⎪ ⎪ ⎪ ⎪ |
N−1
2
| −k | ⎪ ⎪ ⎪ ⎪ | ≤ |
N−1
4
| ,
2 | ⎛ ⎝ | 1−xk | ⎞ ⎠ | 3,
| otherwise,

where xk=|1−2 k/N−1| , for k=0,1,…,N−1 . For example, input :

L:=parzen_window(randvector(1000,0..1)):;

followed by scatterplot(L).