我是MATLAB初学者,学习BP神经网络编程,出现错误,求大神详细指导。

程序如下:clc;clear;net=newff([01],[20,7,1],{'tansig','tansig','tansig'},'trainlm');net.la... 程序如下:
clc;
clear;
net=newff([0 1],[20,7,1],{'tansig','tansig','tansig'},'trainlm');
net.layers{1}.initFcn='initwb';
net.inputWeights{1,1}.initFcn='rands';
net.biases{1,1}.initFcn='rands';
net.biases{2,1}.initFcn='rands';
net=init(net);
p=[0.12 0.32 0.57 0.29 0.95 0.39 0.58 0.62 0.54 0.03 0.60 0.58 0.78 0.09 0.11 0.41 0.62 0.85 0.26 0.35;
0.71 0.53 0.29 0.30 0.77 0.76 0.81 0.70 0.45 0.41 0.86 0.01 0.37 0.56 0.36 0.52 0.59 0.87 0.30 0.61;
0.36 0.21 0.32 0.64 0.95 0.18 0.56 0.37 0.46 0.67 0.58 0.65 0.56 0.32 0.09 0.35 0.65 0.71 0.46 0.16;
0.45 0.52 0.64 0.62 0.06 0.19 0.68 0.84 0.52 0.74 0.63 0.16 0.26 0.36 0.61 0.41 0.19 0.63 0.89 0.26;
0.87 0.52 0.46 0.23 0.35 0.73 0.54 0.24 0.27 0.66 0.37 0.56 0.04 0.34 0.61 0.54 0.88 0.74 0.37 0.51;
0.46 0.23 0.14 0.95 0.84 0.35 0.53 0.78 0.91 0.14 0.37 0.35 0.61 0.74 0.41 0.86 0.31 0.78 0.26 0.38;
0.54 0.12 0.54 0.34 0.16 0.68 0.94 0.71 0.81 0.21 0.26 0.12 0.51 0.66 0.24 0.55 0.14 0.84 0.99 0.76;
0.15 0.45 0.52 0.06 0.75 0.25 0.13 0.25 0.10 0.62 0.42 0.55 0.62 0.54 0.96 0.15 0.65 0.51 0.44 0.58;
0.51 0.31 0.97 0.84 0.12 0.77 0.15 0.25 0.46 0.16 0.87 0.26 0.34 0.38 0.94 0.27 0.14 0.37 0.76 0.49;
0.26 0.41 0.16 0.65 0.17 0.41 0.91 0.73 0.43 0.28 0.16 0.60 0.32 0.64 0.10 0.92 0.84 0.58 0.57 0.87];
a=sim(net,p);
net.biases{1,1}.learnFcn='learngd';
net.biases{2,1}.learnFcn='learngd';
net.layerWeights{2,1}.learnFcn='learngd';
net.inputWeights{1,1}.learnFcn='learngd';
net.layerWeights{2,1}.learnParam.lr=0.2;
net.adaptParam.passes=10000;
t=[0.39 0.54 0.31 0.46 0.29 0.34 0.61 0.63 0.52 0.71];
p=num2cell(p,1);
t=num2cell(t,1);
[net,a,e]=adapt(net,p,t); %adapt
a=sim(net,p)
出现如下错误:

怎么改?
展开
 我来答
百度网友db4b04636
2015-06-22 · TA获得超过2911个赞
知道小有建树答主
回答量:834
采纳率:92%
帮助的人:293万
展开全部
[net,a,e]=adapt(net,p,t); %adapt
出错
输入和输出的维度应该一致
p是20*10 t却只有7 显然匹配不上。。。
追问
t是1*10呀,我把P转置了也不行呀,那应该怎么改呢,谢谢
追答

帮助里有说明,除了元胞要尺寸和里面的的列数也要一样,所以p是必须要转置的。

输入数据还需要和net.inputs{1}.size.的大小一致。

建立网络的参数很多,保险的方法是理解net后将每一个参数都用命令行显式的表示出来。


PS:开始我说错了,7是隐藏层节点的个数,设多少只是影响结果精度,不影响是否能运行。

百度网友3c63e6c
2015-06-22 · TA获得超过2846个赞
知道大有可为答主
回答量:3829
采纳率:68%
帮助的人:2602万
展开全部
输入大小不符合。
追问
我也知道,怎么改呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式