声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 888|回复: 8

[编程技巧] 帮忙看下这个程序,谢谢:)

[复制链接]
发表于 2007-4-28 19:47 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
各位大侠:
用神经网络来学习模糊规则,代码如下:
%获得网络的输入样本P和目标样本T
P=[ 1 0.18 0 0 0 0  1 0 0 0 0;
    1 0.18 0 0 0 0  0 1 0 0 0;
    1 0.18 0 0 0 0  0 0 1 0 0;
    1 0.18 0 0 0 0  0 0 0 1 0;
    1 0.18 0 0 0 0  0 0 0 0 1;
    0.08 0.9 0.35 0 0 0  1 0 0 0 0;
    0.08 0.9 0.35 0 0 0  0 1 0 0 0;
    0.08 0.9 0.35 0 0 0  0 0 1 0 0;
    0.08 0.9 0.35 0 0 0  0 0 0 1 0;
    0.08 0.9 0.35 0 0 0  0 0 0 0 1;
    0 0.02 0.6 0.6 0.02 0  1 0 0 0 0;
    0 0.02 0.6 0.6 0.02 0  0 1 0 0 0;
    0 0.02 0.6 0.6 0.02 0  0 0 1 0 0;
    0 0.02 0.6 0.6 0.02 0  0 0 0 1 0;
    0 0.02 0.6 0.6 0.02 0  0 0 0 0 1;
    0 0 0 0.35 0.9 0.08  1 0 0 0 0;
    0 0 0 0.35 0.9 0.08  0 1 0 0 0;
    0 0 0 0.35 0.9 0.08  0 0 1 0 0;
    0 0 0 0.35 0.9 0.08  0 0 0 1 0;
    0 0 0 0.35 0.9 0.08  0 0 0 0 1;
    0 0 0 0 0.2 1  1 0 0 0 0;
    0 0 0 0 0.2 1  0 1 0 0 0;
    0 0 0 0 0.2 1  0 0 1 0 0;
    0 0 0 0 0.2 1  0 0 0 1 0;
    0 0 0 0 0.2 1  0 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),[23,7],{'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 0  1 0 0 0 0;
                                 |
Error: Missing variable or function.
请问,怎么回事?
谢谢!!
回复
分享到:

使用道具 举报

发表于 2007-4-28 20:44 | 显示全部楼层
原帖由 mlzhang327 于 2007-4-28 19:47 发表
各位大侠:
用神经网络来学习模糊规则,代码如下:
%获得网络的输入样本P和目标样本T
P=[ 1 0.18 0 0 0 0  1 0 0 0 0;
    1 0.18 0 0 0 0  0 1 0 0 0;
    1 0.18 0 0 0 0  0 0 1 0 0;
    1 0.18 0  ...


一个语句没有完成时,用省略号(三个点)结尾
 楼主| 发表于 2007-4-28 21:36 | 显示全部楼层
原帖由 eight 于 2007-4-28 20:44 发表


一个语句没有完成时,用省略号(三个点)结尾




:@o 不懂,能不能再详细点。

怎么改???
发表于 2007-4-28 22:20 | 显示全部楼层
原帖由 mlzhang327 于 2007-4-28 21:36 发表




:@o 不懂,能不能再详细点。

怎么改???



看错了,是分号问题,请保持英文状态下输入标点符号
发表于 2007-4-29 09:09 | 显示全部楼层
除了分号问题(输入法不对),
“plot(1:16,x)”这句横坐标长度也要修改。
我运行了一下,程序基本没什么大问题,可以收敛。

评分

1

查看全部评分

发表于 2007-4-29 12:56 | 显示全部楼层
输入法看上去就不太对
 楼主| 发表于 2007-4-29 13:15 | 显示全部楼层
谢谢各位:)

输入法我已经改过了,可又出现了新的错误.....

??? 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 编辑 ]
发表于 2007-4-29 13:36 | 显示全部楼层
原帖由 mlzhang327 于 2007-4-29 13:15 发表
谢谢各位:)

输入法我已经改过了,可又出现了新的错误.....

??? Error using ==> network.train
Targets are incorrectly sized for network.
Matrix must have 7 rows.

Error in ==> fzynnOn ...



rows是行的意思。。。。。。。。
 楼主| 发表于 2007-4-29 13:39 | 显示全部楼层
非常谢谢!!!

我转置了一下,可以运行了!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-12 12:29 , Processed in 0.065471 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表