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

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

?? fismat.c

?? 模糊控制工具箱,很好用的,有相應的說明文件,希望對大家有用!
?? C
字號:
/* Copyright 1994-2002 The MathWorks, Inc.  */
/* $Revision: 1.11 $  $Date: 2002/06/17 12:47:18 $  $Author: eyarrow $ */

#ifdef WIN32
#ifdef INCLUDE_ANFIS
#include "anfis.h"
#else
#include "fis.h"
#endif
#include "mf.c"
#endif

/* Functions for generating FIS matrix from training data */

/* conversion of string to array of double */
static void
anfisString2Array(DOUBLE *destination, char *source, int n)
{
	int i;
	for (i = 0; i < n; i++)
		destination[i] = (DOUBLE)source[i];
}

/* find the min. or max. of a column of a given matrix */
static DOUBLE
anfisMatrixColLimit(DOUBLE **matrix, int which_col, int row_n, char *action)
{
	DOUBLE extreme = matrix[0][which_col];
	int i;

	if (strcmp(action, "min") == 0) {
		DOUBLE min = matrix[0][which_col];
		for (i = 0; i < row_n; i++) {
			if (matrix[i][which_col] < min)
				min = matrix[i][which_col];
		}
		return(min);
	}
	if (strcmp(action, "max") == 0) {
		DOUBLE max = matrix[0][which_col];
		for (i = 0; i < row_n; i++) {
			if (matrix[i][which_col] > max)
				max = matrix[i][which_col];
		}
		return(max);
	}
	fisError("Unknown action in anfisMatLimit()!");
	return(0.0);	/* for supressing compiler's warning */
}

