|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
大家好!我最近才刚开始研究神经网络这方面,所以有甚多东西不是很熟悉,我编了很简单的小程序,但不知道为什么程序总是报错,说输入或目标的维数不正确,,想请各位达人帮忙看一下。小弟不胜感激,在这里先谢过了。现将程序附在下面,请指教。
%输入为四种情况故障特征,每种特征有三组数据,每组数据由四个特征值,可以随便拿一组试一试
P=[ avenor(1,1) avenor(1,2) avenor(1,3) avenor(1,4);
avenor(2,1) avenor(2,2) avenor(2,3) avenor(2,4);
avenor(3,1) avenor(3,2) avenor(3,3) avenor(3,4);
aveball(1,1) aveball(1,2) aveball(1,3) aveball(1,4);
aveball(2,1) aveball(2,2) aveball(2,3) aveball(2,4);
aveball(3,1) aveball(3,2) aveball(3,3) aveball(3,4);
aveinner(1,1) aveinner(1,2) aveinner(1,3) aveinner(1,4);
aveinner(2,1) aveinner(2,2) aveinner(2,3) aveinner(2,4);
aveinner(3,1) aveinner(3,2) aveinner(3,3) aveinner(3,4);
aveouter(1,1) aveouter(1,2) aveouter(1,3) aveouter(1,4);
aveouter(2,1) aveouter(2,2) aveouter(2,3) aveouter(2,4);
aveouter(3,1) aveouter(3,2) aveouter(3,3) aveouter(3,4)]';
%目标向量的输入,不知道正确与否。
T=[ 0 0 0 1;0 0 0 1;0 0 0 1;0 0 0 1;
0 0 1 0;0 0 1 0;0 0 1 0;0 0 1 0;
0 1 0 0;0 1 0 0;0 1 0 0;0 1 0 0;
1 0 0 0;1 0 0 0;1 0 0 0;1 0 0 0]';
%输入向量的最大值和最小值
% threshold=[0 10;0 10;0 10;0 10;0 10;0 10;0 10;0 10;0 10;0 10;0 10;0 10];
threshold=[0 10;0 10;0 10;0 10];
net=newff(threshold,[25,4],{'tansig','logsig'},'trainlm');
%训练次数为1000,训练目标为0.01,学习速率为0.1
net.trainParam.epochs=1000;
net.trainParam.goal=0.01;
LP.lr=0.1;
net=train(net,P,T);
%测试数据
P_test=[avetest(1,1) avetest(1,2) avetest(1,3) avetest(1,4);
avetest(2,1) avetest(2,2) avetest(2,3) avetest(2,4);
avetest(3,1) avetest(3,2) avetest(3,3) avetest(3,4)];
Y=sim(net,P_test); |
|