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

📄 object_func.m

📁 基于蚁群算法的神经网络。对神经网络算法进行优化。ANT_object_func_ant是基于神经网络的优化目标函数。Ant_ant_new是主程序
💻 M
字号:

function [error,f,forecast]=object_func(Input_Num,Hidden_Num,Output_Num,w,x,y,Sample_Num,n,fmax,line);
%t=0:0.1:10;
%y = (t + 10*sin(5*t)+7*cos(4*t))';
%x=t';
%Sample_Num=101;
%Input_Num=1;
%Hidden_Num=3;
%Output_Num=1;
%w=rands(1,6);
 %Input_Num输入层单元数
 %Hidden_Num中间层单元数
 %Output_Num输出层单元数
 %x权值向量  1*n
 %x输入值   Sample_Num*Input_Num
 %y输 出 值 Sample_Num*Output_Num
 %Sample_Num 样本量
 %n 保留几位整数位
  if n==1
      w=w./10;
  end
  if n==2
      w=w./100;
  end
 temp=Input_Num.*Hidden_Num;
 a1=w(1:temp);
 a2=w((temp+1):end);
 reshape_a1=(reshape(a1,Hidden_Num,Input_Num))';
 reshape_a2=(reshape(a2,Hidden_Num,Output_Num))';
 for i=1:Input_Num;
     for j=1:Hidden_Num;
         w1(i,j)=reshape_a1(i,j);
     end
 end
 for i=1:Output_Num;
     for j=1:Hidden_Num;
         wt2(i,j)=reshape_a2(i,j);
     end
 end
 w2=wt2';
 c=1;
 len_expectlist=ceil(max(y)-min(y));
 while (c<=Sample_Num)
     for j=1:Hidden_Num
         net=0.0;
         for i=1:Input_Num
             net=net+x(c,i)*w1(i,j);
         end
         yt(c,j)=1./(1+exp(-net));                      % 非线 性 函 数
     end
     for k=1:Output_Num
         net=0.0;
         for j=1:Hidden_Num
             net=net+yt(c,j)*w2(j,k);
         end
         if line==0
            o(c,k)=len_expectlist./(1+exp(-net));
         end
         if line==1
            o(c,k)=net; 
         end
     end
     c=c+1;
 end
 error_p=0;
 for k=1:Output_Num
     error_p=sum((y-o(:,k)).^2)+error_p;
 end
 error=sqrt((error_p)./(Output_Num.*Sample_Num));                   %需要修改
 f=exp(-error);
 %f=10-(error).^2;
 forecast=o;
 

⌨️ 快捷键说明

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