基于bp神经网络逼近函数

基于bp神经网络逼近函数

ID:28799809

大小:125.54 KB

页数:4页

时间:2018-12-14

基于bp神经网络逼近函数_第1页
基于bp神经网络逼近函数_第2页
基于bp神经网络逼近函数_第3页
基于bp神经网络逼近函数_第4页
资源描述:

《基于bp神经网络逼近函数》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、用神经网络拟合一个非线性函数姓名:李海浪班级:10级自动化3班学号:P1018134791.基于BP神经网络逼近函数假设频率参数k=1,绘制要逼近的非线性函数的曲线。函数的曲线如图1所示.MATLAB程序如下:k=1;p=[0:0.05:10];t=sin(k*pi/4*p);plot(p,t);title('要逼近的正弦函数');xlabel('时间');ylabel(正弦波函数');图1要逼近的正弦函数曲线1.建立网络应用newff()函数建立BP网络结构。隐层神经元数目n可以改变,暂设为n=3,输出层有一个神经元。选择隐层和输出层神经元传递函数分别为tansig函数

2、和purelin函数,网络训练的算法采用Levenberg–Marquardt算法trainlm。NATLAB程序如下:n=3;net=newff(minmax(p),[n,1],{'tansig''purelin'},'trainlm');y1=sim(net,p);figure;plot(p,t,'-',p,y1,':')title('未训练网络的输出结果');xlabel('时间');ylabel('仿真输出--原函数');同时绘制网络输出曲线,并与原函数相比较,结果如图2所示。图2未训练网络的输出结果“”代表要逼近的非线性函数曲线;“‥‥”代表未经训练的函数曲线;

3、因为使用newff()函数建立函数网络时,权值和阈值的初始化是随机的,所以网络输出结构很差,根本达不到函数逼近的目的,每次运行的结果也有时不同。3.网络训练应用train()函数对网络进行训练之前,需要预先设置网络训练参数。将训练时间设置为50,训练精度设置为0.01,其余参数使用缺省值。训练后得到的误差变化过程如图3所示。图3训练过程net.trainParam.epochs=50;net.trainParam.goal=0.01;net=train(net,p,t);TRAINLM-calcjx,Epoch0/50,MSE9.27774/0.01,Gradient13

4、.3122/1e-010TRAINLM-calcjx,Epoch3/50,MSE0.00127047/0.01,Gradient0.0337555/1e-010TRAINLM,Performancegoalmet.从以上结果可以看出,网络训练速度很快,经过一次循环跌送过程就达到了要求的精度0.01。4.网络测试对于训练好的网络进行仿真:MATLAB程序如下:y2=sim(net,p);figure;plot(p,t,'-',p,y1,':',p,y2,'--')title('训练后网络的输出结果');xlabel('时间');ylabel('仿真输出');绘制网络输出曲线

5、,并与原始非线性函数曲线以及未训练网络的输出结果曲线相比较,比较出来的结果如图4所示。图4训练后网络的输出结果“”代表要逼近的非线性函数曲线;“‥‥‥”代表未经训练的函数曲线;“―――”代表经过训练的函数曲线;从图中可以看出,得到的曲线和原始的非线性函数曲线很接近。这说明经过训练后,BP网络对非线性函数的逼近效果比较好。

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

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

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