资源简介

运用差分进化算法(DE)优化分数阶pid控制器

资源截图

代码片段和文件信息

clear all
clc
NP=50
D=3
F=0.8
CR=0.9
eps=1e-9
gen_max=30
ObjFun = @DE_FOPID;
count=1
hbound=[20 2 20]
lbound=[0 0 0]
for i=1:NP
x(i1)=20*rand
x(i2)=2*rand
x(i3)=20*rand
x(i4)=1.5*rand
x(i5)=1.5*rand

end
clear i
for i = 1:NP
    f(i:) = feval(ObjFunx(i:)); 
%     f(i)=mbf_pso(x(i:));%每一个粒子的适应度,即为目标函数值。
end
pbx = x;%初值即为个体极值
pbf = f;
[gbf i] = min(pbf);%全局最小值
gbx = pbx(i:);%
while(counteps
    for i=1:NP
        while 2>1
            a=floor(rand*NP)+1;
            if a~=i
                break;
            end
        end
        while 2>1
            b=floor(rand*NP)+1;
            if b~=i&b~=a
                break;
            end
        end
        while 2>1
            c=floor(rand*NP)+1;
         

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1903  2014-04-25 10:05  DE.m

     文件        227  2014-04-25 10:05  DE_FOPID.m

     文件      30973  2014-04-01 19:53  FOPID.mdl

----------- ---------  ---------- -----  ----

                33103                    3


评论

共有 条评论