|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
不好意思哦,大家的贴我找了半天还是没能解决问题,所以我又发上来了。要是又发错地方了就请版主
删掉吧,谢谢。
:'(再次恳求大家帮我看看我这段matlab的程序错在哪儿了,谢谢!!!
请帮我看看下面到底哪里错了,万万分感谢!
BP神经网络的训练样本如下:
T1=[0.95 0.88 1.00 0.85 0.98 0.99 0.89]
T2=[0.96 0.85 0.96 0.85 0.87 0.65 0.72]
T3=[0.71 0.86 0.94 0.92 0.94 0.96 0.85]
T4=[0.88 0.80 0.63 0.77 0.79 0.55 0.7]
T5=[0.84 0.96 0.95 0.84 0.83 0.91 0.95]
T6=[0.85 0.93 0.46 0.35 0.85 0.7 0.74]]
样本输出值为:
FT1=[0 0 0 1]
FT2=[0 0 0.1 0.9]
FT3=[0 0 0.7 0.3]
FT4=[0 0.15 0.85 0]
FT5=[0 0 0.4 0.6]
FT6=[0 0.6 0.4 0]
我想用有7个输入节点,5个中间结点,4个输出节点的3层BP神经网络来训练上面的样本,运行后老出现
下面的错误:
??? Error using ==> network/train
Inputs are incorrectly sized for network.
Matrix must have 1 rows.
Error in ==> D:\Matlab Project\evaluate.m
On line 31 ==> [net,tr]=train(net,P,T);
我总觉得是我的输入样本初始化的不对,但是又不知道怎么改了。
我的代码如下:
function evaluate()
clc
%是否P和T写的有问题?
p=[ 0.95 0.88 1.00 0.85 0.98 0.99 0.89;
0.96 0.85 0.96 0.85 0.87 0.65 0.72;
0.71 0.86 0.94 0.92 0.94 0.96 0.85;
0.88 0.80 0.63 0.77 0.79 0.55 0.7;
0.84 0.96 0.95 0.84 0.83 0.91 0.95;
0.85 0.93 0.46 0.35 0.85 0.7 0.74];
T=[0 0 0 1;0 0 0.1 0.9;0 0 0.7 0.3; 0 0.15 0.85 0;0 0 0.4 0.6;0 0.6 0.4 0];
P=[p(:,1);p(:,2);p(:,3);p(:,4);p(:,5);p(:,6);p(:,7)]
net=newff([0 1],[7 5 4],{'tansig','logsig','purelin'},'traingdm');
inputWeights=net.IW{1,1}
inputbias=net.b{1}
layerWeights=net.LW{2,1}
layerbias=net.b{2}
net.trainParam.show=50;
net.trainParam.lr=0.05;
net.trainParam.mc=0.5;
net.trainParam.epochs=1000;
net.trainParam.goal=1e-3;
[net,tr]=train(net,P,T);
A=sim(net,P)
E=T-A
MSE=mse(E)
[net,tr]=train(net,P,T);
[ 本帖最后由 eight 于 2007-7-28 21:56 编辑 ] |
|