亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? gnpp_mex.c

?? support vector machine的一個(gè)matlab工具箱
?? C
字號(hào):
/*-----------------------------------------------------------------------
 gnpp_mex.c: MEX-file solver for Generalized Nearest Point Problem

 Synopsis:
 [alpha,exitflag,t,access,History] = gnpp_mex(H,c,y,solver,tmax,tolabs,tolrel,thlb,verb)

 Compile: 
  mex gmnp_mex.c gmnpsolver.c

 Description:
   The Generalized Minimal Nearest Point problem to solve reads
  
   min 0.5*alpha'*H*alpha + c'*alpha

  subject to   sum(x(find(y==1))) = 1, 
               sum(x(find(y==2))) = 1, 
               x >= 0.

 Input:
  H [dim x dim] Symmetric positive definite matrix.
  c [dim x 1] Vector.
  y [dim x 1] Vector of labels 1 or 2.
  solver [string] GMNP solver: options are 'mdm', 'imdm'.
  tmax [1x1] Maximal number of iterations.
  tolabs [1x1] Absolute tolerance stopping condition.
  tolrel [1x1] Relative tolerance stopping condition.
  thlb [1x1] Threshold on lower bound.
  verb [1x1] If 1 then some info about the training is printed.

 Output:
  alpha [dim x 1] Solution vector.
  exitflag [1x1] Indicates which stopping condition was used:
    UB-LB <= tolabs           ->  exit_flag = 1   Abs. tolerance.
    UB-LB <= UB*tolrel        ->  exit_flag = 2   Relative tolerance.
    LB > th                   ->  exit_flag = 3   Threshold on LB.
    t >= tmax                 ->  exit_flag = 0   Number of iterations.
  t [1x1] Number of iterations.
  access [1x1] Access to elements of the matrix H.
  History [2x(t+1)] UB and LB with respect to number of iterations.

 Modifications:
 09-sep-2005, VF
-------------------------------------------------------------------- */

#include "mex.h"
#include "matrix.h"
#include <math.h>
#include <stdlib.h>
#include <string.h>
#include <limits.h>


#define INDEX(ROW,COL,DIM) ((COL*DIM)+ROW)
#define MIN(A,B) ((A < B) ? A : B)
#define MAX(A,B) ((A > B) ? A : B)

#define MINUS_INF INT_MIN
#define PLUS_INF  INT_MAX

/* ------------------------------------------------------------*/
/* Declaration of global variables                             */
/* ------------------------------------------------------------*/
double *matrix_H;
long dim;
long access;

/* ------------------------------------------------------------
  Returns pointer at the a-th column of the matrix H.
------------------------------------------------------------ */
void *get_col( long a, long b )
{
  access += dim;
  return( &matrix_H[ dim*a ] );
}


