?? main.c
字號:
//e的論域為[-13,13];ec論域為[-3,3];輸出U的論域為[-20,20];
#include <hidef.h> /* common defines and macros */
#include <MC9S12XS128.h> /* derivative information */
#pragma LINK_INFO DERIVATIVE "mc9s12xs128"
char DFC_tbl[6][6]={ //Fuzzy control inqury form
/* -6 -5 -4 -3 -2 -1 0 +1 +2 +3 +4 +5 +6 */
/*-6*/ 6, 5, 6, 5, 6, 6, 4, 4, 3, 2, 1, 1, 0,
/*-5*/ 6, 5, 5, 5, 5, 5, 5, 4, 3, 3, 2, 1, 0,
/*-4*/ 6, 5, 6, 5, 6, 5, 5, 4, 4, 2, 1, 0, 0,
/*-3*/ 5, 5, 5, 5, 5, 5, 4, 4, 3, 3, 1, 0, -1,
/*-2*/ 5, 4, 4, 3, 3, 3, 2, 0, 0, -2, -2, -3, -3,
/*-1*/ 4, 4, 4, 4, 3, 3, 0, 0, -2, -3, -3, -4, -4,
/* 0*/ 4, 4, 3, 3, 3, 0, 0, 0, -1, -3, -3, -3, -5,
/*+1*/ 3, 3, 3, 1, 0, 0, 0, -3, -3, -4, -4, -5, -5,
/*+2*/ 3, 2, 2, 2, 0, 0, -2, -3, -3, -3, -4, -5, -5,
/*+3*/ 2, 1, 0, 0, -1, -3, -3, -4, -4, -4, -5, -5, -5,
/*+4*/ 0, 0, 0, -2, -3, -3, -4, -4, -5, -5, -5, -6, -6,
/*+5*/ 0, 0, -1, -3, -3, -3, -5, -5, -5, -5, -5, -6, -6,
/*+6*/ 0, 0, -2, -3, -3, -4, -4, -5, -5, -6, -6, -6, -6
};
int e,ec,u;
float Ke=2.17,Kec=0.5,Ku=3.33;
int Get_FuzzyValue(int e,int ec) {
e=e/Ke;ec=ec/Kec;
if(e>13) e=13;
if(e<-13) e=-13;
if(ec>3) e=3;
if(ec<-3) e=-3;
u=DFC_tbl[e][ec];
u=u*Ku;
}
void main(void) {
/* put your own code here */
EnableInterrupts;
for(;;) {} /* wait forever */
/* please make sure that you never leave this function */
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -