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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? qp.c

?? matlab 工具箱
?? C
字號:
// Filename: qp.c// // Description: MATLAB interface for LOQO Optimiser// // Comments: Quadratic and Linear Programming// // Author: Steve Gunn (S.R.Gunn@ecs.soton.ac.uk)//         Modified from code by R. Vanderbei.#include <math.h>#include <stdio.h>#include "mex.h"#include "pr_loqo.h"#define Inf 1e30void mexFunction(int nlhs, mxArray *plhs[],int nrhs, const mxArray *prhs[]){    double *c=NULL, *b=NULL, *A=NULL, *Q=NULL, *H=NULL, *l=NULL, *u=NULL, *x=NULL, *lambda=NULL, *x0=NULL, *primal=NULL, *dual=NULL;    double *tmpdp=NULL;    double big=Inf;    unsigned int neq=0;    long nmat=0, mmat=0;    long how=0;    int i;    unsigned int verb = 0;    double sigfig_max = 8;    int counter_max = 100000;    double margin = 0.95;    double bound = 10;     int restart = 0;    static char *str[] = {		"STILL_RUNNING",		"OPTIMAL_SOLUTION",		"SUBOPTIMAL_SOLUTION",		"ITERATION_LIMIT",		"PRIMAL_INFEASIBLE",		"DUAL_INFEASIBLE",		"PRIMAL_AND_DUAL_INFEASIBLE",		"INCONSISTENT",		"PRIMAL_UNBOUNDED",		"DUAL_UNBOUNDED",		"TIME_LIMIT"};    if (nrhs > 9 || nrhs < 1) {	    mexErrMsgTxt("Usage: [x,lambda,how] = qp(H,c,A,b,l,u,x0,neqcstr,verbosity)");	    return;    }    switch (nrhs) {    case 9:		if (mxGetM(prhs[8]) != 0 || mxGetN(prhs[8]) != 0) {		    if (!mxIsNumeric(prhs[8]) || mxIsComplex(prhs[8]) 		     ||  mxIsSparse(prhs[8])		     || !(mxGetM(prhs[8])==1 && mxGetN(prhs[8])==1)) {			 mexErrMsgTxt("Ninth argument (display) must be "				      "an integer scalar.");			 return;		    }		    verb = (unsigned int)*mxGetPr(prhs[8]);	    }    case 8:		if (mxGetM(prhs[7]) != 0 || mxGetN(prhs[7]) != 0) {		    if (!mxIsNumeric(prhs[7]) || mxIsComplex(prhs[7]) 		     ||  mxIsSparse(prhs[7])		     || !(mxGetM(prhs[7])==1 && mxGetN(prhs[7])==1)) {			 mexErrMsgTxt("Eighth argument (neqcstr) must be "				      "an integer scalar.");			 return;		    }		    neq = (unsigned int)*mxGetPr(prhs[7]);	    }    case 7:		if (mxGetM(prhs[6]) != 0 || mxGetN(prhs[6]) != 0) {			if (!mxIsNumeric(prhs[6]) || mxIsComplex(prhs[6]) 			 ||  mxIsSparse(prhs[6])			 || !mxIsDouble(prhs[6]) 			 ||  mxGetN(prhs[6])!=1 ) {			 mexErrMsgTxt("Seventh argument (x0) must be "					  "a column vector.");			 return;			}			x0 = mxGetPr(prhs[6]);			nmat = mxGetM(prhs[6]);        }    case 6:	    if (mxGetM(prhs[5]) != 0 || mxGetN(prhs[5]) != 0) {		    if (!mxIsNumeric(prhs[5]) || mxIsComplex(prhs[5]) 		     ||  mxIsSparse(prhs[5])		     || !mxIsDouble(prhs[5]) 		     ||  mxGetN(prhs[5])!=1 ) {			 mexErrMsgTxt("Sixth argument (u) must be "				      "a column vector.");			 return;		    }		    if (nmat != 0 && nmat != mxGetM(prhs[5])) {			 mexErrMsgTxt("Dimension error (arg 6 and later).");			 return;		    }		    u = mxGetPr(prhs[5]);			nmat = mxGetM(prhs[5]);	    }    case 5:	    if (mxGetM(prhs[4]) != 0 || mxGetN(prhs[4]) != 0) {		    if (!mxIsNumeric(prhs[4]) || mxIsComplex(prhs[4]) 		     ||  mxIsSparse(prhs[4])		     || !mxIsDouble(prhs[4]) 		     ||  mxGetN(prhs[4])!=1 ) {			 mexErrMsgTxt("Fifth argument (l) must be "				      "a column vector.");			 return;		    }		    if (nmat != 0 && nmat != mxGetM(prhs[4])) {			 mexErrMsgTxt("Dimension error (arg 5 and later).");			 return;		    }		    l = mxGetPr(prhs[4]);			nmat = mxGetM(prhs[4]);	    }    case 4:		if (mxIsEmpty(prhs[3]))		{ // No Constraints			mmat = 0;		}		else		{ // Constraints			if (mxGetM(prhs[3]) != 0 || mxGetN(prhs[3]) != 0) {				if (!mxIsNumeric(prhs[3]) || mxIsComplex(prhs[3]) 				 ||  mxIsSparse(prhs[3])				 || !mxIsDouble(prhs[3]) 				 ||  mxGetN(prhs[3])!=1 ) {				 mexErrMsgTxt("Fourth argument (b) must be "						  "a column vector.");				 return;				}				if (mmat != 0 && mmat != mxGetM(prhs[3])) {				 mexErrMsgTxt("Dimension error (arg 4 and later).");				 return;				}				b = mxGetPr(prhs[3]);			}		}    case 3:		if (mxIsEmpty(prhs[2]))		{ // No Constraints			if (mmat != 0) {				mexErrMsgTxt("Dimension error (arg 3 and later).");				return;			}		}		else		{ // Constraints			if (mxGetM(prhs[2]) != 0 || mxGetN(prhs[2]) != 0) {				if (!mxIsNumeric(prhs[2]) || mxIsComplex(prhs[2]) 				 || mxIsSparse(prhs[2]) ) {				 mexErrMsgTxt("Third argument (A) must be "						  "a matrix.");				 return;				}				if (mmat != 0 && mmat != mxGetM(prhs[2])) {				 mexErrMsgTxt("Dimension error (arg 3 and later).");				 return;				}				if (nmat != 0 && nmat != mxGetN(prhs[2])) {				 mexErrMsgTxt("Dimension error (arg 3 and later).");				 return;				}				mmat = mxGetM(prhs[2]);				nmat = mxGetN(prhs[2]);				A = mxGetPr(prhs[2]);			}		}		tmpdp = (double *)malloc((nmat+mmat)*sizeof(double));		for(i=0;i<nmat;i++) tmpdp[i] = (l[i] < -Inf ? -Inf : l[i]);		l = tmpdp;		tmpdp = (double *)malloc((nmat+mmat)*sizeof(double));		for(i=0;i<nmat;i++) tmpdp[i] = (u[i] > Inf ? Inf : u[i]);		u = tmpdp;		/* Equality constraints */		for(i=nmat;i<(int)(nmat+neq);i++) { l[i] = u[i] = 0; }		/* InEquality constraints */		for(i=nmat + neq;i<nmat+mmat;i++) { l[i] = -Inf; u[i] = 0; }    case 2:	    if (mxGetM(prhs[1]) != 0 || mxGetN(prhs[1]) != 0) {		    if (!mxIsNumeric(prhs[1]) || mxIsComplex(prhs[1]) 		     ||  mxIsSparse(prhs[1])		     || !mxIsDouble(prhs[1]) 		     ||  mxGetN(prhs[1])!=1 ) {			 mexErrMsgTxt("Second argument (c) must be "				      "a column vector.");			 return;		    }		    if (nmat != 0 && nmat != mxGetM(prhs[1])) {			 mexErrMsgTxt("Dimension error (arg 2 and later).");			 return;		    }		    c = mxGetPr(prhs[1]);		    nmat = mxGetM(prhs[1]);	    }    case 1:		if (mxIsEmpty(prhs[0]))		{ // Linear Program			H = (double *)calloc(nmat*nmat,sizeof(double));		}		else		{ // Quadratic Program	        if (mxGetM(prhs[0]) != 0 || mxGetN(prhs[0]) != 0) {				if (!mxIsNumeric(prhs[0]) || mxIsComplex(prhs[0]) 				 || mxIsSparse(prhs[0]) ) {				 mexErrMsgTxt("First argument (H) must be "						  "a matrix.");				 return;				}				if (nmat != 0 && nmat != mxGetM(prhs[0])) {				 mexErrMsgTxt("Dimension error (arg 1 and later).");				 return;				}				if (nmat != 0 && nmat != mxGetN(prhs[0])) {				 mexErrMsgTxt("Dimension error (arg 1 and later).");				 return;				}				nmat = mxGetN(prhs[0]);				Q = mxGetPr(prhs[0]);				H = (double *)calloc(nmat*nmat,sizeof(double));				for(i=0;i<nmat*nmat;i++) H[i] = Q[i];			}		}	    break;    }    if (nlhs > 3 || nlhs < 1) {	    mexErrMsgTxt("Usage: [x,lambda,how] = qp(H,c,A,b,l,u,x0,neqcstr,verbosity)");	    return;    }	primal = (double *)calloc((3*nmat),sizeof(double));		dual = (double *)calloc((mmat+2*nmat),sizeof(double));	    how = pr_loqo(nmat, mmat, c, H, A, b, l, u, primal, dual, verb, sigfig_max, counter_max, margin, bound, restart);    switch (nlhs) {    case 3:	    plhs[2] = mxCreateString(str[how]);    case 2:	    plhs[1] = mxCreateDoubleMatrix(mmat, 1, mxREAL);	    lambda = mxGetPr(plhs[1]);		for(i=0; i<mmat; i++) lambda[i] = dual[i];    case 1:	    plhs[0] = mxCreateDoubleMatrix(nmat, 1, mxREAL);	    x = mxGetPr(plhs[0]);		for(i=0; i<nmat; i++) x[i] = primal[i];	    break;    }	/* Free up memory */	free(l);	free(u);	free(primal);	free(dual);	free(H);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久不见久久见免费视频7 | 中文字幕中文乱码欧美一区二区| 欧美韩国日本综合| 亚洲欧美日韩国产成人精品影院| 亚洲高清免费在线| 狠狠狠色丁香婷婷综合激情| 成人av网站大全| 91.xcao| 国产精品视频麻豆| 亚洲国产美国国产综合一区二区| 精品免费日韩av| 国产精品伦理一区二区| 视频一区视频二区中文字幕| 激情综合色播激情啊| 一本色道久久综合精品竹菊| 亚洲成人av一区二区三区| 国产一区二区免费在线| 在线观看91精品国产入口| 久久久久久99精品| 五月婷婷久久综合| 99久久国产综合精品女不卡| 日韩美女视频在线| 亚洲一区在线观看免费观看电影高清| 久久国产精品无码网站| 欧美性猛交一区二区三区精品| 国产午夜精品在线观看| 久久精工是国产品牌吗| 欧美在线你懂得| 亚洲色大成网站www久久九九| 国产馆精品极品| 精品处破学生在线二十三| 欧美在线小视频| 亚洲男帅同性gay1069| www.欧美日韩国产在线| 亚洲视频狠狠干| 99精品黄色片免费大全| 国产精品第五页| eeuss鲁片一区二区三区| 中文字幕巨乱亚洲| 懂色av一区二区三区蜜臀| 久久久综合视频| 国模一区二区三区白浆| 久久免费午夜影院| 成人污视频在线观看| 国产精品天干天干在观线| 成人爱爱电影网址| 国产a精品视频| 亚洲欧洲制服丝袜| 欧美日韩成人激情| 美日韩一区二区| 久久久久久综合| 不卡区在线中文字幕| 亚洲欧洲日韩av| 欧美卡1卡2卡| 黄页视频在线91| 亚洲靠逼com| 欧美一区日本一区韩国一区| 黑人巨大精品欧美黑白配亚洲| 久久精品人人做人人爽人人 | 成人av第一页| 亚洲一区二区三区视频在线| 欧美一区二区三区免费大片| 久久精品国产99国产| 日本一区二区三区久久久久久久久不| aaa亚洲精品| 免费xxxx性欧美18vr| 国产精品看片你懂得| 91精品国产欧美日韩| gogo大胆日本视频一区| 日本亚洲电影天堂| 精品影院一区二区久久久| 国产精品久久午夜| 日韩女优av电影| 日本丶国产丶欧美色综合| 韩国女主播成人在线观看| 午夜精品成人在线| 亚洲色图在线看| 国产亚洲综合色| 久久久久久免费网| 欧美高清视频在线高清观看mv色露露十八 | 久久婷婷国产综合国色天香 | 欧美亚洲综合色| 99精品国产视频| 成人免费毛片a| 国产九色精品成人porny| 看片网站欧美日韩| 另类小说综合欧美亚洲| 亚洲chinese男男1069| 一区二区三区在线免费视频| 亚洲欧美日韩中文字幕一区二区三区 | 风间由美一区二区av101| 韩国在线一区二区| 麻豆精品在线播放| 美女久久久精品| 激情深爱一区二区| 国产精品77777| av中文字幕不卡| 99精品视频在线观看免费| 成人h动漫精品一区二区| 91美女视频网站| 91精品国产一区二区三区香蕉| 精品视频色一区| 日韩免费视频一区| 久久久午夜电影| 亚洲天堂中文字幕| 洋洋成人永久网站入口| 一本色道a无线码一区v| 欧美日产在线观看| 亚洲第一在线综合网站| 另类调教123区| 国产成人免费视频网站| 91精品1区2区| 久久久国际精品| 亚洲日本在线天堂| 欧美a级理论片| 成人av动漫网站| 欧美一级淫片007| 亚洲人成伊人成综合网小说| 天堂成人国产精品一区| 成人av午夜影院| 日韩西西人体444www| 国产精品青草久久| 蜜桃视频免费观看一区| 91免费国产视频网站| 久久综合资源网| 亚洲视频免费观看| 国产成人99久久亚洲综合精品| 欧美日韩成人在线| 1区2区3区精品视频| 国产精品一区二区在线看| 欧美日韩国产免费| 日韩美女视频19| 国产福利一区二区三区视频在线| 欧美日韩一区成人| 亚洲欧美乱综合| 粉嫩久久99精品久久久久久夜| 日韩欧美亚洲国产另类| 青草国产精品久久久久久| 欧美无乱码久久久免费午夜一区| 国产精品欧美综合在线| 久久精品国产亚洲a| 欧美成人三级在线| 日韩专区一卡二卡| 欧美精品 日韩| 天堂久久久久va久久久久| 欧美美女激情18p| 日本不卡不码高清免费观看| 欧美日韩日日夜夜| 麻豆国产欧美一区二区三区| 欧美va天堂va视频va在线| 男人操女人的视频在线观看欧美 | 亚洲国产精品ⅴa在线观看| 成人自拍视频在线| 综合分类小说区另类春色亚洲小说欧美 | 91精品国产91综合久久蜜臀| 日本欧美一区二区| 久久亚洲捆绑美女| av福利精品导航| 亚洲一区二区三区在线播放| 在线不卡的av| 国产成人av影院| **欧美大码日韩| 日韩一区二区三区观看| 国内精品免费**视频| 国产精品免费免费| 精品视频在线视频| 国产精品一区二区在线观看不卡 | 国产成人午夜视频| 国产精品久久久久四虎| 欧美无人高清视频在线观看| 激情综合网av| 亚洲精品免费在线播放| 日韩精品中文字幕在线一区| 国产91在线|亚洲| 亚洲国产精品麻豆| 欧美精品一区二区蜜臀亚洲| 欧美天堂一区二区三区| 国产一区二区三区在线观看精品| 亚洲男同1069视频| 精品国产一区二区三区忘忧草| 色综合久久久久综合| 国产美女久久久久| 亚洲国产一区二区在线播放| 国产日韩欧美一区二区三区乱码 | 精品一区二区三区香蕉蜜桃| 一区二区在线看| 国产精品无人区| 欧美大片日本大片免费观看| 91福利资源站| 91在线观看地址| 国产风韵犹存在线视精品| 青青草97国产精品免费观看| 亚洲一区中文在线| 亚洲男帅同性gay1069| 中文字幕日韩av资源站| 国产精品剧情在线亚洲| 久久精品一区二区| 精品理论电影在线观看 | 99re成人在线| 99久久精品免费看国产免费软件|