/* -------------------------------------------------------------------
 Main MEX function - interface to Matlab.
-------------------------------------------------------------------- */
void mexFunction( int nlhs, mxArray *plhs[],int nrhs, const mxArray*prhs[] )
{
  char solver[20];   /* solver identifier */
  int exitflag;      /* output arg */
  int buf_len;       /* real length of the solver identifier */
  int verb;          /* input argument */
  long i,j ;         /* common use loop variables */
  long inx1, inx2;   
  long num_data;     /* number of input training examples */
  long tmax;         /* input arg - max number of iteration */ 
  long t;            /* output arg - number of iterations */
  double tolrel;     /* input arg */
  double tolabs;     /* input arg */
  double thlb;       /* input arg */
  double *tmp_ptr;  
  double *alpha;     /* output arg */ 
  double *History;   /* output arg */
  double *diag_H;    /* diagonal of matrix H */
  double *vector_c;  /* vector c */
  double *vector_y;  
  double aHa11; 
  double aHa22;
  
  /*------------------------------------------------------------------- */
  /* Take input arguments                                               */
  /*------------------------------------------------------------------- */

  if( nrhs != 9) mexErrMsgTxt("Incorrect number of input arguments.");

  /* matrix H */
  matrix_H = mxGetPr(prhs[0]);   
  dim = mxGetM(prhs[0]);     

  if(dim != mxGetN(prhs[0])) mexErrMsgTxt("Matrix H mast be squared.");
   
  /* vector c */
  vector_c = mxGetPr(prhs[1]);   
  if((MAX(mxGetM(prhs[1]),mxGetN(prhs[1])) != dim) ||
     (MIN(mxGetM(prhs[1]),mxGetN(prhs[1])) != 1))
      mexErrMsgTxt("Vector is of wrong size.");

  /* vector y */
  vector_y = mxGetPr(prhs[2]);   
  if((MAX(mxGetM(prhs[2]),mxGetN(prhs[2])) != dim) ||
     (MIN(mxGetM(prhs[2]),mxGetN(prhs[2])) != 1))
      mexErrMsgTxt("Vector is of wrong size.");

  /* string identifier of QP solver to be used */
  if( mxIsChar( prhs[3] ) != 1) mexErrMsgTxt("Solver must be a string.");
  buf_len = (mxGetM(prhs[3]) * mxGetN(prhs[3])) + 1;
  buf_len = (buf_len > 20) ? 20 : buf_len;
  mxGetString( prhs[3], solver, buf_len );

  /* maximal allowed number of iterations */
  tmax = mxIsInf( mxGetScalar(prhs[4])) ? INT_MAX : (long)mxGetScalar(prhs[4]); 
  tolabs = mxGetScalar(prhs[5]);   /* abs. precision defining stopping cond*/
  tolrel = mxGetScalar(prhs[6]);   /* rel. precision defining stopping cond*/

  /* threshold on lower bound */
  thlb = mxIsInf( mxGetScalar(prhs[7])) ? DBL_MAX : (double)mxGetScalar(prhs[7]); 

  verb = (int)mxGetScalar(prhs[8]);  /* verbosity on/off */

  if( verb == 1 ) {
    mexPrintf("Settings of QP solver\n");
    mexPrintf("solver : %s\n", solver );
    mexPrintf("tmax   : %d\n", tmax );
    mexPrintf("tolabs : %f\n", tolabs );
    mexPrintf("tolrel : %f\n", tolrel );
    mexPrintf("dim    : %d\n", dim );
  }

  /*------------------------------------------------------------------- */ 
  /* Inicialization                                                     */
  /*------------------------------------------------------------------- */

  /* output "solution" vector alpha [dim x 1] */
  plhs[0] = mxCreateDoubleMatrix(dim,1,mxREAL);
  alpha = mxGetPr(plhs[0]);

  /* allocattes and precomputes diagonal of virtual K matrix */
  diag_H = mxCalloc(dim, sizeof(double));
  if( diag_H == NULL ) mexErrMsgTxt("Not enough memory.");
  for(i = 0; i < dim; i++ ) {
    diag_H[i] = matrix_H[dim*i+i];
  }

  /* counter of access to matrix H */
  access = dim;
  

  /*------------------------------------------------------------------- */
  /* Call QP solver                                                     */
  /*------------------------------------------------------------------- */

  if ( strcmp( solver, "mdm" ) == 0 ) {  
     exitflag = gnpp_mdm( &get_col, diag_H, vector_c, vector_y, dim, tmax, 
         tolabs, tolrel, thlb, alpha, &t, &aHa11, &aHa22, &History, verb );
  } else if ( strcmp( solver, "imdm" ) == 0 ) {  
     exitflag = gnpp_imdm( &get_col, diag_H, vector_c, vector_y, dim, tmax, 
         tolabs, tolrel, thlb, alpha, &t, &aHa11, &aHa22, &History, verb );
  } else {
     mexErrMsgTxt("Unknown QP solver identifier!");
  }

  /*------------------------------------------------------------------- */
  /* Generate outputs                                                   */
  /*------------------------------------------------------------------- */

  /* exitflag [1x1] */
  plhs[1] = mxCreateDoubleMatrix(1,1,mxREAL);
  *(mxGetPr(plhs[1])) = (double)exitflag;

  /* t [1x1] */
  plhs[2] = mxCreateDoubleMatrix(1,1,mxREAL);
  *(mxGetPr(plhs[2])) = (double)t;

  /* access [1x1] */
  plhs[3] = mxCreateDoubleMatrix(1,1,mxREAL);
  *(mxGetPr(plhs[3])) = (double)access;

  /* History [2 x (t+1)] */
  plhs[4] = mxCreateDoubleMatrix(2,t+1,mxREAL);
  tmp_ptr = mxGetPr( plhs[4] );
  for( i = 0; i <= t; i++ ) {
     tmp_ptr[INDEX(0,i,2)] = History[INDEX(0,i,2)];
     tmp_ptr[INDEX(1,i,2)] = History[INDEX(1,i,2)];
  }

  /*------------------------------------------------------------------- */
  /* Free used memory                                                   */
  /*------------------------------------------------------------------- */
  mxFree( History );
  mxFree( diag_H );

}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲制服丝袜在线| 国内精品久久久久影院色| 国产精品久久三| 精品国产99国产精品| 日韩欧美精品在线| 精品成a人在线观看| 精品国产sm最大网站免费看| 欧美精品一区二区三区视频| 久久这里只有精品6| 久久九九久久九九| 国产精品乱人伦| 亚洲特黄一级片| 一个色综合av| 婷婷综合在线观看| 免费在线观看成人| 国产一区二区91| 99久久er热在这里只有精品66| 色偷偷久久一区二区三区| 在线视频一区二区免费| 欧美人与禽zozo性伦| 日韩欧美在线影院| 国产午夜精品福利| 综合自拍亚洲综合图不卡区| 亚洲第一在线综合网站| 欧美日韩高清一区二区三区| 在线视频国内一区二区| 色久优优欧美色久优优| 精品视频一区 二区 三区| 色综合久久久久久久久| 色综合久久综合网欧美综合网| av午夜一区麻豆| 99九九99九九九视频精品| 91女神在线视频| 91天堂素人约啪| 日韩一区二区在线观看视频播放| 成人蜜臀av电影| 欧美综合在线视频| 91麻豆精品国产91久久久久久| 日韩精品一区二区三区老鸭窝| 国产午夜精品久久久久久免费视 | 美腿丝袜亚洲三区| 国产99久久久久| 欧美色网一区二区| 精品国产91亚洲一区二区三区婷婷| 国产日产亚洲精品系列| 亚洲一级二级在线| 国产精品456露脸| 欧美偷拍一区二区| 欧美国产乱子伦| 午夜在线成人av| 成a人片亚洲日本久久| 欧美绝品在线观看成人午夜影视| 久久毛片高清国产| 亚洲成人动漫一区| 成年人国产精品| 日韩精品一区二区三区视频播放| 日韩毛片在线免费观看| 久草中文综合在线| 欧美三日本三级三级在线播放| 久久久久青草大香线综合精品| 亚洲已满18点击进入久久| 国产精品 欧美精品| 欧美精品自拍偷拍| 国产精品国产三级国产普通话99 | 国产亚洲精品aa午夜观看| 亚洲激情五月婷婷| 国产美女精品在线| 欧美高清性hdvideosex| 国产精品久久久久久久久久免费看| 日韩av在线免费观看不卡| 9人人澡人人爽人人精品| 欧美变态凌虐bdsm| 精品人伦一区二区色婷婷| 樱花草国产18久久久久| 色婷婷av一区| 中文天堂在线一区| 激情综合色播激情啊| 色哟哟欧美精品| 中文字幕综合网| 美日韩黄色大片| 欧美揉bbbbb揉bbbbb| 亚洲精品成人在线| 91久久国产综合久久| 亚洲人成网站精品片在线观看| 白白色 亚洲乱淫| 欧美日韩精品一区二区三区蜜桃| 久久久久久电影| 亚洲女同一区二区| 成人午夜在线视频| 国产精品黄色在线观看| 99在线精品观看| 日韩1区2区3区| 韩日欧美一区二区三区| www.综合网.com| 91麻豆swag| 色哟哟国产精品| 久久嫩草精品久久久久| 亚洲欧洲一区二区在线播放| 极品少妇xxxx精品少妇偷拍| 久久久久久久久久久久久久久99 | 欧美日韩国产成人在线免费| 亚洲免费观看在线视频| 日本精品免费观看高清观看| 日本强好片久久久久久aaa| 欧美日韩一区三区| 蜜桃精品视频在线观看| 欧美精品久久一区| 国产精品二区一区二区aⅴ污介绍| 国产一区二区看久久| 久久亚洲一区二区三区四区| 国产在线精品一区二区不卡了| 日韩欧美一二三区| 久久99精品久久只有精品| 日韩欧美亚洲一区二区| 久久精品国产一区二区三| 精品剧情v国产在线观看在线| 免播放器亚洲一区| 日韩精品一区二区三区在线观看 | 亚洲人123区| 在线观看91精品国产入口| 亚洲国产日韩a在线播放| 欧美私人免费视频| 七七婷婷婷婷精品国产| 久久久青草青青国产亚洲免观| 国产成人夜色高潮福利影视| 国产精品久久三区| 欧美性受xxxx黑人xyx| 麻豆精品在线播放| 国产视频视频一区| 91麻豆国产精品久久| 日韩国产欧美在线播放| 久久久精品蜜桃| 91麻豆产精品久久久久久| 天天av天天翘天天综合网| 精品播放一区二区| 91网站在线播放| 美女免费视频一区二区| 欧美激情一区二区在线| 欧美在线不卡一区| 精品一区二区三区久久久| 国产精品久久久久国产精品日日 | 日韩美女啊v在线免费观看| 欧美色图激情小说| 激情六月婷婷综合| 亚洲蜜桃精久久久久久久| 日韩亚洲电影在线| av成人免费在线| 蜜桃91丨九色丨蝌蚪91桃色| 国产精品亲子伦对白| 欧美高清视频www夜色资源网| 国产 日韩 欧美大片| 亚洲高清不卡在线| 国产日韩在线不卡| 欧美日韩日日骚| 成人精品免费网站| 秋霞午夜av一区二区三区| 1000部国产精品成人观看| 欧美一区二区视频在线观看2022| 成人精品免费看| 日韩激情av在线| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 欧美日韩黄色影视| 成人av电影在线| 麻豆成人综合网| 伊人开心综合网| 久久精品视频在线看| 欧美一区二区三区视频| 91丝袜高跟美女视频| 国内精品久久久久影院一蜜桃| 亚洲国产欧美在线人成| 国产欧美va欧美不卡在线| 日韩一级在线观看| 欧美视频在线观看一区二区| 丁香激情综合国产| 久久国产尿小便嘘嘘尿| 亚洲一级二级三级在线免费观看| 欧美激情综合在线| 精品国偷自产国产一区| 欧美日韩在线三区| 色婷婷精品大视频在线蜜桃视频| 国产精品18久久久久| 免费成人在线播放| 日一区二区三区| 亚洲一区影音先锋| 一区二区三区四区在线播放| 国产精品美女久久久久久久久久久 | av电影在线不卡| 国产麻豆精品视频| 久久精品国产精品亚洲精品| 亚洲影视在线播放| 国产色综合久久| 精品国产乱码久久| 欧美久久久影院| 欧美日韩一区二区在线视频| 色综合久久中文综合久久牛| 成人av小说网| av在线不卡观看免费观看| 国产凹凸在线观看一区二区 | 欧美一区二区免费| 欧美精品免费视频|