%输入样本
P=-1:0.1:1;
T=[-0.96 0.577 -0.0729 0.377 0.641 0.66 0.461 0.1336 0.201 -0.434 -0.5 -0.393 -0.1647 0.0988 0.3072 0.396 0.3449 0.1816 -0.0312 -0.2183 -0.3201];
%创建一个BP神经网络,每一个输入向量的取值范围为[-1 ,1],隐含层有5个神经元,输出层
%有一个神经元,隐含层的激活函数为tansig,输出层的激活函数为logsig,训练函数为梯度下
%降函数,即2.3.2节中所描述的标准学习算法
net=newff([-1 1],[5,1],{'tansig','tansig'},'traingd');
%可以改变训练步数为3000、5000、10000来查看网络的训练结果
net.trainParam.epochs=10000;
%目标误差设为0.01
net.trainParam.goal=0.01
%设置学习速率为0.1
LP.lr=0.1;
net=train(net,P,T);
% 有-------标记间的部分为拟合函数时的程序y=sim(net,P);
figure
hndl1=plot(P,y);
%设置线宽为2
set(hndl1,'linewidth',2);
%设置线的颜色为红色
set(hndl1,'color','red');
hold on
hndl2=plot(P,T);
set(hndl2,'linewidth',2);
%设置图形标题
title('BP神经网络逼近非线性函数的MATLAB实现');
%设置图例
legend('BP神经网络逼近非线性函数','原数据')
% 测试数据
P2=-1:0.05:1;
%测试部分
ytest=sim(net,P2);
figure
hndl1=plot(P2,ytest);
%设置线宽为2
set(hndl1,'linewidth',2);
%设置线的颜色为绿色
set(hndl1,'color','green');
hold on
hndl2=plot(P,T);
set(hndl2,'linewidth',2);
%设置图形标题
title('BP神经网络逼近非线性函数的MATLAB实现');
%设置图例
legend('BP神经网络逼近非线性函数','原数据')
老是出现 Error in ==> D:\matlab\Matlab6p5portable\bin\win32\Untitled4.m
On line 7 ==> net=newff([-1 1],[5,1],{'tansig','tansig'},'traingd');的错误
------解决方案--------------------------------------------------------
在我这6.5版的完全没问题,能运行啊。
是不是隐藏了全角的空格?把那行删了重新输看看。