33333333333333333333333333
1. % PSO 算法
2. % 仿真一个串级系统,并计算出绝对误差矩积分,用 PSO 算法对 PI 控制器寻优
3. clc
4. close all;
5. clear all;
6.
7. %随机初始化
8. lp=50; %循环代数
9.
10. %初始化各个粒子
11. x=rand(10,2);
12. [n,m]=size(x);
13.
14. %初始化各个粒子的第一步前进的速度
15. v=rand(size(x));
16. vmax=[1 1];
17. xmax=[5 5 ];
18. for i=1:n
19. y(i)=PsoPidForObj( x(i,1), x(i,2) ); %计算原始粒子的目标值
20. py=0;
21. end
22.
23. p=x; %原始粒子的历史最优位置既是本身
24. ymin=inf; %原始粒子中的最优值
25. k=0;
26. for i=1:n
27. if( ( ymin ) > y(i) )
28. ymin=y(i);
29. k=i;
30. end
31. end
32. g=x(k,:); %原始粒子中的最优值
33.
34.
35. c1=1.5; %常数
36. c2=1.5;
评论0