/* generate a fismatrix according to trn_data */
static void
anfisGenFisMat(DOUBLE **trn_data, int in_n, int data_n, DOUBLE *in_mf_n, DOUBLE **fismatrix)
{
	int i, j, k, start;
	int rule_n, total_in_mf_n;
	char tmp_str[100];
	int out_n = 1;
	int tmp;

	rule_n = 1;
	total_in_mf_n = 0;
	for (i = 0; i < in_n; i++) {
		rule_n *= in_mf_n[i];
		total_in_mf_n += in_mf_n[i];
	}

	/* name */
	anfisString2Array(fismatrix[0], "anfis", 5);
	/* type */
	anfisString2Array(fismatrix[1], "sugeno", 6);
	/* input and output numbers */
	fismatrix[2][0] = in_n;
	fismatrix[2][1] = out_n;
	/* input MF numbers */
	for (i = 0; i < in_n; i++)
		fismatrix[3][i] = in_mf_n[i];
	/* output MF number */
	for (i = 0; i < out_n; i++)
		fismatrix[4][i] = rule_n;
	/* rule number */
	fismatrix[5][0] = rule_n;
	/* and method */
	anfisString2Array(fismatrix[6], "prod", 4);
	/* or method */
	anfisString2Array(fismatrix[7], "max", 3);
	/* imp method */
	anfisString2Array(fismatrix[8], "prod", 4);
	/* agg method */
	anfisString2Array(fismatrix[9], "max", 3);
	/* defuzz method */
	anfisString2Array(fismatrix[10], "wtaver", 6);
	/* input labels */
	start = 11;
	for (i = 0; i < in_n; i++) {
		sprintf(tmp_str, "in%d", i+1);
		anfisString2Array(fismatrix[start+i], tmp_str, 3);
	}
	/* output labels */
	start += in_n;
	for (i = 0; i < out_n; i++) {
		sprintf(tmp_str, "out%d", i+1);
		anfisString2Array(fismatrix[start+i], tmp_str, 4);
	}
	/* input bounds */
	start += out_n;
	for (i = 0; i < in_n; i++) {
		fismatrix[start+i][0] =
			anfisMatrixColLimit(trn_data, i, data_n, "min");
		fismatrix[start+i][1] =
			anfisMatrixColLimit(trn_data, i, data_n, "max");
	}
	/* output bounds */
	start += in_n;
	for (i = 0; i < out_n; i++) {
		fismatrix[start+i][0] =
			anfisMatrixColLimit(trn_data, in_n+i, data_n, "min");
		fismatrix[start+i][1] =
			anfisMatrixColLimit(trn_data, in_n+i, data_n, "max");
	}
	/* input MF labels */
	start += out_n;
	for (i = 0; i < in_n; i++)
		for (j = 0; j < in_mf_n[i]; j++) {
			sprintf(tmp_str, "in%dmf%d", i+1, j+1);
			anfisString2Array(fismatrix[start], tmp_str, 6);
			start++;
		}
	/* output MF labels */
	for (i = 0; i < out_n; i++)
		for (j = 0; j < rule_n; j++) {
			sprintf(tmp_str, "out%dmf%d", i+1, j+1);
			anfisString2Array(fismatrix[start], tmp_str, 7);
			start++;
		}
	/* input MF types */
	for (i = 0; i < in_n; i++)
		for (j = 0; j < in_mf_n[i]; j++) {
			anfisString2Array(fismatrix[start], "gbellmf", 7);
			start++;
		}
	/* output MF types */
	for (i = 0; i < out_n; i++)
		for (j = 0; j < rule_n; j++) {
			anfisString2Array(fismatrix[start], "linear", 6);
			start++;
		}
	/* input MF parameters */
	for (i = 0; i < in_n; i++) {
		DOUBLE min = anfisMatrixColLimit(trn_data, i, data_n, "min");
		DOUBLE max = anfisMatrixColLimit(trn_data, i, data_n, "max");
		DOUBLE range = max - min;
		DOUBLE a = range/(2*in_mf_n[i]-2);
		DOUBLE b = 2.0;
		DOUBLE c;
		for (j = 0; j < in_mf_n[i]; j++) {
			c = min + j*range/(in_mf_n[i]-1);
			fismatrix[start][0] = a;
			fismatrix[start][1] = b;
			fismatrix[start][2] = c;
			start++;
		}
	}
	/* output MF parameters */
	/* output MF parameters are set at zeros */
	start += rule_n;
	/* rule list */
	for (i = 0; i < rule_n; i++) {
		tmp = i;
		for (j = in_n-1; j >= 0; j--) {
			fismatrix[start][j] = 
				(tmp % (int)in_mf_n[j]) + 1;
			tmp = (int)(tmp/in_mf_n[j]);
		}
		fismatrix[start][in_n] = i+1;
		fismatrix[start][in_n+1] = 1;
		fismatrix[start][in_n+2] = 1;
		start++;
	}
}

/* transfer parameters from fis data structure to a fismatrix */
static void
anfisFis2FisMat(FIS *fis, DOUBLE **fismatrix)
{
	int i, j, k;
	int in_n = fis->in_n;
	int out_n = fis->out_n;
	int total_in_mf_n = fis->total_in_mf_n;
	int rule_n = fis->rule_n;
	int start = 11+2*in_n+2*out_n+2*total_in_mf_n+2*rule_n;

	for (i = 0; i < in_n; i++)
		for (j = 0; j < fis->input[i]->mf_n; j++) {
			for (k = 0; k < 4; k++)
				fismatrix[start][k] =
					fis->input[i]->mf[j]->params[k];
			start++;
		}
	for (i = 0; i < rule_n; i++) {
		for (j = 0; j < in_n+1; j++)
			fismatrix[start][j] = fis->output[0]->mf[i]->params[j];
		start++;
	}
}

/* transfer parameters from anfis data structure to a fismatrix */
/* flag == 0 --> get parameter from fis->trn_best_para */
/* flag != 0 --> get parameter from fis->chk_best_para */
static void
anfisAnfis2FisMat(FIS *fis, DOUBLE **fismatrix, int flag)
{
	int i, j, k;
	int in_n = fis->in_n;
	int out_n = fis->out_n;
	int total_in_mf_n = fis->total_in_mf_n;
	int rule_n = fis->rule_n;
	int start = 11+2*in_n+2*out_n+2*total_in_mf_n+2*rule_n;
	int tmp;
	char *mf_type;
	DOUBLE *source;

	source = flag == 0? fis->trn_best_para:fis->chk_best_para;

	tmp = 0;
        for (i = 0; i < fis->in_n; i++)
                for (j = 0; j < fis->input[i]->mf_n; j++) {
                        mf_type = fis->input[i]->mf[j]->type;
                        for (k = 0; k < fisGetMfParaN(mf_type); k++)
				fismatrix[start][k] = source[tmp++];
			start++;
                }

        /* copy output parameters */
        for (i = 0; i < fis->out_n; i++) {
                for (j = 0; j < fis->output[i]->mf_n; j++) {
                        for (k = 0; k < fis->in_n+1; k++)
				fismatrix[start][k] = source[tmp++];
			start++;
                }
        }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜精品久久久久久久99水蜜桃 | 欧美一区二区三区免费| 日韩三级伦理片妻子的秘密按摩| 国产午夜一区二区三区| 亚洲一区二区高清| 国产精品一区二区在线观看不卡 | 欧美videos大乳护士334| 国产精品久久三| 日韩电影在线免费| 91黄色免费版| 国产精品欧美经典| 久久国产精品99久久久久久老狼| 91久久国产综合久久| 日韩一级欧美一级| 夜夜亚洲天天久久| 成人午夜电影网站| 国产成人精品www牛牛影视| 欧美日韩一区二区在线视频| 精品国产免费一区二区三区香蕉| 国产精品国产三级国产aⅴ原创 | 国产精品亚洲午夜一区二区三区| 91视频一区二区| 精品久久人人做人人爰| 一区二区三区蜜桃网| 国产精品一区二区久久精品爱涩| 欧美日韩视频在线观看一区二区三区| 国产欧美一区二区精品秋霞影院| 香蕉影视欧美成人| av一二三不卡影片| 欧美mv日韩mv亚洲| 亚洲成av人**亚洲成av**| 成人午夜免费视频| 精品国产伦理网| 日本视频免费一区| 欧美在线播放高清精品| 国产精品第一页第二页第三页| 久久精品国产秦先生| 欧美老女人第四色| 一区二区三区日韩欧美精品| 粉嫩av一区二区三区| 久久午夜羞羞影院免费观看| 日韩成人精品在线观看| 欧美日韩一区小说| 亚洲一区在线播放| 色婷婷综合久久久久中文 | 天使萌一区二区三区免费观看| 国产麻豆一精品一av一免费| 欧美日韩午夜在线视频| 国产精品国产精品国产专区不片| 国产在线麻豆精品观看| 精品入口麻豆88视频| 蜜桃精品在线观看| 日韩无一区二区| 极品少妇一区二区| 精品久久久久久久久久久久久久久 | 久久在线观看免费| 国产一区二区久久| 欧美国产日韩精品免费观看| 国产精品影视天天线| 久久精品一区蜜桃臀影院| 国产精品正在播放| 国产精品久久久久桃色tv| 国产剧情一区二区| 日韩欧美国产午夜精品| 美女视频一区在线观看| 337p粉嫩大胆噜噜噜噜噜91av | 国产精品亚洲视频| 久久久久久久久蜜桃| 精品无人码麻豆乱码1区2区| 国产日产欧美一区二区视频| 成人av片在线观看| 一区二区三区日韩欧美| 88在线观看91蜜桃国自产| 久久99精品久久久久久国产越南 | 国产精品第五页| 成人免费毛片app| 亚洲同性同志一二三专区| 91猫先生在线| 午夜激情一区二区三区| 欧美日韩免费电影| 亚洲妇女屁股眼交7| 欧美一区二区三区婷婷月色| 国产精品18久久久久久久久久久久 | 波多野结衣中文字幕一区二区三区 | 亚洲女同女同女同女同女同69| 成人国产免费视频| 亚洲欧美日韩中文播放| 欧美网站一区二区| 男男视频亚洲欧美| 精品国产一区a| 成人av集中营| 日韩一区精品字幕| 久久久欧美精品sm网站| 91看片淫黄大片一级在线观看| 亚洲成人中文在线| 国产日韩亚洲欧美综合| 欧美亚州韩日在线看免费版国语版| 日本va欧美va欧美va精品| 国产精品美女久久久久久| 欧美日韩在线观看一区二区| 国产成人夜色高潮福利影视| 偷拍日韩校园综合在线| 国产精品久久久久9999吃药| 日韩美一区二区三区| 日本韩国精品在线| 国产精品亚洲专一区二区三区| 国产精品丝袜一区| 日韩久久精品一区| 欧美日本一道本| 色偷偷成人一区二区三区91| 日本不卡视频一二三区| 亚洲一区二区美女| ㊣最新国产の精品bt伙计久久| 精品国产免费一区二区三区香蕉| 在线看不卡av| 91在线观看一区二区| 国产最新精品精品你懂的| 亚洲成人三级小说| 亚洲精选在线视频| 日韩理论电影院| 中文字幕亚洲一区二区av在线| 精品噜噜噜噜久久久久久久久试看| 欧美三电影在线| 99re这里都是精品| 国产成人精品影视| 裸体在线国模精品偷拍| 天天色天天爱天天射综合| 亚洲女人****多毛耸耸8| 国产精品福利一区二区三区| 国产精品女主播av| 国产精品女同互慰在线看| 国产欧美日韩一区二区三区在线观看 | 欧美日韩高清一区二区三区| 色哟哟欧美精品| 国产精品影视天天线| 国产综合一区二区| 琪琪一区二区三区| 蜜桃av一区二区在线观看| 日本一道高清亚洲日美韩| 日本不卡在线视频| 奇米精品一区二区三区在线观看 | 亚洲日本欧美天堂| 国产精品天天摸av网| 久久你懂得1024| wwww国产精品欧美| 日韩精品在线一区| 精品国产91亚洲一区二区三区婷婷 | 国产精品国产精品国产专区不片| 国产精品久久久久久久久晋中 | 亚洲国产精品一区二区尤物区| 亚洲国产另类av| 日韩精品电影一区亚洲| 麻豆精品精品国产自在97香蕉| 青青草国产成人99久久| 国精产品一区一区三区mba视频| 成人国产精品免费| 色八戒一区二区三区| 91麻豆精品国产91久久久使用方法| 日韩欧美国产一区二区在线播放| 国产欧美综合在线| 亚洲精品综合在线| 日韩不卡免费视频| 国产精一区二区三区| 91影院在线免费观看| 在线电影院国产精品| 国产日产欧美精品一区二区三区| 亚洲日本在线天堂| 五月激情综合网| 粉嫩13p一区二区三区| 91精品1区2区| 亚洲精品在线一区二区| 亚洲女子a中天字幕| 美女网站一区二区| a美女胸又www黄视频久久| 欧美三级日韩三级国产三级| 国产拍揄自揄精品视频麻豆 | 26uuu国产一区二区三区| 国产精品第一页第二页第三页| 婷婷成人综合网| www.成人网.com| 日韩美女视频一区二区在线观看| 综合av第一页| 国产一区在线不卡| 欧美色欧美亚洲另类二区| 欧美精品一区二区久久婷婷| 亚洲另类中文字| 成人国产免费视频| 欧美成人vps| 亚洲三级理论片| 国产精品夜夜嗨| 日韩精品一区二区三区老鸭窝| 亚洲精品伦理在线| 久久国产生活片100| 欧美二区三区91| 日韩精品一区第一页| 欧美精品乱码久久久久久| 亚洲成人中文在线| 欧美日韩国产一二三| 日韩中文字幕区一区有砖一区 | 九九热在线视频观看这里只有精品|