粒子群算法優(yōu)化模糊pid_第1頁
粒子群算法優(yōu)化模糊pid_第2頁
粒子群算法優(yōu)化模糊pid_第3頁
粒子群算法優(yōu)化模糊pid_第4頁
粒子群算法優(yōu)化模糊pid_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

Gs

(Tis1)0

1

=1,,T2 .=0.3PID Kp=2,Kd=1,Kj 2

(e,ec) (P,I,D)

PIDe

[-3,3] ec [-3,3]

{NB,NM,NS,O,PS,PM,PB} {

ZS

k

NS

ZE

PS

PM

PB

FB

ZE/PM/PS

ze/pk/fs

NS/FB/ZE

W/ra/ZE

im/FS/ZE

M/PS/PS

NM/FS/NB

PK

ZE/PB/NT

ZE/PS/1IB

NS/PB/ZE

NH/PS/NS

ITB/FS/NM

M/ZE/ZE

NM/FS/WB

PS

FM/ZE/lffi

PS/ZE/WB

ZE/ZE/NM

mr/ZE/ns

im/ZE/w

W/NS/ZE

mi/ZE/mi

ZE

PB/MS/NS

FM/NS/1IS

FS/NS/NS

NS/HS/NS

O/1IS/NS

M/MS/ZE

Nffl/ZEM

NS

FB/ZE/1W

PB/ZE/HB

FIH/ZE/NM

ZE/ZE/NS

ZE/ZE

JIS/NS/Nil

NS/NSM

NK

PB/PB/Iffi

PB/PS/1IB

FM/FS/NM

PS/PS/N5

PS/FS/NS

2E/PS/W

ZE/FSM

NB

FB/PM/FS

PB/PE/FS

PHI/PB/Z

PH/ra/ZE

PS/PB/ZE

ZE/PB/FS

ZE/PH/FS

(1clearclc%%

w=0.6; %

c1=1.414; %

c2=1.623; %

Dim=5; %

SwarmSize=100; %

ObjFun=@PSO_PID;%

MaxIter=100; %

MinFit=0.01; %

Vmax=2;

Vmin=-2;

Ub=[2050111];

Lb=[00000];%%

Range=ones(SwarmSize,1)*(Ub-Lb);

Swarm=rand(SwarmSize,Dim).*Range+ones(SwarmSize,1)*Lb; %

VStep=rand(SwarmSize,Dim)*(Vmax-Vmin)+Vmin; %

fSwarm=zeros(SwarmSize,1);

fori=1:SwarmSizefSwarm(i,:)=feval(ObjFun,Swarm(i,:));

end

%% [bestf,bestindex]=min(fSwarm);

zbest=Swarm(bestindex,:);% gbest=Swarm;% fgbest=fSwarm;%

fzbest=bestf;%

%% iter=0;

y_fitness=zeros(1,MaxIter);% 4

K_p=zeros(1,MaxIter);

K_i=zeros(1,MaxIter);

K_d=zeros(1,MaxIter);

e=zeros(1,MaxIter);

ec=zeros(1,MaxIter);

while((iter<MaxIter)&&(fzbest>MinFit))

forj=1:SwarmSize% VStep(j,:)=w*VStep(j,:)+c1*rand*(gbest(j,:)-Swarm(j,:))+

c2*rand*(zbest-Swarm(j,:));

ifVStep(j,:)>Vmax,VStep(j,:)=Vmax;endifVStep(j,:)<Vmin,VStep(j,:)=Vmin;end

% Swarm(j,:)=Swarm(j,:)+VStep(j,:);

fork=1:DimifSwarm(j,k)>Ub(k),Swarm(j,k)=Ub(k);endifSwarm(j,k)<Lb(k),Swarm(j,k)=Lb(k);end

end

%fSwarm(j,:)=feval(ObjFun,Swarm(j,:));

% iffSwarm(j)<fgbest(j)gbest(j,:)=Swarm(j,:);fgbest(j)=fSwarm(j);

end

% iffSwarm(j)<fzbestzbest=Swarm(j,:);fzbest=fSwarm(j);

end

end

iter=iter+1;% y_fitness(1,iter)=fzbest;%

K_p(1,iter)=zbest(1);

K_i(1,iter)=zbest(2);

K_d(1,iter)=zbest(3);

e(1,iter)=zbest(4);

ec(1,iter)=zbest(5);

end

%%

% ITAE plot(y_fitness,'LineWidth',2)

title(' ','fontsize',18);xlabel(' ','fontsize',18);ylabel('','fontsize',18);

set(gca,'Fontsize',18);

%PID plot(K_p)

holdon

plot(K_i,'k','LineWidth',3)

title('KpKi ','fontsize',18);

xlabel(' ','fontsize',18);ylabel('','fontsize',18);set(gca,'Fontsize',18);

legend('Kp','Ki',1);

%PIDholdon

plot(ec,'k','LineWidth',3)

title('eec ','fontsize',18);

xlabel(' ','fontsize',18);ylabel(

legend('e','ec',1);

% PID

holdon

title('Kd ','fontsize',18);

xlabel(' ','fontsize',18);ylabel(

legend('Kd',1);

plot(e)

','fontsize',18);set(gca,'Fontsize',18)

plot(K_d)

','fontsize',18);set(gca,'Fontsize',18)

clear

clc

2simulnik functionz=PSO_PID(x)assignin('base','Kp',x(1));

assignin('base','Ki',x(2));

assignin('base','Kd',x(3));

assignin('base','e',x(4));

assignin('base','ec',x(5));

[t_time,x_state,y_out]=sim('pca',[0,20]);z=y_out(end,1);

3Simulink

Kp=15,=20,Kd=1,ITAE=8.8446

smithpid

pid

pid pid

pid

smithpid。

smith

8.8465,

KpKi

8.846

8.8455

8.845

8.8445u0

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論