Draw
%function
J=draw(individual)
load
best
zbest
individual=zbest;
%
函数功能:画出最优粒子对应的各种图形
%
individual
输入
粒子
%
fitness
输出
适应度值
w11=reshape(individual(1:6),3,2);
w12=reshape(individual(7:12),3,2);
w13=reshape(individual(13:18),3,2);
w21=individual(19:27);
w22=individual(28:36);
w23=individual(37:45);
rate1=0.006;rate2=0.001;
%
学习率
k=0.3;K=3;
y_1=zeros(3,1);y_2=y_1;y_3=y_2;
%
输出值
u_1=zeros(3,1);u_2=u_1;u_3=u_2;
%
控制率
h1i=zeros(3,1);h1i_1=h1i;
%
第一个控制量
h2i=zeros(3,1);h2i_1=h2i;
%
第二个控制量
h3i=zeros(3,1);h3i_1=h3i;
%
第三个空置量
x1i=zeros(3,1);x2i=x1i;x3i=x2i;x1i_1=x1i;x2i_1=x2i;x3i_1=x3i;
%
隐含层输出
%
权值初始化
k0=0.03;
%
值限定
ynmax=1;ynmin=-1;
%
系统输出值限定
xpmax=1;xpmin=-1;
%P
节点输出限定
qimax=1;qimin=-1;
%I
节点输出限定
qdmax=1;qdmin=-1;
%D
节点输出限定
uhmax=1;uhmin=-1;
%
输出结果限定
for
k=1:1:200
%--------------------------------
网络前向计算
--------------------------
%
系统输出
y1(k)=(0.4*y_1(1)+u_1(1)/(1+u_1(1)^2)+0.2*u_1(1)^3+0.5*u_1(2))+0.3*y_1(2);
y2(k)=(0.2*y_1(2)+u_1(2)/(1+u_1(2)^2)+0.4*u_1(2)^3+0.2*u_1(1))+0.3*y_1(3);
y3(k)=(0.3*y_1(3)+u_1(3)/(1+u_1(3)^2)+0.4*u_1(3)^3+0.4*u_1(2))+0.3*y_1(1);