plotbp.m

来自「此包含有遗传算法、粒子群算法、BP算法优化对角递归神经网络的MATLAB程序」· M 代码 · 共 52 行

M
52
字号



xj=zeros(17,1);
xj_1=xj;
Pj=0*xj;
Qij=0*wi; 
yo=0;
xitei=0.35; 
xited=0.35; 
xiteo=0.35;
%for k2 = 1:100
for k=1:200
    Ini = SM(k,:)';
    for j=1:17
        for i=1:8
        sj(j)=Ini'*wi(:,j)+wd(j)*xj_1(j);
    
        xj(j)=(1-exp(-sj(j)))/(1+exp(-sj(j)));
    
        Pj(j)=wo(j)*(1+xj(j))*(1-xj(j))*xj_1(j);
  
         Qij(i,j)=wo(j)*(1+xj(j))*(1-xj(j))*Ini(i);
    
        yo=yo+xj(j)*wo(j);
     y(k)=yo;
    e(k) =  O(k) - y(k);  
    e1(k)=e(k)*e(k);
     [y1]=postmnmx(y,2.55,3.08);
     [O1(k)]=postmnmx(O(k),2.55,3.08);
     mste(k)=sum(abs(O1(k)-y1(k))/(k*O1(k))); %求平均相对误差
     disp([k mste(k)]);                 %显示平均相对误差
     wo(j) = wo(j) + xiteo * e(k)*xj(j) ;
     wd(j) = wd(j) + xited * e(k)*Pj(j);
     wi(i,j) = wi(i,j) + xitei * e(k)*Qij(i,j) ;   
        end 
    end
  end  
%end
 
 
 [O1]=postmnmx(O,2.55,3.08);
 subplot(211),plot([1:200],O1,'r',[1:200],y1,'-g');
xlabel('样本');
ylabel('melt flow rate');
title('BP算法');
legend('实际曲线','网络输出');
grid
subplot(212),plot(mste);
xlabel('样本');
ylabel('平均相对误差');

⌨️ 快捷键说明

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