• 大小: 2KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-05-09
  • 语言: Matlab
  • 标签: 函数逼近  

资源简介

基于BP神经网络的函数逼近(不使用任何工具函数)

资源截图

代码片段和文件信息

% 基于BP神经网络对非线性函数进行逼近
tic
clear all
close all
%初始化部分

%初始化学习参数
eta=0.3;
% 初始化权值矩阵
wij=2*rand(25)-1;
wjk=2*rand(51)-1;
% 初始化阈值
thetaj=2*rand(51)-1;
thetak=2*rand(1)-1;
%设定误差标准
errstd=0.05;
errall=10;

xteach1=0:0.2*pi:2*pi;
xteach2=0:0.2*pi:2*pi;
for p=1:11
    for q=1:11
          %yteach(pq)=0.2*(sin(xteach1(q))+cos(xteach2(p)))+0.5;
          yteach(pq)= sin(xteach1(p))*cos(xteach2(q));
    end
end


while errall>=errstd  
    for p=1:11
        for q=1:11
        %取样本
        xt=[xteach1(p);xteach2(q)];
        yt=yteach(pq);
        
        %计算各层的输出,前向传播
        oi=xt;
        netj=wij‘*xt;
        oj=1./(1+exp(-(netj-thetaj)));
        netk=wjk‘*oj;
        ok=1./(1+exp(-(netk-thetak)));
        y=ok;
        
        %计算各层误差 后向传播
        deltak=(yt-y).*ok.*(1-ok);
        deltaj=wj

评论

共有 条评论