ppbear321 发表于 2009-8-12 13:20

神经网络MATLAB实现

%获得网络的输入样本P和目标样本T
P=[1 0.6 0.1 0 0 0 0   1 0.5 0 0 0 0 0;
1 0.6 0.1 0 0 0 0   0 0.5 1 0.4 0 0 0;
1 0.6 0.1 0 0 0 0   0 0 0 0.4 1 0.6 0;
1 0.6 0.1 0 0 0 0   0 0 0 0 0 0 0.8;
0 0.6 0.6 0 0 0 0   1 0.5 0 0 0 0 0;
0 0.6 0.6 0 0 0 0   0 0.5 1 0.4 0 0 0;
0 0.6 0.6 0 0 0 0   0 0 0 0.4 1 0.6 0;
0 0.6 0.6 0 0 0 0   0 0 0 0 0 0 0.8;
0 0 0.6 1 0 0 0    1 0.5 0 0 0 0 0;
0 0 0.6 1 0 0 0    0 0.5 1 0.4 0 0 0;
0 0 0.6 1 0 0 0    0 0 0 0.4 1 0.6 0;
0 0 0.6 1 0 0 0    0 0 0 0 0 0 0.8;
0 0 0 0 1 0.6 0    1 0.5 0 0 0 0 0;
0 0 0 0 1 0.6 0    0 0.5 1 0.4 0 0 0;
0 0 0 0 1 0.6 0    0 0 0 0.4 1 0.6 0;
0 0 0 0 1 0.6 0    0 0 0 0 0 0 0.8]';
T=[1 0.5 0 0 0 0 0 0;
0 0 0 0.2 0.6 1 0.6 0.2;
0 0 0 0.2 0.6 1 0.6 0.2;
0 0 0 0.2 0.6 1 0.6 0.2;
0.4 0.8 1 0.8 0.4 0.2 0 0;
0 0 0 0.2 0.6 1 0.6 0.2;
0 0 0 0 0 0.2 0.5 0.8;
0 0 0 0.2 0.6 1 0.6 0.2;
0 0 0 0.2 0.6 1 0.6 0.2;
0 0 0 0.2 0.6 1 0.6 0.2;
0 0 0 0 0 0.2 0.5 0.8;
0 0 0 0 0 0.2 0.5 0.8;
0 0 0 0.2 0.6 1 0.6 0.2;
0 0 0 0.2 0.6 1 0.6 0.2;
0 0 0 0 0 0.2 0.5 0.8;
0 0 0 0 0 0.2 0.5 0.8]';
%根据Kolmogorov定理,输入层有14个节点,所以中间层有29个节点
%中间层神经元的传递函数为'tansig'
%输出层有8个节点,其神经元传递函数为logsig
%训练函数采用traingdx
net=newff(minmax(P),,{'tansig','logsig'},'traingdx');
%训练步数为1000次
%训练目标误差为0.001
net.trainParam.epochs=1000;
net.trainParam.goal=0.001;
net=train(net,P,T);
Y=sim(net,P);
%求训练值在每一个点上的误差
for i=1:16
    x(i)=norm(Y(:,i));
end
plot(1:16,x);

baofuguang 发表于 2009-8-15 09:44

好东西共享(MATLAB--神经网络)http://www.madio.cn/mcm/viewthread.php?tid=30494&extra=

zengtao880724 发表于 2009-8-26 16:07

好东西哦,谢谢,继续~

civilstar 发表于 2010-3-25 10:09

好东东,谢谢楼主,嘿嘿。。。。

xuchangshou0604 发表于 2010-4-11 10:15

好东东,谢谢楼主,嘿嘿。。。。

347196468 发表于 2010-8-14 21:12

谢谢啊,挺好的
页: [1]
查看完整版本: 神经网络MATLAB实现