regressionihdrt.m
来自「一种快速的多叉搜索树」· M 代码 · 共 38 行
M
38 行
function [ret, Yout] = regressionIHDRT(tid, X, varargin)
% Retrieve a couple (Xout, Yout) from an IHDR tid tree based on X.
% [ret, Xout, Yout, dist] = regressionIHDRT(tid, X)
%
% OUTPUT:
% ret - 0: success, other: fail
% Yout - retrieved Y
% INPUTS:
% tid - The tree's handler
% X - X vector
% knn - Size of neighborhood
if ~libisloaded('IHDRDLL')
loadlibrary('IHDRDLL', 'IHDRDLL.h');
end
knn = 10;
lambda = 0.01;
args = varargin;
nargs = length(args);
for i=1:2:nargs
switch args{i}
case 'knn', knn = args{i+1};
case 'lambda', lambda = args{i+1};
otherwise, error(['unrecognized argument ' args{i}])
end
end
sX = calllib('IHDRDLL','GetXdim', tid);
sY = calllib('IHDRDLL','GetYdim', tid);
Yout = zeros(sY,1);
pX = libpointer('doublePtr', X);
pYout = libpointer('doublePtr', Yout);
ret = calllib('IHDRDLL','Regression', tid, pX, sX, pYout, sY, knn, lambda);
Yout = get(pYout,'Value');
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?