gusucode.com > 《MATLAB神经网络超级学习手册》随书光盘源码程序 > code/16/N16_3.m

    clear all
clc

k=6;
p=[-1:.05:8];
t=1+sin(k*pi/4*p);
figure (1)
plot(p,t,'-');
title('要逼近的非线性函数');
xlabel('时间');
ylabel('非线性函数');

n=5;
net = newff(minmax(p),[n,1],{'tansig' 'purelin'},'trainlm');
y1=sim(net,p);
figure (2)
plot(p,t,'-',p,y1,':')
title('未训练网络的输出结果');
xlabel('时间');
ylabel('仿真输出--原函数-');

%网络训练时间设置为40
net.trainParam.epochs=40; 
%网络训练精度设置为0.005
net.trainParam.goal=0.005;
%开始训练网络
net=train(net,p,t);

y2=sim(net,p);
figure (3)
plot(p,t,'-',p,y1,':',p,y2, '--')
title('训练后网络的输出结果');
xlabel('时间');
ylabel('仿真输出');