資源簡介
基于BP神經網絡的自整定PID控制仿真,經測試,可成功運行,放心下載!
代碼片段和文件信息
clear?all;
close?all;
xite=0.25;
alfa=0.02;
IN=4;
H=10;
Out=3;
wi=[?0.4634?-0.4173??0.3190??0.4563
?????0.1839??0.3021??0.1112??0.3395
????-0.3182??0.0470??0.0850?-0.0722
????-0.6266??0.0846??0.3751?-0.6900
????-0.3224??0.1440?-0.2873?-0.0193
????-0.0232?-0.0992??0.2636??0.2011
????-0.4502?-0.2928??0.0062?-0.5640
????-0.1975?-0.1332??0.1981??0.0422
?????0.0521??0.0673?-0.5546?-0.4830
????-0.6016?-0.4097??0.0338?-0.1503]
wi_1=wi;wi_2=wi;wi_3=wi;
wo=[-0.1620??0.3674??0.1959
????-0.0337?-0.1563?-0.1454
?????0.0898??0.7239??0.7605
?????0.3349??0.7683??0.4714
?????0.0215??0.5896??0.7143
????-0.0914??0.4666??0.0771
?????0.4270??0.2436??0.7026
?????0.0215??0.4400??0.1121
?????0.2566??0.2486??0.4857
?????0.0198??0.4970??0.6450];
wo_1=wo;wo_2=wo;wo_3=wo;
x=[000];
u_1=0;u_2=0;u_3=0;u_4=0;u_5=0;
y_1=0;y_2=0;y_3=0;
Oh=zeros(H1);
I=Oh;
error_2=0;
error_1=0;
ts=0.01;
for?k=1:1:600
?time(k)=k*ts;
?rin(k)=1;
?a(k)=1.2*(1-0.8*exp(-0.1*k));
?yout(k)=a(k)*y_1/(1+y_1^2)+u_1;
?error(k)=rin(k)-yout(k);
?xi=[rin(k)yout(k)error(k)1];
?x(1)=error(k)-error_1;
?x(2)=error(k);
?x(3)=error(k)-2*error_1+error_2;
?epid=[x(1);x(2);x(3)];
?I=xi*wi‘;%Middle?layer
?for?j=1:1:H????
???Oh(j)=(exp(I(j))-exp(-I(j)))/(exp(I(j))+exp(-I(j)));?
?end
?K=wo‘*Oh;%Output?layer
?for?l=1:1:Out
???K(l)=exp(K(l))/(exp(K(l))+exp(-K(l)));
?end
?
?kp(k)=K(1);
- 上一篇:十進制轉化為二進制的matlab程序
- 下一篇:ISAR 對4個點目標進行仿真成像
評論
共有 條評論