BP网络逼近函数方法

BP网络逼近函数方法

ID:39453796

大小:48.48 KB

页数:3页

时间:2019-07-03

BP网络逼近函数方法_第1页
BP网络逼近函数方法_第2页
BP网络逼近函数方法_第3页
资源描述:

《BP网络逼近函数方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、BP网络逼近函数方法题目:使用BP网络逼近对象y(k)=u(k)3+y(k-1)/(1+2y(k-1)2),采样时间取2ms,输入信号为u(k)=0.5sin(2πt)。解答:本题采用matlab编写程序,其编程思路是:(1)将时间轴范围定为从0秒到1秒,每隔2ms采样一次,即增加时间间隔为0.002,计算y值,根据点值画出要逼近函数的图像;(2)用newff()函数建立二层BP神经网络,隐层神经元数目设为10,输出层有一个神经元,选择隐层和输出层神经元传递函数分别为tansig()和purelin(),网络训练用trainlm,建立起初始网络后,用sim()函数观察网络输出,同时绘

2、制输出曲线,并与原函数比较;(3)设置训练参数,将学习速率定为0.05,最大迭代次数定为100,训练精度设为0.000001用train()函数对网络进行训练,训练后绘制曲线,并与原函数比较。具体程序如下:p=0:0.002:1;y(1)=(0.5*sin(2*pi*0))^3;fori=2:501y(i)=(0.5*sin(2*pi*(i-1)*0.002))^3+y(i-1)/(1+2*(y(i-1))^2);endplot(p,y,'o');title('要逼近的函数');xlabel('时间');ylabel('逼近函数');net=newff(minmax(p),[10,1

3、],{'tansig','purelin'},'trainlm');%建立BP网络结构y1=sim(net,p);figureplot(p,y,'bo',p,y1,'r-');title('未训练网络的输出结果')xlabel('时间');ylabel('仿真输出-原函数o');net.trainParam.lr=0.05;%学习速率为0.05net.trainParam.epochs=100;%设定最大迭代次数为100net.trainParam.goal=0.000001;%设定训练误差目标位0.000001[net,tr]=train(net,p,y);y2=sim(net,p

4、);plot(p,y,'bo',p,y2,'r-');title('训练后网络的输出结果')xlabel('时间');ylabel('仿真输出-原函数o');程序出图如下:所要逼近的函数图像:未训练的初始网络输出结果(红线)和原函数图像(蓝线):训练后的网络输出结果(红线)和原函数图像(蓝线):从最后一图中可看出网络输出结果与原函数图形一致,逼近效果很好。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。