matlab中BP神经网络程序

clearall%p1,p2是训练样本p1=[657680748076827876807981787273;808287808586858279897477607068;... clear all
%p1,p2是训练样本
p1=[65 76 80 74 80 76 82 78 76 80 79 81 78 72 73;
80 82 87 80 85 86 85 82 79 89 74 77 60 70 68;
98 90 80 86 75 70 78 80 82 84 76 72 60 75 62;
55 60 63 57 59 49 42 40 45 42 30 39 35 30 25;
43 60 65 36 39 30 34 45 44 47 35 39 25 40 30;
86 90 90 93 87 84 75 85 87 85 70 82 79 78 79;
88 83 90 89 80 80 85.6 90 92 86 70 75 69 70 72;
90 92 95 95 88 80 82 88 87 90 75 76 82 80 80;
95 97 96 97 90 87 80 89 86 88 80 78 80 86 88;
92 94 80 84 88 84 80 92 90 88 85 82 79 84 85];
p2=[0 0 0.8601 0;
0 0 0.7491 0.0033;
0 0 0.7328 0.1237;
0 0.6238 0.0489 0;
0 0.8400 0.0522 0;
0 0 0.5347 0.9354;
0 0 0.5311 0.1833;
0 0 0.3615 0.3348;
0 0 0.3578 0.4412;
0 0 0.2895 0.3620];
pr=minmax(p1;p2)';
%创建一个前向反馈后向传播神经网络-即BP神经网络
net=newff(pr,[5,4],{'tansig','sigmoid'},'trainrp');
%设置训练参数
net.trainParam.lr = 0.05;
net.trainParam.goal = 0.0001;
net.trainParam.epochs = 5000;
%训练网络
net = train(net,p,goal);
x=[50 62 65 57 60 49 44 40 48 42 25 45 35 36 23;
80 86 69 67 79 89 80 83 85 88 90 99 95 88 85;
%测试训练结果y
y1=sim(net,p)

其中的错误是?????
展开
 我来答
tybtch
2013-03-28 · TA获得超过933个赞
知道小有建树答主
回答量:495
采纳率:100%
帮助的人:126万
展开全部
给你修改了一下,请参考:
clear all
%p1,p2是训练样本
p1=[65 76 80 74 80 76 82 78 76 80 79 81 78 72 73;
80 82 87 80 85 86 85 82 79 89 74 77 60 70 68;
98 90 80 86 75 70 78 80 82 84 76 72 60 75 62;
55 60 63 57 59 49 42 40 45 42 30 39 35 30 25;
43 60 65 36 39 30 34 45 44 47 35 39 25 40 30;
86 90 90 93 87 84 75 85 87 85 70 82 79 78 79;
88 83 90 89 80 80 85.6 90 92 86 70 75 69 70 72;
90 92 95 95 88 80 82 88 87 90 75 76 82 80 80;
95 97 96 97 90 87 80 89 86 88 80 78 80 86 88;
92 94 80 84 88 84 80 92 90 88 85 82 79 84 85];
p2=[0 0 0.8601 0;
0 0 0.7491 0.0033;
0 0 0.7328 0.1237;
0 0.6238 0.0489 0;
0 0.8400 0.0522 0;
0 0 0.5347 0.9354;
0 0 0.5311 0.1833;
0 0 0.3615 0.3348;
0 0 0.3578 0.4412;
0 0 0.2895 0.3620];
pr1=minmax(p1);
pr2=minmax(p2);
%创建一个前向反馈后向传播神经网络-即BP神经网络
net=newff(pr1,pr2,[5,4],{'tansig','purelin'},'trainrp');
%设置训练参数
net.trainParam.lr = 0.05;
net.trainParam.goal = 0.0001;
net.trainParam.epochs = 5000;
%训练网络
net = train(net,pr1,pr2);
x=[50 62 65 57 60 49 44 40 48 42 25 45 35 36 23;
80 86 69 67 79 89 80 83 85 88 90 99 95 88 85];
%测试训练结果y
y1=sim(net,pr1);
追问
非常感谢。
虽然出结果了,但是不是我想要的结果。可能是我输出数据写的不对,其实我的输出节点是四个,但是我不知道怎么设置了。其实是用作评价等级用的,一共四个等级。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式