📄 pid-pso.cpp
字号:
/*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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -