| 查看: 152 | 回复: 4 | ||
| 当前主题已经存档。 | ||
| 【悬赏金币】回答本帖问题,作者caikong将赠送您 34 个金币 | ||
caikong至尊木虫 (著名写手)
骑着火箭的蜗牛
|
[求助]
有关matlab程序调试【有效期至9月10号】
|
|
|
BP网络模型,数据如下: a=[0.25 5 8 0.05 0.05;0.5 5 8 0.05 0.05;2 5 8 0.05 0.05; 1 3 8 0.05 0.05;1 4 8 0.05 0.05;1 7 8 0.05 0.05;1 5 3 0.05 0.05;1 5 4 0.05 0.05;1 5 9 0.05 0.05;1 5 8 0.02 0.0375; 1 5 8 0.02 0.075;1 5 8 0.02 0.15;1 5 8 0.05 0.0375;1 5 8 0.05 0.075;1 5 8 0.05 0.15;1 5 8 0.05 0.225;1 5 8 0.05 0.3;1 5 8 0.1 0.075;1 5 8 0.1 0.15;1 5 8 0.1 0.3;1 5 8 0.2 0.075;1 5 8 0.2 0.15;1 5 8 0.2 0.225] b=[9;1;6;1;2;3;111;47;7;1;17;6;4;25;5;3;2;1;9;2;1;3;2;1] c=[1 5 8 0.05 0.05;1 6 8 0.05 0.05;1 5 6 0.05 0.05;1 5 8 0.02 0.3;1 5 8 0.05 0.225;1 5 8 0.1 0.225] a=a' b=b' c=c' net=newff(minmax(a),[12 1],{'tansig' 'purelin'}, 'trainlm') net.trainParam.show = 50; net.trainParam.lr = 0.001; net.trainParam.epochs = 10000; net.trainParam.goal = 1e-7; net.trainParam.min_grad = 1e-9; [net,tr]=train(net,a,b); figure y=sim(net,c) 但输入到程序里后,出现错误提示 ??? Error using ==> network.train Targets are incorrectly sized for network. Matrix must have 23 columns. 请问该怎么调试?给个切实可行的修改后的程序。 一定重谢~~ |
» 猜你喜欢
计算机、0854电子信息(085401-058412)调剂
已经有5人回复
国自然申请面上模板最新2026版出了吗?
已经有13人回复
基金委咋了?2026年的指南还没有出来?
已经有3人回复
Materials Today Chemistry审稿周期
已经有5人回复
溴的反应液脱色
已经有7人回复
推荐一本书
已经有12人回复
基金申报
已经有4人回复
纳米粒子粒径的测量
已经有7人回复
常年博士招收(双一流,工科)
已经有4人回复
有没有人能给点建议
已经有5人回复

zxh19836718
金虫 (小有名气)
- 应助: 0 (幼儿园)
- 金币: 1028.6
- 散金: 11
- 帖子: 265
- 在线: 66小时
- 虫号: 588024
- 注册: 2008-08-22
- 性别: GG
- 专业: 药物化学

2楼2008-09-07 20:10:07
beckham277
木虫 (职业作家)
- 应助: 0 (幼儿园)
- 金币: 2506.3
- 散金: 38
- 帖子: 3533
- 在线: 13.1小时
- 虫号: 581201
- 注册: 2008-07-18
- 专业: 生物化学
3楼2008-09-07 22:33:02
尘埃_bear
木虫 (正式写手)
- 应助: 1 (幼儿园)
- 金币: 3579.3
- 散金: 58
- 帖子: 681
- 在线: 143.8小时
- 虫号: 469205
- 注册: 2007-11-28
- 专业: 地理信息系统
★
caikong(金币+1,VIP+0):前面已经说出来,所以只给你一个BB
caikong(金币+1,VIP+0):前面已经说出来,所以只给你一个BB
|
楼主的b为24个数据,对应的应该是23个数据,将b调整为23个数据之后,程序能成功通过调试。 楼主可能是头几次写MATLAB程序,最好在赋值的语句后能添加一个分号“;”,这样屏幕不会显得太繁杂。以下是修改后的程序代码,楼主可以调试下,主要是修改了b的大小,将24个数据变为23个数据,楼主可以核实下实际数据情况将a与b的行列数据对应起来。 a=[0.25 5 8 0.05 0.05;0.5 5 8 0.05 0.05;2 5 8 0.05 0.05; 1 3 8 0.05 0.05;1 4 8 0.05 0.05;1 7 8 0.05 0.05;1 5 3 0.05 0.05;1 5 4 0.05 0.05;1 5 9 0.05 0.05;1 5 8 0.02 0.0375; 1 5 8 0.02 0.075;1 5 8 0.02 0.15;1 5 8 0.05 0.0375;1 5 8 0.05 0.075;1 5 8 0.05 0.15;1 5 8 0.05 0.225;1 5 8 0.05 0.3;1 5 8 0.1 0.075;1 5 8 0.1 0.15;1 5 8 0.1 0.3;1 5 8 0.2 0.075;1 5 8 0.2 0.15;1 5 8 0.2 0.225]; b=[9;1;6;1;2;3;111;47;7;1;17;6;4;25;5;3;2;1;9;2;1;3;2]; c=[1 5 8 0.05 0.05;1 6 8 0.05 0.05;1 5 6 0.05 0.05;1 5 8 0.02 0.3;1 5 8 0.05 0.225;1 5 8 0.1 0.225]; a=a'; b=b'; c=c'; net=newff(minmax(a),[12 1],{'tansig' 'purelin'}, 'trainlm'); net.trainParam.show = 50; net.trainParam.lr = 0.001; net.trainParam.epochs = 10000; net.trainParam.goal = 1e-7; net.trainParam.min_grad = 1e-9; [net,tr]=train(net,a,b); figure y=sim(net,c) 这样程序就能调试成功了,楼主试试,至于答案是不是楼主所要,就得看语句方面了,呵呵 :) |
4楼2008-09-10 12:50:26











回复此楼