帮忙看下这个程序,谢谢:)
各位大侠:用神经网络来学习模糊规则,代码如下:
%获得网络的输入样本P和目标样本T
P=[ 1 0.18 0 0 0 01 0 0 0 0;
1 0.18 0 0 0 00 1 0 0 0;
1 0.18 0 0 0 00 0 1 0 0;
1 0.18 0 0 0 00 0 0 1 0;
1 0.18 0 0 0 00 0 0 0 1;
0.08 0.9 0.35 0 0 01 0 0 0 0;
0.08 0.9 0.35 0 0 00 1 0 0 0;
0.08 0.9 0.35 0 0 00 0 1 0 0;
0.08 0.9 0.35 0 0 00 0 0 1 0;
0.08 0.9 0.35 0 0 00 0 0 0 1;
0 0.02 0.6 0.6 0.02 01 0 0 0 0;
0 0.02 0.6 0.6 0.02 00 1 0 0 0;
0 0.02 0.6 0.6 0.02 00 0 1 0 0;
0 0.02 0.6 0.6 0.02 00 0 0 1 0;
0 0.02 0.6 0.6 0.02 00 0 0 0 1;
0 0 0 0.35 0.9 0.081 0 0 0 0;
0 0 0 0.35 0.9 0.080 1 0 0 0;
0 0 0 0.35 0.9 0.080 0 1 0 0;
0 0 0 0.35 0.9 0.080 0 0 1 0;
0 0 0 0.35 0.9 0.080 0 0 0 1;
0 0 0 0 0.2 11 0 0 0 0;
0 0 0 0 0.2 10 1 0 0 0;
0 0 0 0 0.2 10 0 1 0 0;
0 0 0 0 0.2 10 0 0 1 0;
0 0 0 0 0.2 10 0 0 0 1;];
T=[ 0 0 0 0 1 0 0;
0 0 0 0 1 0 0;
0 0 0 0 0 1 0;
0 0 0 0 0 0 1;
0 0 0 0 0 0 1;
0 0 0 1 0 0 0;
0 0 0 0 1 0 0;
0 0 0 0 0 1 0;
0 0 0 0 0 1 0;
0 0 0 0 0 0 1;
0 1 0 0 0 0 0;
0 1 0 0 0 0 0;
0 0 0 1 0 0 0;
0 0 0 1 0 0 0;
0 0 0 0 1 0 0;
1 0 0 0 0 0 0;
0 0 1 0 0 0 0;
0 0 1 0 0 0 0;
0 1 0 0 0 0 0;
0 0 0 1 0 0 0;
1 0 0 0 0 0 0;
1 0 0 0 0 0 0;
0 0 1 0 0 0 0;
0 1 0 0 0 0 0;
0 1 0 0 0 0 0;];
%根据Kolmogorov定理,由输入层有11个结点,所以中间层有23个结点
%中间层神经元的传递函数为tansig
%输出层有7个结点,其神经元传递函数为logsig
%训练函数采用traingdx
net=newff(minmax(P),,{'tansig','logsig'},'traingdx');
%训练步数为1000次
%训练目标误差为0.001
net.trainParam.epochs=1000;
net.trainParam.goal=0.001;
net=train(net,P,T);
Y=sim(net,P);
%求训练值在每一个点上的误差
for i=1:25
x(i)=norm(Y(:,i));
end
plot(1:16,x);
运行后,出现如下错误
??? P=[ 1 0.18 0 0 0 01 0 0 0 0;
|
Error: Missing variable or function.
请问,怎么回事?
谢谢!! 原帖由 mlzhang327 于 2007-4-28 19:47 发表 http://forum.vibunion.com/forum/images/common/back.gif
各位大侠:
用神经网络来学习模糊规则,代码如下:
%获得网络的输入样本P和目标样本T
P=[ 1 0.18 0 0 0 01 0 0 0 0;
1 0.18 0 0 0 00 1 0 0 0;
1 0.18 0 0 0 00 0 1 0 0;
1 0.18 0...
一个语句没有完成时,用省略号(三个点)结尾 原帖由 eight 于 2007-4-28 20:44 发表 http://forum.vibunion.com/forum/images/common/back.gif
一个语句没有完成时,用省略号(三个点)结尾
:@o 不懂,能不能再详细点。
怎么改??? 原帖由 mlzhang327 于 2007-4-28 21:36 发表 http://forum.vibunion.com/forum/images/common/back.gif
:@o 不懂,能不能再详细点。
怎么改???
看错了,是分号问题,请保持英文状态下输入标点符号 除了分号问题(输入法不对),
“plot(1:16,x)”这句横坐标长度也要修改。
我运行了一下,程序基本没什么大问题,可以收敛。 输入法看上去就不太对 谢谢各位:)
输入法我已经改过了,可又出现了新的错误.....
??? Error using ==> network.train
Targets are incorrectly sized for network.
Matrix must have 7 rows.
Error in ==> fzynnOnramp at 61
net=train(net,P,T);
Matrix must have 7 rows这是什么意思??我的目标矩阵是7列呀.....
net=train(net,P,T);这个语句有错吗??
再次感谢!!
[ 本帖最后由 mlzhang327 于 2007-4-29 13:19 编辑 ] 原帖由 mlzhang327 于 2007-4-29 13:15 发表 http://forum.vibunion.com/forum/images/common/back.gif
谢谢各位:)
输入法我已经改过了,可又出现了新的错误.....
??? Error using ==> network.train
Targets are incorrectly sized for network.
Matrix must have 7 rows.
Error in ==> fzynnOn ...
rows是行的意思。。。。。。。。 非常谢谢!!!
我转置了一下,可以运行了!
页:
[1]