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

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

?? c2matlab.c

?? 模糊控制工具箱,很好用的,有相應的說明文件,希望對大家有用!
?? C
字號:
/* Copyright 1994-2005 The MathWorks, Inc. */
/* $Revision: 1.6.4.2 $ */

mxArray *c2matlabStr(FIS *fis, int flag){
    DOUBLE *source;
    mxArray *fisresult;

    int i, j, k, param_n, mfindex;
    DOUBLE *real_data_ptr, *antecedent, *consequent;
    mxArray *field_value;
    mxArray *in_field, *out_field, *mf_field;
    const char *field_names[]={"name", "type", "andMethod", "orMethod", "defuzzMethod",
                               "impMethod", "aggMethod", "input", "output", "rule"};
    const char *in_field_names[]={"name", "range", "mf"};
    const char *mf_field_names[]={"name", "type", "params"};
    const char *rule_field_names[]={"antecedent", "consequent", "weight", "connection"};

    int dims[2]={1, 1}, new_prm_index=0;

    source = flag == 0? fis->trn_best_para:fis->chk_best_para;
/*==============output mapping==============*/
        antecedent=(DOUBLE *)fisCalloc(fis->in_n, sizeof(DOUBLE));
        consequent=(DOUBLE *)fisCalloc(fis->out_n, sizeof(DOUBLE));
        fisresult = mxCreateStructArray(2, dims, 10, field_names);
        field_value=mxCreateString(fis->name);


	mxSetField(fisresult, 0, "name", field_value);
        field_value=mxCreateString(fis->type);
	mxSetField(fisresult, 0, "type", field_value);
        field_value=mxCreateString(fis->andMethod);
	mxSetField(fisresult, 0, "andMethod", field_value);
        field_value=mxCreateString(fis->orMethod);
	mxSetField(fisresult, 0, "orMethod", field_value);
        field_value=mxCreateString(fis->defuzzMethod);
	mxSetField(fisresult, 0, "defuzzMethod", field_value);
        field_value=mxCreateString(fis->impMethod);
	mxSetField(fisresult, 0, "impMethod", field_value);
        field_value=mxCreateString(fis->aggMethod);
	mxSetField(fisresult, 0, "aggMethod", field_value);

	if (fis->isbias)
	{
		if (mxAddField(fisresult, "bias")!=-1)
		{
			field_value=mxCreateDoubleMatrix(1,1,mxREAL);
			*mxGetPr(field_value)=fis->bias[0];
			mxSetField(fisresult, 0, "bias", field_value);
		}
	}

/*========input=============*/
        dims[1]=fis->in_n;
        in_field=mxCreateStructArray(2, dims, 3, in_field_names); 
        for (i=0; i<fis->in_n; i++){
            field_value=mxCreateString(fis->input[i]->name);
	    mxSetField(in_field, i, "name", field_value);
            field_value=mxCreateDoubleMatrix(1,2,mxREAL);
            real_data_ptr = (DOUBLE *)mxGetPr(field_value);
            memcpy(real_data_ptr, fis->input[i]->bound, 2 * sizeof(DOUBLE) );

	    mxSetField(in_field, i, "range", field_value);
            dims[1]=fis->input[i]->mf_n;
            mf_field=mxCreateStructArray(2, dims, 3, mf_field_names); 
            for (j=0; j<dims[1]; j++){
                field_value=mxCreateString(fis->input[i]->mf[j]->label);
	        mxSetField(mf_field, j, "name", field_value);
                field_value=mxCreateString(fis->input[i]->mf[j]->type);
	        mxSetField(mf_field, j, "type", field_value);
                param_n=fisGetMfParaN(fis->input[i]->mf[j]->type);
                field_value=mxCreateDoubleMatrix(1,param_n,mxREAL);
                real_data_ptr = (DOUBLE *)mxGetPr(field_value);
                for (k=0; k<param_n; k++)
                 *real_data_ptr++=source[new_prm_index++];
/*                memcpy(real_data_ptr, fis->input[i]->mf[j]->para, param_n * sizeof(double) );*/
       	        mxSetField(mf_field, j, "params", field_value);
            }    
            mxSetField(in_field, i, "mf", mf_field); 	
         }
        mxSetField(fisresult, 0, "input", in_field); 

 
/*=============output==============*/  
        dims[1]=fis->out_n;
        out_field=mxCreateStructArray(2, dims, 3, in_field_names); 
        for (i=0; i<fis->out_n; i++){
            field_value=mxCreateString(fis->output[i]->name);
	    mxSetField(out_field, i, "name", field_value);
            field_value=mxCreateDoubleMatrix(1,2,mxREAL);
            real_data_ptr = (DOUBLE *)mxGetPr(field_value);
            memcpy(real_data_ptr, fis->output[i]->bound, 2 * sizeof(DOUBLE) );

	    mxSetField(out_field, i, "range", field_value);
            dims[1]=fis->output[i]->mf_n;
            mf_field=mxCreateStructArray(2, dims, 3, mf_field_names); 
/*            for (j=0; j<fis->output[i]->mf_n; j++){*/
            for (j=0; j<fis->rule_n; j++){
                mfindex = fis->rule_list[j][fis->in_n]-1;
/*                printf("mfindex: %d\n", mfindex);*/
/*                field_value=mxCreateString(fis->output[i]->mf[j]->label);*/
                field_value=mxCreateString(fis->output[i]->mf[mfindex]->label);
/*	        mxSetField(mf_field, j, "name", field_value);*/
	        mxSetField(mf_field, mfindex, "name", field_value);
/*                field_value=mxCreateString(fis->output[i]->mf[j]->type);*/
			field_value=mxCreateString(fis->output[i]->mf[mfindex]->type);
/*	        mxSetField(mf_field, j, "type", field_value);*/
	        mxSetField(mf_field, mfindex, "type", field_value);

			if (fis->order == 1)
				param_n=fis->in_n+1;
			else
				param_n=1;
			field_value = mxCreateDoubleMatrix(1,param_n,mxREAL);
			real_data_ptr = (DOUBLE *)mxGetPr(field_value);
			if (fis->order == 1) 
				for (k=0; k<param_n; k++)
                   *real_data_ptr++ = source[new_prm_index++];
                else
                   *real_data_ptr = source[new_prm_index++];  
       	        mxSetField(mf_field, mfindex, "params", field_value);
            }    
            mxSetField(out_field, i, "mf", mf_field); 	
         }
        mxSetField(fisresult, 0, "output", out_field); 
/*==========rules=============*/
        dims[1]=fis->rule_n;
        out_field=mxCreateStructArray(2, dims, 4, rule_field_names); 
        for (i=0; i<fis->rule_n; i++){
            for (j=0; j<fis->in_n; j++)
               antecedent[j]=fis->rule_list[i][j];
            field_value=mxCreateDoubleMatrix(1,fis->in_n,mxREAL);
            real_data_ptr = (DOUBLE *)mxGetPr(field_value);
            memcpy(real_data_ptr, antecedent, fis->in_n * sizeof(DOUBLE) );
            mxSetField(out_field, i, "antecedent", field_value);
            for (j=0; j<fis->out_n; j++)
               consequent[j]=fis->rule_list[i][fis->in_n+j];            
            field_value=mxCreateDoubleMatrix(1,fis->out_n,mxREAL);
            real_data_ptr = (DOUBLE *)mxGetPr(field_value);
            memcpy(real_data_ptr, consequent, fis->out_n * sizeof(DOUBLE) );
            mxSetField(out_field, i, "consequent", field_value);           
            field_value=mxCreateDoubleMatrix(1,1,mxREAL);
            real_data_ptr = (DOUBLE *)mxGetPr(field_value);
            *real_data_ptr = fis->rule_weight[i];
            mxSetField(out_field, i, "weight", field_value);
            dims[1]=1;
            field_value=mxCreateDoubleMatrix(1,1,mxREAL);
            real_data_ptr = (DOUBLE *)mxGetPr(field_value);
            *real_data_ptr = fis->and_or[i];
            mxSetField(out_field, i, "connection", field_value);
           } 	   
        mxSetField(fisresult, 0, "rule", out_field); 

		

		
        return(fisresult);
}



