代码如下:
%%
%%%使用BP神经网络逼近函数cos(x)%%%
clc;clear;
x=0:0.1:1.5;%训练样本
y=sin(x);%真实的输出值
net=newff(minmax(x),[10,1],{'logsig','logsig'});%建立bp神经网络,两个隐藏层
net.trainParam.show = 50;%每间隔50步显示一次训练结果
net.trainParam.lr = 0.01;%学习率
net.trainParam.goal = 0.0001;%训练目标最小误差0.0001
net.trainParam.epochs = 500;%最大训练次数
net=train(net,x,y);%训练样本
testx=0.01:0.1:1.51;
testy=sim(net,testx);%测试
plot(x,y,testx,testy,'r');
网络结构:
结果: