91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 1KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-26
  • 語言: 其他
  • 標簽: 模糊PID??C??

資源簡介

模糊PID調節,自己已測試,調試效果比經典PID要好。

資源截圖

代碼片段和文件信息

#include?“fuzzypid.h“

PID_STRUCT?PID_Data;

static?float?E_TABLE[]={-3-2-10123};
static?float?EC_TABLE[]={-3-2-10123};
static?float?KpTABLE[]={0.00.30.61.2};
static?float?KiTABLE[]={0.20.40.60.9};
static?float?KdTABLE[]={0.000.010.020.03};
static?char?KpRULE[7][7]=
{
3333333
2222122
1111111
1101011
0010010
0101002
3333333
};

static?char?KiRULE[7][7]=
{
0000000
0000000
0000000
0000000
0000000
2000001
3333333
};

static?char?KdRULE[7][7]=
{
3332222
2221111
1121121
1101011
1100011
2210111
3333232
};


static?float?fuzzy_kp(float?efloat?ec)
{
char?numpepec;
float?eFuzzy[2]={00};
float?ecFuzzy[2]={00};
float?KpFuzzy[4]={0};
float?Kp;

//誤差隸屬函數
if(e {
eFuzzy[0]=1.0;
pe=0;
}
else?if(e>=E_TABLE[0]&&e {
eFuzzy[0]=(E_TABLE[1]-e)/(E_TABLE[1]-E_TABLE[0]);
pe=0;
}
else?if(e>=E_TABLE[1]&&e {
eFuzzy[0]=(E_TABLE[2]-e)/(E_TABLE[2]-E_TABLE[1]);
pe=1;
}
else?if(e>=E_TABLE[2]&&e {
eFuzzy[0]=(E_TABLE[3]-e)/(E_TABLE[3]-E_TABLE[2]);
pe=2;
}
else?if(e>=E_TABLE[3]&&e {
eFuzzy[0]=(E_TABLE[4]-e)/(E_TABLE[4]-E_TABLE[3]);
pe=3;
}
else?if(e>=E_TABLE[4]&&e {
eFuzzy[0]=(E_TABLE[5]-e)/(E_TABLE[5]-E_TABLE[4]);
pe=4;
}
else?if(e>=E_TABLE[5]&&e {
eFuzzy[0]=(E_TABLE[6]-e)/(E_TABLE[6]-E_TABLE[5]);
pe=5;
}
else
{
??eFuzzy[0]=0;
pe=6;
}
eFuzzy[1]=1-eFuzzy[0];

//誤差變化率隸屬函數
if(e {
ecFuzzy[0]=1.0;
pec=0;
}
else?if(ec>=EC_TABLE[0]&&ec {
ecFuzzy[0]=(EC_TABLE[1]-ec)/(EC_TABLE[1]-EC_TABLE[0]);
pec=0;
}
else?if(ec>=EC_TABLE[1]&&ec {
ecFuzzy[0]=(EC_TABLE[2]-e)/(EC_TABLE[2]-EC_TABLE[1]);
pec=1;
}
else?if(ec>=EC_TABLE[2]&&ec {
ecFuzzy[0]=(EC_TABLE[3]-e)/(EC_TABLE[3]-EC_TABLE[2]);
pec=2;
}
else?if(ec>=EC_TABLE[3]&&ec {
ecFuzzy[0]=(EC_TABLE[4]-e)/(EC_TABLE[4]-EC_TABLE[3]);
pec=3;
}
else?if(ec>=EC_TABLE[4]&&ec {
ecFuzzy[0]=(EC_TABLE[5]-e)/(EC_TABLE[5]-EC_TABLE[4]);
pec=4;
}
else?if(ec>=EC_TABLE[5]&&ec {
ecFuzzy[0]=(EC_TABLE[6]-e)/(EC_TABLE[6]-EC_TABLE[5]);
pec=5;
}
else
{
??ecFuzzy[0]=0;
pec=6;
}
ecFuzzy[1]=1-ecFuzzy[0];

//查詢模糊表
num=KpRULE[pe][pec];
KpFuzzy[num]+=eFuzzy[0]*ecFuzzy[0];
num=KpRULE[pe][pec+1];
KpFuzzy[num]+=eFuzzy[0]*ecFuzzy[1];
num=KpRULE[pe+1][pec];
KpFuzzy[num]+=eFuzzy[1]*ecFuzzy[0];
num=KpRULE[pe+1][pec+1];
KpFuzzy[num]+=eFuzzy[1]*ecFuzzy[1];
Kp=KpFuzzy[0]*KpTABLE[0]+KpFuzzy[1]*KpTABLE[1]+KpFuzzy[2]*KpTABLE[2]+KpFuzzy[3]*KpTABLE[3];
return?Kp;
}


float?fuzzy_ki(float?efloat?ec)
{
char?numpepec;
float?eFuzzy[2]={0

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????7834??2016-12-27?19:15??FUZZPID\fuzzypid.c

?????文件????????239??2016-12-27?19:15??FUZZPID\fuzzypid.h

?????目錄??????????0??2017-01-03?13:58??FUZZPID

-----------?---------??----------?-----??----

?????????????????8073????????????????????3


評論

共有 條評論