pid-pso.cpp

来自「在理解粒子群算法(PSO)前提下」· C++ 代码 · 共 35 行

CPP
35
字号
/*PID+液压调节系统PSO算法寻优*/
/*目标函数*/
/*
含未知参数Kp,Ki,Kd,Ty,Td的函数
y1(t)=Ki*t+(Kp-Ki*Ty)*(1-exp(-t/Ty))+Kd/(Td-Ty)*(exp(-t/Td)-exp(-t/Ty))
离散化后:
y1(k*dt)=Ki*k*dt+(Kp-Ki*Ty)*(1-exp(-k*dt/Ty))+Kd/(Td-Ty)*(exp(-k*dt/Td)-exp(-k*dt/Ty))

采集到的数据
Kp0=3,                    Td0=0.28,
Ki0=3,                    Ty0=0.2
Kd0=1,
y2(t)=3*t+(3-3*0.2)*(1-exp(-t/0.2))+1/(0.28-0.2)*(exp(-t/0.28)-exp(-t/0.2));
离散化后:
y2(k*dt)=3*k*dt+(3-3*0.2)*(1-exp(-k*dt/0.2))+1/(0.28-0.2)*(exp(-k*dt/0.28)-exp(-k*dt/0.2));

适应度函数:各个采样时刻的误差平方和最小
t=0:dt:T
T=n*dn
最终目标函数:
y(t)={(y1(0)-y2(0))*(y1(0)-y2(0))]+...+[(y1(n)-y2(n))*(y1(n)-y2(n))}


*/
main()
{
int i,j,k,t,total=0;
float sum=0;
for(j=0;j<50;j++)
{

}

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?