控制演算法 基本定義及其實現

2021-07-10 23:07:21 字數 1257 閱讀 8630

位置式pid抗積分飽和pid

相關**(限制每次控制量輸出**)

float overintpid(float kp, float ki, float kd, float givevalue, float actualvalue)

}else if(overintresultback < 120)

}else

kpwork = kp*err;

kiwork = ki*overintpiderradd;

kdwork = kd*(err-overinterrback);

result = kpwork+kiwork+kdwork;

overinterrback = err;

overintresultback = result;

return result;

}

變積分pid實現

相關**

float changeintpid(float kp, float ki, float kd, float givevalue, float actualvalue)

else if((fabs(err)<= givevalue*0.9)&&(fabs(err)> givevalue*0.1))

else

changeintpiderradd = changeintpiderradd + errcont;

changeinterrback = err;

return result;

}

不完全微分 pid控制

參考**

float nocomdpid(float kp, float ki, float kd, float aifa, float givevalue, float actualvalue)

if(aifa < 0)

kdwork = kd*(1-aifa)*(err-errbbk)+ aifa*kdworkbbk;

result = kpwork+kiwork+kdwork;

nocomintpiderradd = nocomintpiderradd + err;

kdworkbbk = kdwork;

errbbk = err;

return result;

}

模糊邏輯及其c語言實現

神經網路及其c語言實現

遺傳演算法及其c語言實現

kmeans演算法及其實現

k 均值演算法能夠使聚類域中所有樣品到聚類中心距離平方和最小。其原理為 先取 k個初始聚類中心,計算每個樣品到這 k個中心的距離,找出最小距離,把樣品歸入最近的聚類中心,修改中心點的值為本類所有樣品的均值,再計算各個樣品到新的聚類中心的距離,重新歸類,修改新的中心點,直到新的聚類中心和上一次聚類中心...

常用排序演算法及其實現

1.插入排序 遍歷陣列 n 將每個元素插入到前面子串行的合適位置 插入時採取前面的部分元素後移,再將本元素填在適當位置的方法 模擬 12 30 9 100 1 3 10 12 30 9 100 1 3 10 9 12 30 100 1 3 10 9 12 30 100 1 3 10 1 9 12 3...

常用排序演算法及其實現

1.插入排序 遍歷陣列 n 將每個元素插入到前面子串行的合適位置 插入時採取前面的部分元素後移,再將本元素填在適當位置的方法 模擬 12 30 9 100 1 3 10 12 30 9 100 1 3 10 9 12 30 100 1 3 10 9 12 30 100 1 3 10 1 9 12 3...