X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=octave_packages%2Feconometrics-1.0.8%2F__kernel_epanechnikov.m;fp=octave_packages%2Feconometrics-1.0.8%2F__kernel_epanechnikov.m;h=a81e1509af12d415f513671551b12175f1b08f9a;hb=c880e8788dfc484bf23ce13fa2787f2c6bca4863;hp=0000000000000000000000000000000000000000;hpb=1705066eceaaea976f010f669ce8e972f3734b05;p=CreaPhase.git diff --git a/octave_packages/econometrics-1.0.8/__kernel_epanechnikov.m b/octave_packages/econometrics-1.0.8/__kernel_epanechnikov.m new file mode 100644 index 0000000..a81e150 --- /dev/null +++ b/octave_packages/econometrics-1.0.8/__kernel_epanechnikov.m @@ -0,0 +1,36 @@ +# Copyright (C) 2006 Michael Creel +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; If not, see . + +# __kernel_epanechnikov: this function is for internal use by kernel_density +# and kernel_regression +# +# multivariate spherical Epanechnikov kernel +# input: PxK matrix - P data points, each of which is in R^K +# output: Px1 vector, input matrix passed though the kernel +# other multivariate kernel functions should follow this convention + +function z = __kernel_epanechnikov(z) + + K = columns(z); + + # Volume of d-dimensional unit sphere + c = pi ^ (K/2) / gamma(K/2 + 1); + + # compute kernel + z = sumsq(z, 2); + z = ((1/2) / c * (K + 2) * (1 - z)) .* (z < 1); + + +endfunction