dualtree.cpp

来自「kde全称是kernel density estimation.基于核函数的概率」· C++ 代码 · 共 35 行

CPP
35
字号
//
// Matlab MEX interface for KD-tree C++ functions
//
// Written by Alex Ihler and Mike Mandel
// Copyright (C) 2003 Alexander Ihler; distributable under GPL -- see README.txt
//

#define MEX
#include <math.h>
#include "mex.h"
#include "cpp/BallTreeDensity.h"

void mexFunction(int nlhs, mxArray *plhs[],int nrhs, const mxArray *prhs[])
{
  // verify arguments
  if (nrhs > 3 || nrhs < 2)
    mexErrMsgTxt("Takes 2-3 input arguments");
  if (nlhs > 1)
    mexErrMsgTxt("Outputs 1 results");

  BallTreeDensity densTree = BallTreeDensity(prhs[0]);
  if (nrhs == 3) {                                            // REGULAR VERSION
    BallTree      atTree   = BallTree(prhs[1]);
    double maxErr= mxGetScalar(prhs[2]);
    plhs[0] = mxCreateDoubleMatrix(1,atTree.Npts(),mxREAL);   // allocate return vals
    densTree.evaluate(atTree, mxGetPr(plhs[0]), maxErr);      //  and evaluate

  } else {                                                    // LEAVE-ONE-OUT VERSION
    double maxErr= mxGetScalar(prhs[1]);
    plhs[0] = mxCreateDoubleMatrix(1,densTree.Npts(),mxREAL); // allocate return vals
    densTree.evaluate(mxGetPr(plhs[0]), maxErr);              //  and evaluate
  }    

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?