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

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

?? svm_model_matlab.c

?? 人工智能模式識別中基于支持向量機(jī)的分類算法在識別領(lǐng)域?qū)儆谳^新的應(yīng)用
?? C
字號:
#include <stdlib.h>#include <string.h>#include "svm.h"#include "mex.h"#define NUM_OF_RETURN_FIELD 10static const char *field_names[] = {	"Parameters",	"nr_class",	"totalSV",	"rho",	"Label",	"ProbA",	"ProbB",	"nSV",	"sv_coef",	"SVs"};const char *model_to_matlab_structure(mxArray *plhs[], int num_of_feature, struct svm_model *model){	int i, j, n;	double *ptr;	mxArray *return_model, **rhs;	int out_id = 0;	rhs = (mxArray **)mxMalloc(sizeof(mxArray *)*NUM_OF_RETURN_FIELD);	// Parameters	rhs[out_id] = mxCreateDoubleMatrix(5, 1, mxREAL);	ptr = mxGetPr(rhs[out_id]);	ptr[0] = model->param.svm_type;	ptr[1] = model->param.kernel_type;	ptr[2] = model->param.degree;	ptr[3] = model->param.gamma;	ptr[4] = model->param.coef0;	out_id++;	// nr_class	rhs[out_id] = mxCreateDoubleMatrix(1, 1, mxREAL);	ptr = mxGetPr(rhs[out_id]);	ptr[0] = model->nr_class;	out_id++;	// total SV	rhs[out_id] = mxCreateDoubleMatrix(1, 1, mxREAL);	ptr = mxGetPr(rhs[out_id]);	ptr[0] = model->l;	out_id++;	// rho	n = model->nr_class*(model->nr_class-1)/2;	rhs[out_id] = mxCreateDoubleMatrix(n, 1, mxREAL);	ptr = mxGetPr(rhs[out_id]);	for(i = 0; i < n; i++)		ptr[i] = model->rho[i];	out_id++;	// Label	if(model->label)	{		rhs[out_id] = mxCreateDoubleMatrix(model->nr_class, 1, mxREAL);		ptr = mxGetPr(rhs[out_id]);		for(i = 0; i < model->nr_class; i++)			ptr[i] = model->label[i];	}	else		rhs[out_id] = mxCreateDoubleMatrix(0, 0, mxREAL);	out_id++;	// probA, probB	if(model->probA != NULL && model->probB != NULL)	{		rhs[out_id] = mxCreateDoubleMatrix(n, 1, mxREAL);		ptr = mxGetPr(rhs[out_id]);		for(i = 0; i < n; i++)			ptr[i] = model->probA[i];		rhs[out_id+1] = mxCreateDoubleMatrix(n, 1, mxREAL);		ptr = mxGetPr(rhs[out_id+1]);		for(i = 0; i < n; i++)			ptr[i] = model->probB[i];	}	else	{		rhs[out_id] = mxCreateDoubleMatrix(0, 0, mxREAL);		rhs[out_id+1] = mxCreateDoubleMatrix(0, 0, mxREAL);	}	out_id+=2;	// nSV	if(model->nSV)	{		rhs[out_id] = mxCreateDoubleMatrix(model->nr_class, 1, mxREAL);		ptr = mxGetPr(rhs[out_id]);		for(i = 0; i < model->nr_class; i++)			ptr[i] = model->nSV[i];	}	else		rhs[out_id] = mxCreateDoubleMatrix(0, 0, mxREAL);	out_id++;	// sv_coef	rhs[out_id] = mxCreateDoubleMatrix(model->l, model->nr_class-1, mxREAL);	ptr = mxGetPr(rhs[out_id]);	for(i = 0; i < model->nr_class-1; i++)		for(j = 0; j < model->l; j++)			ptr[(i*(model->l))+j] = model->sv_coef[i][j];	out_id++;	// SVs	{		int *ir, *jc, ir_index, nonzero_element;		mxArray *pprhs[1], *pplhs[1];			nonzero_element = 0;		for(i = 0; i < model->l; i++) {			j = 0;			while(model->SV[i][j].index != -1) {				nonzero_element++;				j++;			}		}		// SV in column, easier accessing		rhs[out_id] = mxCreateSparse(num_of_feature, model->l, nonzero_element, mxREAL);		ir = mxGetIr(rhs[out_id]);		jc = mxGetJc(rhs[out_id]);		ptr = mxGetPr(rhs[out_id]);		ir_index = jc[0] = 0;		for(i = 0;i < model->l; i++)		{			int x_index = 0;			while (model->SV[i][x_index].index != -1)			{				ir[ir_index] = model->SV[i][x_index].index - 1; 				ptr[ir_index] = model->SV[i][x_index].value;				ir_index++, x_index++;			}			jc[i+1] = jc[i] + x_index;		}		// transpose back to SV in row		pprhs[0] = rhs[out_id];		if (mexCallMATLAB(1, pplhs, 1, pprhs, "transpose"))			return "cannot transpose SV matrix";		rhs[out_id] = pplhs[0];		out_id++;	}	/* Create a struct matrix contains NUM_OF_RETURN_FIELD fields */	return_model = mxCreateStructMatrix(1, 1, NUM_OF_RETURN_FIELD, field_names);	/* Fill struct matrix with input arguments */	for(i = 0; i < NUM_OF_RETURN_FIELD; i++)		mxSetField(return_model,0,field_names[i],mxDuplicateArray(rhs[i]));	/* return */	plhs[0] = return_model;	mxFree(rhs);	return NULL;}const char *matlab_matrix_to_model(struct svm_model *model, const mxArray *matlab_struct){	int i, j, n, num_of_fields;	double *ptr;	int id = 0;	struct svm_node *x_space;	mxArray **rhs;	num_of_fields = mxGetNumberOfFields(matlab_struct);	rhs = (mxArray **) mxMalloc(sizeof(mxArray *)*num_of_fields);	for(i=0;i<num_of_fields;i++)		rhs[i] = mxGetFieldByNumber(matlab_struct, 0, i);	model->rho = NULL;	model->probA = NULL;	model->probB = NULL;	model->label = NULL;	model->nSV = NULL;	model->free_sv = 1; // XXX	ptr = mxGetPr(rhs[id]);	model->param.svm_type	  = (int)ptr[0];	model->param.kernel_type  = (int)ptr[1];	model->param.degree	  = ptr[2];	model->param.gamma	  = ptr[3];	model->param.coef0	  = ptr[4];	id++;	ptr = mxGetPr(rhs[id]);	model->nr_class = (int)ptr[0];	id++;	ptr = mxGetPr(rhs[id]);	model->l = (int)ptr[0];	id++;	// rho	n = model->nr_class * (model->nr_class-1)/2;	model->rho = (double*) malloc(n*sizeof(double));	ptr = mxGetPr(rhs[id]);	for(i=0;i<n;i++)		model->rho[i] = ptr[i];	id++;	// label	if (mxIsEmpty(rhs[id]) == 0)	{		model->label = (int*) malloc(model->nr_class*sizeof(int));		ptr = mxGetPr(rhs[id]);		for(i=0;i<model->nr_class;i++)			model->label[i] = (int)ptr[i];	}	id++;	// probA, probB	if(mxIsEmpty(rhs[id]) == 0 &&	   mxIsEmpty(rhs[id+1]) == 0)	{		model->probA = (double*) malloc(n*sizeof(double));		model->probB = (double*) malloc(n*sizeof(double));		ptr = mxGetPr(rhs[id]);		for(i=0;i<n;i++)			model->probA[i] = ptr[i];		ptr = mxGetPr(rhs[id+1]);		for(i=0;i<n;i++)			model->probB[i] = ptr[i];	}	id += 2;	// nSV	if (mxIsEmpty(rhs[id]) == 0)	{		model->nSV = (int*) malloc(model->nr_class*sizeof(int));		ptr = mxGetPr(rhs[id]);		for(i=0;i<model->nr_class;i++)			model->nSV[i] = (int)ptr[i];	}	id++;	// sv_coef	ptr = mxGetPr(rhs[id]);	model->sv_coef = (double**) malloc((model->nr_class-1)*sizeof(double));	for( i=0 ; i< model->nr_class -1 ; i++ )		model->sv_coef[i] = (double*) malloc((model->l)*sizeof(double));	for(i = 0; i < model->nr_class - 1; i++)		for(j = 0; j < model->l; j++)			model->sv_coef[i][j] = ptr[i*(model->l)+j];	id++;	// SV	{		int sr, sc, elements;		int num_samples;		int *ir, *jc;		mxArray *pprhs[1], *pplhs[1];		// transpose SV		pprhs[0] = rhs[id];		if (mexCallMATLAB(1, pplhs, 1, pprhs, "transpose"))			return "cannot transpose SV matrix";		rhs[id] = pplhs[0];		sr = mxGetN(rhs[id]);		sc = mxGetM(rhs[id]);		ptr = mxGetPr(rhs[id]);		ir = mxGetIr(rhs[id]);		jc = mxGetJc(rhs[id]);		num_samples = mxGetNzmax(rhs[id]);		elements = num_samples + sr;		model->SV = (struct svm_node **) malloc(sr * sizeof(struct svm_node *));		x_space = (struct svm_node *)malloc(elements * sizeof(struct svm_node));		// SV is in column		for(i=0;i<sr;i++)		{			int low = jc[i], high = jc[i+1];			int x_index = 0;			model->SV[i] = &x_space[low+i];			for(j=low;j<high;j++)			{				model->SV[i][x_index].index = ir[j] + 1; 				model->SV[i][x_index].value = ptr[j];				x_index++;			}			model->SV[i][x_index].index = -1;		}		id++;	}	mxFree(rhs);	return NULL;}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品写真福利| 粉嫩av一区二区三区在线播放| 97久久超碰精品国产| 国产精品私房写真福利视频| 国产精品1024| 国产精品伦一区| 91网站在线播放| 亚洲在线一区二区三区| 欧美日韩亚洲高清一区二区| 日本中文字幕一区二区有限公司| 日韩一区二区三区精品视频| 国产经典欧美精品| 亚洲在线视频免费观看| 在线视频一区二区免费| 午夜伊人狠狠久久| 精品国产网站在线观看| 成人精品免费视频| 亚洲国产日韩一级| 日韩一区二区在线播放| 国产精品1区2区3区在线观看| 国产日产精品一区| 欧美专区在线观看一区| 蜜臀av性久久久久av蜜臀妖精| 久久久高清一区二区三区| 成人精品免费看| 日韩电影在线免费观看| 久久新电视剧免费观看| 色婷婷综合久久久中文字幕| 日本欧洲一区二区| 中文字幕日韩一区二区| 欧美区一区二区三区| 国产精品91一区二区| 一区二区三区加勒比av| 精品成人一区二区三区四区| 91亚洲精品一区二区乱码| 久久9热精品视频| 亚洲免费观看在线观看| 久久综合九色综合久久久精品综合 | 五月婷婷色综合| 国产欧美在线观看一区| 91.xcao| 99久久精品国产观看| 久久爱另类一区二区小说| 亚洲精品日产精品乱码不卡| 久久久久国产精品免费免费搜索| 91成人免费在线| 成人性生交大片免费看在线播放| 日本伊人精品一区二区三区观看方式| 中文字幕乱码久久午夜不卡 | 7777精品伊人久久久大香线蕉最新版| 国产成人在线视频网址| 日韩不卡在线观看日韩不卡视频| 国产精品久久久久久久久动漫| 日韩精品中文字幕在线一区| 欧美丝袜丝交足nylons| 97久久超碰国产精品电影| 亚洲精品国产视频| 成人免费视频一区| 日本亚洲电影天堂| 亚洲另类春色校园小说| 久久精品夜色噜噜亚洲aⅴ| 777亚洲妇女| 在线观看不卡一区| 91无套直看片红桃| 92精品国产成人观看免费| 国产夫妻精品视频| 国产成人亚洲综合a∨猫咪| 久久精品国产亚洲a| 日产国产高清一区二区三区| 日日摸夜夜添夜夜添精品视频| 国产成人高清在线| 亚洲精品久久久久久国产精华液| 欧美成人乱码一区二区三区| 欧美美女喷水视频| 欧美亚洲国产一区二区三区 | 日韩三级伦理片妻子的秘密按摩| 在线中文字幕一区| 色欧美日韩亚洲| 91激情五月电影| 欧美午夜片在线观看| 色婷婷亚洲一区二区三区| 91在线视频官网| 91小视频在线免费看| 色哟哟精品一区| 91精品办公室少妇高潮对白| 色综合久久综合| 91色.com| 欧美日韩亚洲国产综合| 欧美一区二区三区在线看 | 日韩久久精品一区| 久久综合九色综合97_久久久| 久久女同精品一区二区| 国产精品女主播av| 亚洲精品国产一区二区精华液 | 久久色视频免费观看| 久久亚洲春色中文字幕久久久| 国产午夜精品福利| 亚洲欧洲日产国码二区| 亚洲一区二区三区中文字幕在线| 午夜影视日本亚洲欧洲精品| 蜜桃精品视频在线| 国产a视频精品免费观看| 午夜电影久久久| 夜夜揉揉日日人人青青一国产精品| 亚洲免费av高清| 亚洲午夜精品在线| 免费观看在线综合| 成人小视频在线观看| 一本色道久久综合狠狠躁的推荐| 色成年激情久久综合| 在线不卡一区二区| 久久―日本道色综合久久| 中文字幕一区二区三区乱码在线 | 久久免费的精品国产v∧| 中文子幕无线码一区tr| 一区二区三区**美女毛片| 日韩电影一区二区三区| 国产一区二区三区久久久 | 欧美videos大乳护士334| 国产欧美日韩视频一区二区| 亚洲自拍偷拍九九九| 久久精品免费观看| 91伊人久久大香线蕉| 日韩色视频在线观看| 最好看的中文字幕久久| 日韩中文欧美在线| av网站免费线看精品| 日韩一区二区在线免费观看| 国产精品久久毛片| 日本成人在线一区| 91香蕉视频在线| 欧美tk丨vk视频| 一区二区三区免费在线观看| 国产精品一区二区男女羞羞无遮挡| 色综合 综合色| 久久久精品免费网站| 亚洲va中文字幕| 波多野结衣欧美| 精品久久久久久久久久久久久久久久久 | 欧美电影一区二区| 国产精品久久久久影视| 另类人妖一区二区av| 欧美亚洲图片小说| www.欧美色图| 日韩欧美一级精品久久| 亚洲视频你懂的| 精品一区二区三区蜜桃| 欧美写真视频网站| 国产精品久久久久久久久免费樱桃| 日韩黄色小视频| 色欧美片视频在线观看| 国产视频一区二区三区在线观看| 天天综合色天天综合色h| 99r国产精品| 国产欧美精品一区二区三区四区| 日韩中文字幕区一区有砖一区| 99久久伊人精品| 久久精品夜色噜噜亚洲aⅴ| 日韩二区三区在线观看| 色综合久久综合网欧美综合网| 久久亚洲综合色一区二区三区 | 国产片一区二区| 蜜桃视频一区二区三区| 欧美乱熟臀69xxxxxx| 亚洲日本免费电影| 99v久久综合狠狠综合久久| 天天做天天摸天天爽国产一区 | 亚洲成人黄色小说| 欧洲一区二区三区免费视频| 中文字幕一区av| aaa欧美色吧激情视频| 中文字幕av在线一区二区三区| 国产一区二区主播在线| 精品国内二区三区| 国产一区二区三区久久久| 久久综合久久99| 国产精品 日产精品 欧美精品| 久久久不卡网国产精品一区| 国产美女精品一区二区三区| 久久久精品2019中文字幕之3| 老司机精品视频导航| 久久综合九色综合欧美98| 国产精品自在在线| 国产精品网站在线| 97se亚洲国产综合在线| 一区二区久久久久| 欧美日韩精品一区二区天天拍小说| 亚洲v精品v日韩v欧美v专区| 欧美一区二区三区人| 久久99国产精品麻豆| 国产欧美日韩亚州综合 | 一区在线观看视频| 欧美专区亚洲专区| 日韩黄色免费电影| 久久久久成人黄色影片| 成人av网站免费| 亚洲一二三区不卡| 欧美一级午夜免费电影| 国产老肥熟一区二区三区| 国产精品夫妻自拍|