⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 diagker.c

📁 很好的matlab模式识别工具箱
💻 C
字号:
/* -------------------------------------------------------------------- diagker.c: MEX-file code for evaluation of diagonal of kernel matrix. Compile:  mex diagker.c kernel_fun.c Synopsis:   diagK = diagker( data, ker, arg )    data [dim x n1] ... Input vectors.    ker [string] ... Kernel identifier (see kernel_fun.c)    arg [1 x nargarg] ... Kernel argument(s).    diagK [n1 x 1] ... Kernel matrix        diagK[i] = kernel(dataA(:,i),dataA(:,i)); About: Statistical Pattern Recognition Toolbox (C) 1999-2003, Written by Vojtech Franc and Vaclav Hlavac <a href="http://www.cvut.cz">Czech Technical University Prague</a> <a href="http://www.feld.cvut.cz">Faculty of Electrical Engineering</a> <a href="http://cmp.felk.cvut.cz">Center for Machine Perception</a> Modifications: 5-may-2004, VF 20-jun-2003, VF -------------------------------------------------------------------- */#include "mex.h"#include "matrix.h"#include <math.h>#include <stdlib.h>#include <string.h>#include "kernel_fun.h"/* ============================================================== Main MEX function - interface to Matlab.============================================================== */void mexFunction( int nlhs, mxArray *plhs[],		  int nrhs, const mxArray*prhs[] ){   long i, num_data;   double *diagK;   /* K = diagker( data, ker, arg ) */   /* ------------------------------------------- */   if( nrhs != 3)      mexErrMsgTxt("Improper number of input arguments.");        /* data matrix [dim x n1] */   if( !mxIsNumeric(prhs[0]) || !mxIsDouble(prhs[0]) ||     mxIsEmpty(prhs[0])    || mxIsComplex(prhs[0]) )     mexErrMsgTxt("Input data must be a real matrix.");   /* kernel identifier */   ker = kernel_id( prhs[1] );   if( ker == -1 )      mexErrMsgTxt("Improper kernel identifier.");         /*  get pointer to arguments  */   arg1 = mxGetPr(prhs[2]);   dataA = mxGetPr(prhs[0]);       dataB = dataA;   dim = mxGetM(prhs[0]);          num_data = mxGetN(prhs[0]);     /* creates output kernel matrix. */   plhs[0] = mxCreateDoubleMatrix(num_data,1,mxREAL);   diagK = mxGetPr(plhs[0]);   /* computes kenrel matrix. */   for( i = 0; i < num_data; i++ ) {     diagK[i] = kernel(i,i);   }}

⌨️ 快捷键说明

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