matlab实现二元函数BP网络,m文件实现bp神经网络逼近二元函数

本文通过MATLAB代码实现了一个二元函数BP神经网络,用于逼近sin(pi*x1)*cos(pi*x2)函数。通过初始化权重和阈值,设定学习速率和误差阈值,利用梯度下降法进行训练,最终展示BP神经网络逼近函数的图像及误差分布。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

clc

clear

close all

x1=-1:0.01:1;                               %生成训练数据x

x2=-1:0.01:1;

[X1,X2]=meshgrid(x1,x2);

yd=sin(pi*X1).*cos(pi*X2);

figure;

mesh(X1,X2,yd);

title('标准sin(pi*x1)*cos(pi*x2)图像');

hold on;

Input=2;

HideLayer=5;

Output=1;

%权值及阈值初始化

w1=rands(HideLayer,Input);%隐含层的权值和阈值

b1=rands(HideLayer,1);

w2=rands(Output,HideLayer);%输出层的权值和阈值

b2=rands(Output,1);

% dw1=zeros(HideLayer,Input);

% dw2=zeros(Output,HideLayer);

error = 0.01;%误差阈值

xite=0.3;         %学习速率

M=201;

for m1=1:M

for m2=1:M

y=sin(pi*x1(m1))*cos(pi*x2(m2));

for k=1:50

for i=1:HideLayer%隐层的输出

HOut(i)=logsig(x1(m1)*w1(i,1)+x2(m2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值