⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gadecod_test.m

📁 用遗传算法优化小波神经网络
💻 M
字号:
% 将遗传算法的编码分解为BP网络所对应的权值、阈值

function [W1, shift_b1, W2, scale_a1, P, T, A1, A2, SE, val]=gadecod_test(x)

[P,T,R,S1,S2,S,Q]=nninit_test;     %%%%%%%%%%%%%   修改
% 前R*S1个编码为W1
 for i=1:S1,
    for k=1:R,
      W1(i,k)=x(R*(i-1)+k);
    end
end
% 接着的S1*S2个编码(即第R*S1个后的编码)为W2
for i=1:S2,
   for k=1:S1,
      W2(i,k)=x(S1*(i-1)+k+R*S1);
   end
end
% 接着的S1个编码(即第R*S1+S1*S2个后的编码)为 shift_b1
for k=1:S1,
  shift_b1(k,1)=x((R*S1+S1*S2)+k);
end
% 接着的S1个编码(即第R*S1+S1*S2+S1个后的编码)为scale_a1
for k=1:S1,
  scale_a1(k,1)=x((R*S1+S1*S2+S1)+k);
end
% 计算S1与S2层的输出
r=W1*P;  Q=length(P);
for j =1:Q                      %%%%  所有的样本组
   for i=1:S1                   %%%%  每一组样本的输出 每列
 A1(i,j)=hfun(r(i,j),shift_b1(i),scale_a1(i) );
  % A1(j)= hfun(r(j),b1(j),a1(j)); 
   end
end
A2=W2*A1;
%A2=sigmoid(A2);

% 计算误差平方和
SE=sumsqr(T-A2);
val=1/SE; % 遗传算法的适应值

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -