newff函数只是初始化一个神经网络,之后还得用train函数训练,训练好的net就是你要的网络。
newff函数的格式为:
net=newff(PR,[S1 S2 ...SN],{TF1 TF2...TFN},BTF,BLF,PF),函数newff建立一个可训练的前馈网络。输入参数说明:
PR:Rx2的矩阵以定义R个输入向量的最小值和最大值;
Si:第i层神经元个数;
TFi:第i层的传递函数,默认函数为tansig函数;
BTF:训练函数,默认函数为trainlm函数;
BLF:权值/阀值学习函数,默认函数为learngdm函数;
PF:性能函数,默认函数为mse函数。
net=newff(minmax(p),[3,5,4],{'tansig','purelin','logsig'},'trainlm')net.trainParam.goal= 0.00001
net.trainParam.epochs= 10000
net= train(net,p,t)
Y=sim(net,p)
隐含层数通常取输入层数的1.2~1.5倍,但隐含层数增加相对训练效果会好些。
输出结果是根据你的T决定的,你这个如果训练效果好的话输出值的和就为1。
3层,这是newff的旧语法,现在已经改了。旧语法要求写出输出层的节点数。
net=newff(input,output,[3],{'tansig','purelin'},'traingd')
新语法不要求写出输出层的节点数。