From: Michael C. <mc...@us...> - 2007-06-29 11:22:51
|
Update of /cvsroot/octave/octave-forge/main/econometrics/inst In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv7500/main/econometrics/inst Added Files: __kernel_weights.m Log Message: alternate version of weights. The good one is an oct file, for performance. This one is for reference. --- NEW FILE: __kernel_weights.m --- # Copyright (C) 2006, 2007 Michael Creel <mic...@ua...> # under the terms of the GNU General Public License. # # 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, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # __kernel_weights: for internal use by kernel_regression and kernel_density. There # is also a faster .oct file version that should be be found automatically. function W = __kernel_weights(data, evalpoints, kernel) # calculate distances nn = rows(evalpoints); n = rows(data); W = zeros(nn,n); for i = 1:nn zz = data - repmat(evalpoints(i,:), n, 1); zz = feval(kernel, zz); W(i,:) = zz'; endfor endfunction |