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

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

?? libsvmaux.c

?? Support Vector Machines is a powerful methodology for solving problems in nonlinear classification a
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
/*============================================================================*\| MATLAB Interface for LIBSVM, Version 1.2                                     ||                                                                              || Copyright (C) 2004-2005 Michael Vogt                                         || Written by Michael Vogt, Atanas Ayarov and Bennet Gedan                      ||                                                                              || 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.                                                           |\*============================================================================*/#include <string.h>#include <math.h>#include "mex.h"#include "libsvmaux.h"/*----------------------------------------------------------------------------*\| Fetch kernel function from MATLAB.                                           |\*----------------------------------------------------------------------------*/int getKernel(             /* Return: 0 on success, 1 on failure */  kernel *ker,             /* [out] kernel as needed by the algorithms */  const mxArray *mlker,    /* [in] kernel as provided by MATLAB */  long n )                 /* [in] input dimension (n<=0: adjust it to mlker) */{  long k, m;               /* counters */  int d;                   /* flag */  char strbuf[mxMAXNAM];   /* buffer for contents of type field */  mxArray *F, *F2;         /* fields of MATLAB struct */  /* --- check if type field is a string --- */  if ( (F=mxGetField(mlker,0,FNAME_TYPE)) == NULL ||       mxIsEmpty(F) ||       mxGetNumberOfDimensions(F) > 2 ||       !mxIsChar(F) )    return 1;  else    mxGetString(F,strbuf,mxMAXNAM+1);  /* --- check if "mlker" is a valid linear kernel --- */  if ( !strcmp(strbuf,KNAME_LINEAR) ) {    ker->type = KERNEL_LINEAR;    return 0;  }  /* --- check if "mlker" is a valid polynomial kernel --- */  else if ( !strcmp(strbuf,KNAME_POLY) &&            (F=mxGetField(mlker,0,FNAME_DEGR)) != NULL &&            mxGetNumberOfElements(F) == 1 &&            mxIsDouble(F) &&            !mxIsComplex(F) &&            mxGetScalar(F) >= 1 &&            (F2=mxGetField(mlker,0,FNAME_OFFSET)) != NULL &&            mxGetNumberOfElements(F2) == 1 &&            mxIsDouble(F2) &&            !mxIsComplex(F2)) {    if ( (int)mxGetScalar(F) == 1 && mxGetScalar(F2) == 0.0 )      ker->type = KERNEL_LINEAR;    else {      ker->type = KERNEL_POLY;      ker->degree = (int)mxGetScalar(F);      ker->offset = mxGetScalar(F2);    }    return 0;  }  /* --- check if "mlker" is a valid Gauss kernel --- */  else if ( !strcmp(strbuf,KNAME_GAUSS) &&            (F=mxGetField(mlker,0,FNAME_WIDTH)) != NULL &&            !mxIsEmpty(F) &&            mxGetNumberOfDimensions(F) <= 2 &&            (mxGetN(F) == 1 || mxGetM(F) == 1) &&            mxIsDouble(F) &&            !mxIsComplex(F) )  {    m = mxGetNumberOfElements(F);    if (n<1)               /* if n is not specified: */      n = m;               /* take it from MATLAB struct */    else if (m>n)          /* if more widths than dimensions: */      m = n;               /* ignore the rest */    for (k=0; k<m; k++) {  /* all widths positive? */      if (mxGetPr(F)[k] <= 0)        return 1;    }    d = 0;                 /* different vector elements? */    for (k=1; k<m; k++) {      if (mxGetPr(F)[k] != mxGetScalar(F))        d = 1;    }    if (m == 1 || d == 0) {    /* use scalar gamma */      ker->type = KERNEL_RADIAL;      ker->gamma = 0.5/(mxGetScalar(F)*mxGetScalar(F));    }    else {                 /* use gamma vector */      ker->type = KERNEL_GAUSS;      ker->gamman = n;      ker->gammav = mxMalloc(n*sizeof(double));      for (k=0; k<m; k++)        ker->gammav[k] = 0.5/(mxGetPr(F)[k]*mxGetPr(F)[k]);      for ( ; k<n; k++)        ker->gammav[k] = ker->gammav[m-1];    }    return 0;  }  /* --- check if "mlker" is a valid tanh kernel --- */  else if ( !strcmp(strbuf,KNAME_TANH) &&            (F=mxGetField(mlker,0,FNAME_GAMMA)) != NULL &&            mxGetNumberOfElements(F) == 1 &&            mxIsDouble(F) &&            !mxIsComplex(F) &&            mxGetScalar(F) > 0 &&            (F2=mxGetField(mlker,0,FNAME_OFFSET)) != NULL &&            mxGetNumberOfElements(F2) == 1 &&            mxIsDouble(F2) &&            !mxIsComplex(F2) &&            mxGetScalar(F2) < 0 ) {    ker->type = KERNEL_TANH;    ker->gamma = mxGetScalar(F);    ker->offset = mxGetScalar(F2);    return 0;  }  /* --- otherwise return an error --- */  return 1;}/*----------------------------------------------------------------------------*\| Fetch MATLAB SVM struct into multiple variables.                             |\*----------------------------------------------------------------------------*/int getSvm(                /* Return: 0 on success, 1 on failure */  const mxArray *mlsvm,    /* [in] SVM as provided by MATLAB */  double **a,              /* [out] *a points to the SVM coefficients */  double **xs,             /* [out] *xs points to the support vectors */  long    *Ns,             /* [out] number of support vectors */  long    *n,              /* [out] input dimension */  double  *b,              /* [out] bias term */  kernel  *ker )           /* [out] kernel function struct */{  mxArray *F;              /* field of MATLAB struct */  /* --- check for valid SVM coefficients --- */  if ( (F=mxGetField(mlsvm,0,FNAME_COEF)) == NULL ||       mxIsEmpty(F) ||       mxGetNumberOfDimensions(F) > 2 ||       !mxIsDouble(F) ||       mxIsComplex(F) )    return 1;  /* --- check for valid support vectors --- */  if ( (F=mxGetField(mlsvm,0,FNAME_VECT)) == NULL ||       mxIsEmpty(F) ||       mxGetNumberOfDimensions(F) > 2 ||       !mxIsDouble(F) ||       mxIsComplex(F) ||       mxGetM(F) != mxGetM(mxGetField(mlsvm,0,FNAME_COEF)) )    return 1;  /* --- check for valid bias term --- */  if ( (F=mxGetField(mlsvm,0,FNAME_BIAS)) == NULL ||       mxGetNumberOfElements(F) != 1 ||       !mxIsDouble(F) ||       mxIsComplex(F) )    return 1;  /* --- try to get kernel struct using getKernel() --- */  if ( (F=mxGetField(mlsvm,0,FNAME_KER)) == NULL ||       getKernel(ker,F,mxGetN(mxGetField(mlsvm,0,FNAME_VECT))) )    return 1;  /* --- get all other data --- */  *a  = mxGetPr(mxGetField(mlsvm,0,FNAME_COEF));  *xs = mxGetPr(mxGetField(mlsvm,0,FNAME_VECT));  *Ns = mxGetM(mxGetField(mlsvm,0,FNAME_VECT));  *n  = mxGetN(mxGetField(mlsvm,0,FNAME_VECT));  *b  = mxGetScalar(mxGetField(mlsvm,0,FNAME_BIAS));  return 0;}/*----------------------------------------------------------------------------*\| Get pointer to MATLAB option struct; convert key/value pairs if necessary.   |\*----------------------------------------------------------------------------*/int getOptionsStruct(         /* Return: always 0 */  const mxArray **mlopt,      /* [out] pointer to MATLAB options struct */  const mxArray *optlist[],   /* [in] pointer to the element after the kernel */  int nopt )                  /* [in] number of elements after the kernel */{  /* --- in case of input struct pass struct to getOptions -- */  if (mxIsStruct(optlist[0])) {    if (nopt == 1 && mxGetNumberOfElements(optlist[0]) == 1)      *mlopt = optlist[0];    else      mexErrMsgTxt("Invalid argument (options).");  }  /* --- check for key/value structure --- */  else {    mxArray *temp;            /* needed since **mlopt must not be changed */    char strbuf[mxMAXNAM];    /* string buffer */    int k;    if (nopt % 2 == 1)      mexErrMsgTxt("Invalid options structure (string,value)");    for (k=0; k<nopt; k+=2) {      if ( !mxIsChar(optlist[k]) ||           mxGetM(optlist[k]) != 1 &&           mxGetN(optlist[k]) != 1 )        mexErrMsgTxt("Invalid options structure (string,value)");    }    temp = mxCreateStructMatrix(1,1,0,NULL);    for (k=0; k<nopt; k+=2) {      mxGetString(optlist[k],strbuf,mxMAXNAM+1);      mxSetFieldByNumber(temp, 0, mxAddField(temp, strbuf),      mxDuplicateArray(optlist[k+1]));    }    *mlopt = temp;  }  return 0;}/*----------------------------------------------------------------------------*\| Fetch MATLAB options into struct variable.                                   |\*----------------------------------------------------------------------------*/int getOptions(            /* Return: 0 on success, 1 on failure */  options       *opt,      /* [out] struct for optimizer options */  const mxArray *mlopt,    /* [in] options as provided by MATLAB */  long           N )       /* [in] number of data */{  int k,l;                 /* counter */  mxArray *F;              /* field of options struct */  char strbuf[mxMAXNAM];  char strbuf2[mxMAXNAM];  float temp;  for (k=0; k<mxGetNumberOfFields(mlopt); k++) {    F = mxGetFieldByNumber(mlopt,0,k);    /* --- Treat option FNAME_TOL --- */    if ( !strcmp(mxGetFieldNameByNumber(mlopt,k),FNAME_TOL) ) {      if ( mxGetNumberOfElements(F) == 1 &&           mxIsDouble(F) &&           !mxIsComplex(F) &&           mxGetScalar(F) >= 0 )        opt->tol = mxGetScalar(F);      else        mexWarnMsgTxt("Invalid option \"" FNAME_TOL "\" ignored.");    }    /* --- Treat option FNAME_CACHE --- */    else if ( !strcmp(mxGetFieldNameByNumber(mlopt,k),FNAME_CACHE) ) {      if ( mxGetNumberOfElements(F) == 1 &&           mxIsDouble(F) &&           !mxIsComplex(F) &&           mxGetScalar(F) >= 1 )        opt->cache = (double)(sizeof(double)*N*(long)mxGetScalar(F))/(1024.0*1024.0);      else if ( mxIsChar(F) &&                !mxIsEmpty(F) &&                mxGetM(F) == 1 &&                mxGetNumberOfDimensions(F) == 2 ) {        mxGetString(F,strbuf,mxMAXNAM+1);        for (l=0;l<mxMAXNAM;l++)          strbuf[l]=tolower(strbuf[l]);        if ( sscanf(strbuf,"%g",&temp) != EOF &&             sscanf(strbuf,"%*g %s",strbuf2) != EOF ) {          if ( strcmp(strbuf2,"mb") == 0 )            opt->cache = (double)temp;          else if ( strcmp(strbuf2,"kb") == 0 )            opt->cache = (double)temp/1024;          else            mexWarnMsgTxt("Invalid option \"" FNAME_CACHE "\" ignored.");        }        else          mexWarnMsgTxt("Invalid option \"" FNAME_CACHE "\" ignored.");      }      else        mexWarnMsgTxt("Invalid option \"" FNAME_CACHE "\" ignored.");    }    /*  --- Treat option FNAME_SHRINK --- */    else if ( !strcmp(mxGetFieldNameByNumber(mlopt,k),FNAME_SHRINK) ) {      if ( mxGetNumberOfElements(F) == 1 &&           mxIsDouble(F) &&           !mxIsComplex(F) &&           mxGetScalar(F) >= 0 )        opt->shrink = (int)mxGetScalar(F);      else        mexWarnMsgTxt("Invalid option \"" FNAME_SHRINK "\" ignored.");    }    /* --- Treat option FNAME_WEIGHT --- */    else if ( !strcmp(mxGetFieldNameByNumber(mlopt,k),FNAME_WEIGHT) ) {      if ( mxGetNumberOfElements(F) == 1 &&           mxIsDouble(F) &&           !mxIsComplex(F) &&           mxGetScalar(F) >= 0 )        opt->weight = mxGetScalar(F);      else        mexWarnMsgTxt("Invalid option \"" FNAME_WEIGHT "\" ignored.");    }    /* --- Treat option FNAME_WLABEL --- */    else if ( !strcmp(mxGetFieldNameByNumber(mlopt,k),FNAME_WLABEL) ) {      if ( mxGetNumberOfElements(F) == 1 &&           mxIsDouble(F) &&           !mxIsComplex(F) )        opt->wlabel = (int)mxGetScalar(F);      else        mexWarnMsgTxt("Invalid option \"" FNAME_WLABEL "\" ignored.");    }    /* --- Treat option FNAME_VERBOSE --- */    else if ( !strcmp(mxGetFieldNameByNumber(mlopt,k),FNAME_VERBOSE) ) {      if ( mxGetNumberOfElements(F) == 1 &&           mxIsDouble(F) &&           !mxIsComplex(F) &&           mxGetScalar(F) >= 0 )      opt->verbose = (int)mxGetScalar(F);    else      mexWarnMsgTxt("Invalid option \"" FNAME_VERBOSE "\" ignored.");    }    /* --- Treat option FNAME_STYLE --- */    else if ( !strcmp(mxGetFieldNameByNumber(mlopt,k),FNAME_STYLE) ) {      if ( mxIsChar(F) &&           !mxIsEmpty(F) &&           mxGetM(F) == 1 &&           mxGetNumberOfDimensions(F) == 2) {        if (mxGetScalar(F) == 'n')          opt->style = 1;        else          opt->style = 0;      }      else        mexWarnMsgTxt("Invalid option \"" FNAME_STYLE "\" ignored.");    }    /* --- Treat option FNAME_PROBOPT --- */    else if ( !strcmp(mxGetFieldNameByNumber(mlopt,k),FNAME_PROBOPT) ) {      if ( mxGetNumberOfElements(F) == 1 &&           mxIsDouble(F) &&           !mxIsComplex(F) &&           mxGetScalar(F) >= 0 )        opt->prob = (int)mxGetScalar(F);      else        mexWarnMsgTxt("Invalid option \"" FNAME_PROBOPT "\" ignored.");    }  }  return 0;}/*----------------------------------------------------------------------------*\| Dump information about settings into MATLAB window.                          |\*----------------------------------------------------------------------------*/int dumpOptions(           /* Return: always 0 */  kernel  *ker,            /* [in] kernel struct */  options *opt,            /* [in] option struct */  double   C,              /* [in] C or nu */  double   e,              /* [in] epsilon or nu */  int      svmproblem )    /* [in] 0: SVR, 1: SVC, 2: One-Class */{  mexPrintf("--------------------\n");  mexPrintf("OPTIONS\n");  switch ( svmproblem ) {    case 0: if (opt->style == 0) {

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品一区二区三区免费观看| 蜜臀av国产精品久久久久| 日韩免费视频线观看| 色综合久久精品| 国产成人一级电影| 亚洲国产日韩在线一区模特| 日本一区二区免费在线 | 色噜噜狠狠成人网p站| 国产乱色国产精品免费视频| 日本欧美在线观看| 亚洲国产中文字幕| 亚洲精品免费播放| 国产精品理论片| 国产欧美日韩卡一| 久久午夜羞羞影院免费观看| 日韩一区二区三区四区五区六区| 在线观看亚洲精品| 色先锋久久av资源部| 一本一道久久a久久精品综合蜜臀| 久久国产剧场电影| 亚洲香蕉伊在人在线观| 一区二区三区在线视频播放| 最新热久久免费视频| 国产精品理伦片| 中文字幕一区二区在线播放| 日本一区二区成人| 国产精品三级电影| 中文字幕一区二区5566日韩| 日韩午夜av一区| 日韩视频免费观看高清完整版| 91精品国产色综合久久久蜜香臀| 欧美放荡的少妇| 欧美一区二区播放| 日韩欧美一区二区久久婷婷| 日韩三级视频中文字幕| 日韩视频在线你懂得| 欧美电影免费观看高清完整版| 99麻豆久久久国产精品免费| 色综合一区二区| 91色九色蝌蚪| 欧美午夜在线一二页| 欧美日韩和欧美的一区二区| 欧美精品自拍偷拍| 日韩欧美电影在线| 精品理论电影在线观看| 国产女人18水真多18精品一级做 | 亚洲高清免费一级二级三级| 亚洲国产一区二区三区青草影视 | 日本一区二区免费在线观看视频| 国产精品视频第一区| 亚洲女与黑人做爰| 亚洲成av人综合在线观看| 一级日本不卡的影视| 日韩国产在线一| 精品一区二区三区免费视频| bt7086福利一区国产| 欧美午夜精品久久久久久超碰 | 91视频一区二区| 欧美精品xxxxbbbb| 久久女同性恋中文字幕| 亚洲人成网站影音先锋播放| 天堂在线亚洲视频| 国产精品99久久久久久久vr| 91在线丨porny丨国产| 欧美日本视频在线| 国产校园另类小说区| 中文字幕亚洲电影| 日本不卡中文字幕| 成人免费av资源| 欧美人xxxx| 欧美激情在线看| 午夜精品福利一区二区蜜股av | 欧美色视频一区| 久久在线观看免费| 日本一区二区三区久久久久久久久不 | 国产一区视频导航| 日本道色综合久久| 精品处破学生在线二十三| 国产精品毛片大码女人| 亚洲18女电影在线观看| 国产精品99久久久久久似苏梦涵 | 精品一区二区三区日韩| 91丨porny丨中文| 精品国产乱码久久久久久闺蜜 | 欧美视频在线一区二区三区| 久久综合精品国产一区二区三区| 一区二区三区四区乱视频| 精品午夜久久福利影院| 欧美性欧美巨大黑白大战| 国产午夜精品在线观看| 日本中文一区二区三区| 国产999精品久久久久久绿帽| 色综合久久综合网97色综合| 欧美成人精品福利| 日日摸夜夜添夜夜添精品视频| 成人激情免费视频| 精品成人a区在线观看| 亚洲成a人v欧美综合天堂| 成年人网站91| 精品国产一区二区在线观看| 亚洲成人手机在线| 色综合久久久久综合体桃花网| 日韩午夜av一区| 亚洲一卡二卡三卡四卡五卡| 成人性生交大片免费看中文网站| 日韩视频免费观看高清在线视频| 亚洲精品免费电影| eeuss鲁片一区二区三区在线观看| 精品国产乱码久久久久久闺蜜| 亚洲18女电影在线观看| 色噜噜狠狠色综合中国| 中文字幕日韩精品一区| 成人妖精视频yjsp地址| 国产亚洲一区二区三区在线观看| 午夜av一区二区| 欧美午夜免费电影| 亚洲线精品一区二区三区八戒| 91香蕉视频污| 国产精品久久久久久户外露出 | 日韩女优电影在线观看| 午夜精品久久久久久久99水蜜桃| 色综合久久精品| 国产精品网站导航| 成人免费电影视频| 欧美高清在线精品一区| 国产高清亚洲一区| 欧美一区二区免费观在线| 爽爽淫人综合网网站| 在线不卡中文字幕| 视频在线观看91| 欧美日韩国产小视频在线观看| 视频一区欧美精品| 久久嫩草精品久久久久| voyeur盗摄精品| 亚洲电影在线免费观看| 欧美大度的电影原声| 丁香亚洲综合激情啪啪综合| 亚洲精品美腿丝袜| 日韩欧美国产三级电影视频| 丰满放荡岳乱妇91ww| 亚洲一级二级在线| 亚洲精品在线观看视频| 91在线云播放| 六月婷婷色综合| 国产精品美女久久久久久| 欧美日韩在线播放一区| 国产伦精品一区二区三区免费 | 毛片不卡一区二区| 国产精品超碰97尤物18| 在线成人av影院| 成人三级伦理片| 亚洲国产视频网站| 国产日韩欧美一区二区三区综合 | 91精品国产一区二区三区香蕉| 国产精品一区二区免费不卡 | 99vv1com这只有精品| 日本视频免费一区| 国产精品久久久久久久第一福利 | 亚洲亚洲精品在线观看| 2019国产精品| 欧美伊人精品成人久久综合97 | 色诱亚洲精品久久久久久| 日本v片在线高清不卡在线观看| 国产午夜精品久久久久久免费视| 在线免费亚洲电影| 国产99久久久国产精品免费看| 亚洲成av人影院| 中文字幕亚洲一区二区va在线| 日韩欧美精品在线视频| 91激情五月电影| 国产成人精品1024| 免费不卡在线视频| 亚洲欧美国产毛片在线| 久久久精品综合| 欧美日产国产精品| 91丨porny丨中文| 国产精品中文有码| 蜜臀久久久久久久| 亚洲精品国产第一综合99久久| 久久久精品影视| 日韩欧美成人一区二区| 欧美亚州韩日在线看免费版国语版| 国产老女人精品毛片久久| 免费人成在线不卡| 亚洲成人1区2区| 一级特黄大欧美久久久| 最好看的中文字幕久久| 国产女人18毛片水真多成人如厕| 日韩精品中文字幕一区 | 国产亚洲va综合人人澡精品 | 亚洲视频在线一区| 日本一区二区三区免费乱视频| 欧美成人r级一区二区三区| 欧美午夜在线一二页| 色综合中文字幕| 97精品久久久久中文字幕| 成人黄色777网| 成人在线一区二区三区| 国产成人av一区| 国产成人综合精品三级|