作业帮 > 综合 > 作业

matlab神经网络用newff时出错

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/03 10:38:10
matlab神经网络用newff时出错
程序如下:
o=[58478 135185 5.46 0.23 16.5 0.21 1005.3 585.44
67884 152369 5.46 0.27 18.7 0.26 1105.6 575.03
74462 182563 6.01 0.25 21.6 0.28 1204.6 601.23
78345 201587 6.12 0.26 25.8 0.29 1316.5 627.89
82067 225689 6.21 0.26 30.5 0.31 1423.5 676.95
89403 240568 6.37 0.28 34.9 0.33 1536.2 716.32
95933 263856 6.38 0.28 39.8 0.36 1632.6 765.24
104790 285697 6.65 0.3 42.5 0.39 1753.2 812.22
116694 308765 6.65 0.3 46.7 0.41 1865.5 875.26];
t=[102569 52365 46251
124587 60821 56245
148792 69253 67362
162568 79856 78165
186592 91658 90548
205862 99635 98758
226598 109862 102564];
for j=1:8
p0(:,j)=(o(:,j)-min(o(:,j)))/(max(o(:,j))-min(o(:,j)));
end
for i=1:7
P(i,:)=p0(i,:);
end
for i=8:9
P_test(i-7,:)=p0(i,:);
end
P_test
threshold=[0 1;0 1;0 1;0 1;0 1;0 1;0 1];
net=newff(threshold,[8 3],{'tansig' 'purelin'},'trainlm');
net.trainParam.epochs=2000;
net.trainParam.goal=0.025;
LP.lr=0.01;
net=train(net,P,t);
Out=sim(net,P_test)
8个输入对应3个输出,newff中[8 3]最后总是输入或输出行列数不对,请问是哪里出的问题?
请问应该如何修改呢?
newff中的【8,3】指的是隐层、输出层神经元数,不用指出输入层神经元个数,你建立【8,3】是建立了一个8-8-3的网络.数据o的一个维是一个样本的话,输入神经网络的数据应该转置下变成列向量,即以列为一个样本.