P=[2.50 0.11 10.40 12.60 45.5;
0.24 0.36 10.30 0.30 48.2;
1.81 0.27 11.72 11.50 46.3;
1.77 0.22 10.33 14.43 50.0;
1.75 0.23 10.40 9.80 49.9;
1.82 0.25 10.33 12.50 72.2;
1.84 0.26 10.10 11.20 18.5];
T=[0.9 0.1 0.1 0.1 0.1 0.1 0.1;
0.1 0.9 0.1 0.1 0.1 0.1 0.1;
0.1 0.1 0.9 0.1 0.1 0.1 0.1;
0.1 0.1 0.1 0.9 0.1 0.1 0.1;
0.1 0.1 0.1 0.1 0.9 0.1 0.1;
0.1 0.1 0.1 0.1 0.1 0.9 0.1;
0.1 0.1 0.1 0.1 0.1 0.1 0.9];
threshold=[0.11 45.5;0.24 48.2;0.27 46.3;0.22 50.0;
0.23 49.9;0.25 72.2;0.26 18.5];
net=newff(threshold,[11 7],{'tansig','logsig'},'trainlm');
net.trainParam.epochs=15;
net.trainParam.goal=0.01;
LP.lr=0.1;
net=train(net,P,T);
选了3层神经网络,输入层有5个输入量,故障分为7个,针对每个故障选择了一个样本,在Matlab程序执行中总是弹出
??? Error using ==> network.train
Targets are incorrectly sized for network.
Matrix must have 5 columns.
这样的对话框,本人刚接触Matlab,不太明白咋回事,希望有哪位高手帮忙解决一下,先谢过大家啦~~
求教:基于BP神经网络的Matlab故障诊断代码总是显示错误,哪位大哥帮忙给改一下吧代码在下面
答案:2 悬赏:0 手机版
解决时间 2021-03-12 07:13
- 提问者网友:wodetian
- 2021-03-11 06:55
最佳答案
- 五星知识达人网友:野慌
- 2021-03-11 07:15
P=[2.50 0.11 10.40 12.60 45.5;
0.24 0.36 10.30 0.30 48.2;
1.81 0.27 11.72 11.50 46.3;
1.77 0.22 10.33 14.43 50.0;
1.75 0.23 10.40 9.80 49.9;
1.82 0.25 10.33 12.50 72.2;
1.84 0.26 10.10 11.20 18.5];
P=P'; %转置矩阵格式就对了
T=[0.9 0.1 0.1 0.1 0.1 0.1 0.1;
0.1 0.9 0.1 0.1 0.1 0.1 0.1;
0.1 0.1 0.9 0.1 0.1 0.1 0.1;
0.1 0.1 0.1 0.9 0.1 0.1 0.1;
0.1 0.1 0.1 0.1 0.9 0.1 0.1;
0.1 0.1 0.1 0.1 0.1 0.9 0.1;
0.1 0.1 0.1 0.1 0.1 0.1 0.9];
net=newff(minmax(P),[11 7],{'tansig','logsig'},'trainlm');%这里的矩阵大小范围可用minmax
net.trainParam.epochs=15;
net.trainParam.goal=0.01;
LP.lr=0.1;
net=train(net,P,T);
0.24 0.36 10.30 0.30 48.2;
1.81 0.27 11.72 11.50 46.3;
1.77 0.22 10.33 14.43 50.0;
1.75 0.23 10.40 9.80 49.9;
1.82 0.25 10.33 12.50 72.2;
1.84 0.26 10.10 11.20 18.5];
P=P'; %转置矩阵格式就对了
T=[0.9 0.1 0.1 0.1 0.1 0.1 0.1;
0.1 0.9 0.1 0.1 0.1 0.1 0.1;
0.1 0.1 0.9 0.1 0.1 0.1 0.1;
0.1 0.1 0.1 0.9 0.1 0.1 0.1;
0.1 0.1 0.1 0.1 0.9 0.1 0.1;
0.1 0.1 0.1 0.1 0.1 0.9 0.1;
0.1 0.1 0.1 0.1 0.1 0.1 0.9];
net=newff(minmax(P),[11 7],{'tansig','logsig'},'trainlm');%这里的矩阵大小范围可用minmax
net.trainParam.epochs=15;
net.trainParam.goal=0.01;
LP.lr=0.1;
net=train(net,P,T);
全部回答
- 1楼网友:话散在刀尖上
- 2021-03-11 08:03
可以运行
你看看是不是你的版本有问题?
net =
neural network object:
architecture:
numinputs: 1
numlayers: 2
biasconnect: [1; 1]
inputconnect: [1; 0]
layerconnect: [0 0; 1 0]
outputconnect: [0 1]
numoutputs: 1 (read-only)
numinputdelays: 0 (read-only)
numlayerdelays: 0 (read-only)
subobject structures:
inputs: {1x1 cell} of inputs
layers: {2x1 cell} of layers
outputs: {1x2 cell} containing 1 output
biases: {2x1 cell} containing 2 biases
inputweights: {2x1 cell} containing 1 input weight
layerweights: {2x2 cell} containing 1 layer weight
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