24小时热门版块排行榜    

CyRhmU.jpeg
查看: 952  |  回复: 4

若为君故*-*

新虫 (初入文坛)

[求助] matlab中老是提醒Error: Missing variable or function.是为什么呀?已有1人参与

这是我输入的程序,运算时老是显示Error: Missing variable or function.
P=[3  936.4  21814306  0  16.16  51457  31.41  13  8  0  36;
3  1707.5  24664915  0  2.02  14079  14.32  13  13  0  28;
2  960.1  10520487  1  8.46  6265  135.07  12  7  0  28;
1  774.1  16197464  0  1.53  67512  2.27  14  7  0  17;
3  35.7  414599  0  3.53  43932  8.04  8  11  0  15;
3  55.2  10755724  0  2.68  40853  6.56  13  9  0  17;
3  30.1  843251  0  2.08  34854  5.95  9  10  0  10;
3  4.1  192345  0  0.82  49128  1.68  11  8  0  4;
3  11.1  460637  1  0.07  6489  1.13  10  8  0  11;
3  24.5  5714564  0  2.61  41051  6.37  13  9  1  15;
3  23.8  262018  0  0.17  8445  2.01  10  13  0  3;
2  9.9  400529  0  1.22  24454  5  10  5  0  8;
3  9.3  93028  0  0.13  12784  0.99  9  13  0  2;
3  32.3  342482  0  0.5  13036  3.81  10  10  0  1;
2  37.8  4857318  0  5.95  46679  12.76  8  10  0  10;
3  60.4  750818  0  0.18  3855  4.56  11  15  0  15;
3  13.2  637529  0  0.25  22494  1.11  9  11  0  2;
3  271.7  2724900  0  0.2  12120  1.68  23  9  0  7;
1  1.1  269128  0  0.015  5464  0.27  15  6  0  2;
3  50.6  1545225  0  1.36  28985  4.68  10  9  0  3;
1  58  697309  0  0.05  1167  4.32  36  8  0  4;
]';
T=[29 25 27 16 19 11 9 6 3 17 5 8 4 2 14 5 0 1 4 10 4];
[p1,minp,maxp,t1,mint,maxt]=premnmx(P,T);
%创建网络
net=newff(minmax(P),[10,8,1],{'tansig','tansig','purelin'},'trainlm')

%设置训练次数
net.trainParam.epochs=50000;
%设置收敛误差
net.trainParam.goal=0.0000001;
%训练网络
[net,tr]=train(net,p1,t1);
%输入数据
a1=[3 936.4 21814306 0 17.42 54630 31.89 13 8 0 46; 
3 1707.5 24664915 0 1.86 12736 14.38 13 13 0 24;
2 960.1 10520487 1 10.36 7594 136.43 12 7 0 38;
1 774.1 16197464 0 1.45 61887 2.35 13 6 0 7;
3 35.7 414599 0 3.85 47627 8.09 9 11 0 11;
3 55.2 10755724 0 2.83 42736 6.62 12 9 0 11;
3 30.1 843251 0 2.14 34960 6.13 9 10 0 8;
3 4.1 192345 0 0.87 51590 1.69 10 8 0 6;
3 11.1 460637 1 0.075 7012 1.13 10 8 0 5; 
3 24.5 5714564 0 2.94 45603 6.45 12 9 0 29;
3 23.8 262018 0 0.2 9997 1.99 9 12 0 2;
2 9.9 400529 0 1.41 27970 5.04 9 5 0 13;
3 9.3 93028 0 0.14 13903 0.99 9 13 0 8;
3 32.3 342482 0 0.55 14423 3.8 10 10 0 2;
2 37.8 4857318 0 4.6 36194 12.71 8 10 0 7;
3 60.4 750818 0 0.13 3082 4.54 11 15 0 6;
3 13.2 637529 0 0.24 21683 1.1 9 10 0 0; 
3 271.7 2724900 0 0.21 12276 1.73 23 8 0 7;
1 1.1 269128 0 0.016 5637 0.27 14 6 0 4;
3 50.6 1545225 0 1.4 30262 4.64 9 8 0 3;
1 58 697309 0 0.06 1338 4.55 35 8 0 2;
]';
%将输入数据归一化
a1=premnmx(a1);
%放入到网络输出数据
b1=sim(net,a1);
%将得到的数据反归一化得到预测数据
c1=postmnmx(b1,mint,maxt);
c1
[sA,index] = sort(c1,'descend')
运行后就会显示:
??? ;
    |
Error: Missing variable or function.
这是为什么啊?
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sxf2012

木虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
net=newff(minmax(P),[10,8,1],{'tansig','tansig','purelin'},'trainlm')

%设置训练次数

中间一行有个中文下的分号
2楼2015-08-29 16:46:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

若为君故*-*

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by sxf2012 at 2015-08-29 16:46:51
net=newff(minmax(P),,{'tansig','tansig','purelin'},'trainlm')

%设置训练次数

中间一行有个中文下的分号

是在设置训练次数后加分号吗?
3楼2015-08-30 10:46:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sxf2012

木虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
若为君故*-*: 金币+10, ★★★很有帮助 2015-08-30 16:50:14
具体内容看不懂,仅从语法上来看的:
net=......后边要加一个分号
它下边那一行的中文分号去掉

即:
net=newff(minmax(P),[10,8,1],{'tansig','tansig','purelin'},'trainlm');

%设置训练次数
4楼2015-08-30 14:48:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

若为君故*-*

新虫 (初入文坛)

引用回帖:
4楼: Originally posted by sxf2012 at 2015-08-30 14:48:16
具体内容看不懂,仅从语法上来看的:
net=......后边要加一个分号
它下边那一行的中文分号去掉

即:
net=newff(minmax(P),,{'tansig','tansig','purelin'},'trainlm');

%设置训练次数

哦~好的
5楼2015-08-30 16:49:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 若为君故*-* 的主题更新
信息提示
请填处理意见