/* transform C matrix to matlab matrix */
static mxArray *
c2matlab(DOUBLE **cmat, int row_n, int col_n)
{
	mxArray *OUT = mxCreateDoubleMatrix(row_n, col_n, mxREAL);
	DOUBLE *out = mxGetPr(OUT);
	int i, j;

	for (i = 0; i < row_n; i++)
		for (j = 0; j < col_n; j++)
			out[j*row_n+i] = cmat[i][j];
	return(OUT);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
av不卡免费在线观看| 91精品一区二区三区久久久久久| 91久久国产综合久久| 欧美大片一区二区| 亚洲午夜三级在线| 成人性生交大片免费看中文| 日韩一区二区三区视频在线观看| 国产精品乱码一区二区三区软件 | 日韩一区二区精品| 中文字幕一区不卡| 国产乱人伦偷精品视频免下载| 在线一区二区三区四区| 欧美—级在线免费片| 国产曰批免费观看久久久| 51午夜精品国产| 国内精品伊人久久久久av影院| 图片区小说区区亚洲影院| av电影天堂一区二区在线| 精品国产凹凸成av人导航| 亚洲小说春色综合另类电影| 91亚洲精品久久久蜜桃网站| 国产精品女上位| 豆国产96在线|亚洲| 欧美精品一区二区三区高清aⅴ| 天天影视网天天综合色在线播放| 91美女片黄在线| 综合分类小说区另类春色亚洲小说欧美| 精品一二线国产| 久久综合久久久久88| 精品一区二区久久久| 精品国产乱码久久| 久久99国产精品麻豆| 91精品国产91热久久久做人人| 天天爽夜夜爽夜夜爽精品视频 | 国产呦精品一区二区三区网站| 在线成人免费观看| 夜夜嗨av一区二区三区网页| 91一区二区三区在线播放| 亚洲欧美自拍偷拍| 99久久精品费精品国产一区二区| 欧美激情在线看| 成人精品在线视频观看| 日本一区二区三区久久久久久久久不 | 国产视频在线观看一区二区三区| 国产乱码精品1区2区3区| 国产日产精品1区| 99re这里只有精品首页| 亚洲在线免费播放| 欧美成人一区二区三区在线观看| 麻豆91小视频| 欧美国产精品专区| 91网站最新地址| 视频一区免费在线观看| 26uuu色噜噜精品一区二区| 成人激情视频网站| 亚洲福利视频一区| 精品久久久久久综合日本欧美| 国产99久久精品| 亚洲第一福利一区| 久久综合色8888| 色88888久久久久久影院野外| 日韩av不卡在线观看| 国产夜色精品一区二区av| 91麻豆视频网站| 日本欧美在线观看| 国产精品麻豆欧美日韩ww| 555www色欧美视频| 成人一区二区三区在线观看| 图片区小说区国产精品视频| 欧美高清在线视频| 91精品国产手机| fc2成人免费人成在线观看播放| 亚洲高清免费观看高清完整版在线观看 | 欧美日韩二区三区| 国产成人一区在线| 视频精品一区二区| 亚洲欧美日韩成人高清在线一区| 欧美精品高清视频| 99久久er热在这里只有精品66| 日韩激情在线观看| 国产精品福利电影一区二区三区四区| 欧美精品 国产精品| 成人h动漫精品| 国内精品国产成人国产三级粉色| 亚洲国产精品久久不卡毛片| 国产精品美女久久久久av爽李琼| 日韩欧美你懂的| 欧美日韩国产首页在线观看| 成人动漫一区二区在线| 国产麻豆一精品一av一免费 | 亚洲综合激情另类小说区| 久久免费午夜影院| 日韩免费一区二区| 欧美视频一区二区三区四区| 99re在线精品| av在线这里只有精品| 国产成人99久久亚洲综合精品| 免费观看日韩av| 日产国产欧美视频一区精品| 亚洲国产一区二区三区青草影视| 国产精品成人网| 国产精品理伦片| 中文字幕巨乱亚洲| 亚洲国产高清aⅴ视频| 久久先锋影音av鲁色资源| 日韩一区二区免费视频| 91精品国产综合久久福利| 欧美性视频一区二区三区| 色婷婷av一区二区三区软件| 99久久免费精品高清特色大片| www.日韩在线| 成人精品在线视频观看| 成人精品亚洲人成在线| 成人午夜精品一区二区三区| 国产伦精一区二区三区| 国产精品资源网| 国产99精品视频| www.亚洲国产| 在线亚洲一区二区| 欧美日韩国产综合一区二区三区| 欧美日韩亚洲不卡| 777xxx欧美| 日韩欧美国产午夜精品| 精品久久久网站| 国产视频一区在线播放| **性色生活片久久毛片| 亚洲精品中文在线影院| 亚洲永久免费av| 蜜桃av噜噜一区二区三区小说| 久久av中文字幕片| 成人性生交大片免费看中文| 一本大道久久a久久综合婷婷| 欧洲精品一区二区| 欧美一区二区福利视频| 欧美不卡一区二区三区| 国产精品理伦片| 亚洲成人福利片| 狠狠色丁香婷婷综合久久片| 国产91综合网| 欧美性videosxxxxx| 日韩女优av电影| 日韩一区在线免费观看| 亚洲一区二区视频在线观看| 激情综合网天天干| 91在线小视频| 欧美一区二区大片| 中文字幕在线不卡| 日韩激情在线观看| 波多野结衣视频一区| 欧美精品vⅰdeose4hd| 国产欧美精品一区二区色综合| 亚洲一区在线观看免费| 国产一区二区精品久久91| 欧美这里有精品| 久久久久久久久99精品| 午夜影视日本亚洲欧洲精品| 欧美一二三区在线| 日韩一区二区三区电影| 欧美国产一区视频在线观看| 亚洲自拍欧美精品| 国产一区二区免费在线| 色噜噜狠狠色综合中国| 久久蜜桃av一区二区天堂| 亚洲一区二区四区蜜桃| 国产高清一区日本| 91精品国产综合久久福利| 亚洲欧美区自拍先锋| 国产成人精品免费网站| 欧美一级日韩免费不卡| 亚洲自拍偷拍图区| av成人老司机| 国产女人18毛片水真多成人如厕| 日韩和的一区二区| 色狠狠综合天天综合综合| 久久久久久久综合| 美日韩一级片在线观看| 欧美理论电影在线| 一区二区欧美视频| av动漫一区二区| 国产日韩欧美高清| 国产麻豆精品在线观看| 精品国产乱码久久久久久图片| 亚洲一二三专区| 色先锋资源久久综合| 欧洲一区二区三区免费视频| 成人激情午夜影院| 日韩欧美色综合网站| 五月激情丁香一区二区三区| 一本大道av一区二区在线播放| 国产欧美一区在线| 国产二区国产一区在线观看| 精品国产91九色蝌蚪| 久久国产精品无码网站| 欧美一区二区三区四区五区| 日韩电影一二三区| 欧美一级一区二区| 免费高清在线一区| 精品成人私密视频| 激情欧美一区二区| 久久久蜜桃精品|