BP神经网络非线性拟合,MATLAB工具箱实现

小微 科技BP神经网络非线性拟合,MATLAB工具箱实现已关闭评论102字数 818阅读模式
摘要案例背景在工程应用中经常会遇到一些复杂的非线性系统,这些系统状态方程复杂,难以用数学方法准确建模。在这种情况下,可以建立BP神经网络表达这些非线性系统。该方法把未知系统看成一个黑箱...

案例背景

在工程利用中时常会遇到一些繁杂的非线性系统,这些系统状况方程繁杂,难以用数学办法准确建模。在这类情况下,可以树立BP神经网络表达这些非线性系统。该办法把未知系统看成一个黑箱,首先用系统输入输出数据训练神经网络,是网络能够表达函数,然后就能够用训练好的BP神经网络预测系统输出。文章源自微观生活(93wg.com)微观生活-https://93wg.com/4727.html

举例拟合的非线性函数为文章源自微观生活(93wg.com)微观生活-https://93wg.com/4727.html

z=X^2+y^2文章源自微观生活(93wg.com)微观生活-https://93wg.com/4727.html

函数图象为:文章源自微观生活(93wg.com)微观生活-https://93wg.com/4727.html

clc,clear文章源自微观生活(93wg.com)微观生活-https://93wg.com/4727.html

x=-5:0.01:5;文章源自微观生活(93wg.com)微观生活-https://93wg.com/4727.html

[x,y]=meshgrid;文章源自微观生活(93wg.com)微观生活-https://93wg.com/4727.html

z=x.^2+y.^2;文章源自微观生活(93wg.com)微观生活-https://93wg.com/4727.html

mesh文章源自微观生活(93wg.com)微观生活-https://93wg.com/4727.html

应用MATLAB自带的工具箱实现,贴一下代码:文章源自微观生活(93wg.com)微观生活-https://93wg.com/4727.html

x1=unifrnd;

x2=unifrnd;

y=x1.^2+x2.^2;

input=[x1\',x2\'];

output=y\';

k=rand;

[m,n]=sort;

input_train=input,:)\';

output_train=output,:)\';

input_test=input,:)\';

output_test=output,:)\';

%训练数据归一化

[inputn,inputs]=mapminmax;

[outputn,outputs]=mapminmax;

%bp神经网络构建

net=newff;

%网络配置参数

net.trainParam.epochs=100;

net.trainParam.lr=0.1;

net.trainParam.goal=0.00004;

%train

net=train;

%预测数据归一化

inputn_test=mapminmax;

%bp神经网络预测输出

an=sim;

%输出数据反归一化

BPoutput=mapminmax;

figure

plot

legend

hold on

plot

legend

结果:

在迭代次数十次左右就已经到达了精度请求;

可以看出拟合结果无比好,预测输出以及实际值基本重合。

以上就是微观生活(93wg.com)关于“BP神经网络非线性拟合,MATLAB工具箱实现”的详细内容,希望对大家有所帮助!

继续阅读
 
小微
  • 版权声明: 本文部分文字与图片资源来自于网络,转载此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们(管理员邮箱:81118366@qq.com),情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!
  • 转载请务必保留本文链接:https://93wg.com/4727.html