✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

​智能优化算法​​​       ​​神经网络预测​​​       ​​雷达通信 ​​​      ​​无线传感器​​​        ​​电力系统​

​信号处理​​​              ​​图像处理​​​               ​​路径规划​​​       ​​元胞自动机​​​        ​​无人机 ​

⛄ 内容介绍

由于单隐层的前馈神经网络可以实现对任意非线性函数的映射,所以前馈神经网络(FNN)被广泛的用于函数逼近和分类等问题.BP算法在最优值附近的局部范围内可以较快地搜索到最优值,因此被广泛的应用于FNN的训练

【FNN预测】基于Jaya优化JAYA前馈神经网络FNN研究附Matlab代码_神经网络

⛄ 部分代码

%% JAYA algorithms

function [BestCost,BestValue,XTarget]=CLJAYA(fhd,nPop,nVar,VarMin,VarMax,MaxIt)

%%Input parameters

%%fhd----------------objective function

%%nPop---------------population size 

%%nVar---------------the number of variables

%%VarMin-------------the lower boundaries of variables

%%VarMin-------------the upper boundaries of variables

%%MaxIt--------------the maximum number of iterations

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%Output parameters

%%BestCost-----------convergence curve

%%BestValue----------the optimal fitness value

%%XTarget------------the optimal solution

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

for i=1:nPop

    X(i,:)=VarMin+(VarMax-VarMin).*rand(1,nVar); 

end

for i=1:nPop

    f(i) = fhd(X(i,:));

end

%%  Main Loop

gen=1;

[BestCost(1),ind]=min(f);

XTarget=X(ind,:);

while(gen+1 <= MaxIt)

    [row,col]=size(X);

    [t,tindex]=min(f);

    Best=X(tindex,:);

    [w,windex]=max(f);

    worst=X(windex,:);

    xnew=zeros(row,col);

    for i=1:row

        a=randperm(nPop,1);

        b=randperm(nPop,1);

        while a==b | a==i |b==i

            a=randperm(nPop,1);

            b=randperm(nPop,1);

        end

        fi=rand;

        if fi<=1/3

            xnew(i,:)=(X(i,:))+randn.*(Best-abs(X(i,:)))-randn.*(worst-abs(X(i,:)));  %

        elseif fi>=2/3

            xnew(i,:)=X(i,:)+rand(1,nVar).*(Best-(X(i,:)))+rand(1,nVar).*(X(a,:)-X(b,:));

        else

            xnew(i,:)=(X(i,:))+randn.*(Best-abs(X(i,:)))-randn.*(mean(X)-abs(X(i,:)));

        end

    end

    for i=1:row

        xnew(i,:) = max(min(xnew(i,:),VarMax),VarMin);

        fnew(i) = fhd(xnew(i,:));

    end

    for i=1:nPop

        if(fnew(i)<f(i))

            X(i,:) = xnew(i,:);

            f(i) = fnew(i);

        end

    end

    gen = gen+1;

    [BestCost(gen),ind]=min(f);

    XTarget=X(ind,:);

end

BestValue=min(f);

%%

end

⛄ 运行结果

【FNN预测】基于Jaya优化JAYA前馈神经网络FNN研究附Matlab代码_神经网络_02

⛄ 参考文献

[1]李荣. 基于MATLAB及FNN的高性能混凝土强度预测及配合比设计应用研究[D]. 宁夏大学, 2009.

[2]高敏, 郭业才, 杨超. 基于正交小波变换的前馈神经网络盲均衡算法[J]. Journal of Terahertz Science and Electronic Information Technology, 2022(4).

⛳️ 完整代码

❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料