Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
 
 
主题工具 显示模式
旧 2008-06-15, 21:13   #1
jin123
初级会员
 
注册日期: 2008-06-06
年龄: 50
帖子: 4
声望力: 0
jin123 正向着好的方向发展
默认 [文章]第一次使用matlab的一个小小收获

我刚下载matlab7,学了几天基本数学运算,然后第一次用来运行一个小程序,便有所收获。
这个小程序是在一本《神经网络实用教程》(普通高等教育“十一五”规划教材)上,照书上键入如下程序:

p=[0.5152 0.8173 1.0000;
0.8173 1.0000 0.7308;
1.0000 0.7308 0.1390;
0.7308 0.1390 0.1087;
0.1390 0.1087 0.3520;
0.1087 0.3520 0.0000;]
t=[0.7308 0.1390 0.1087 0.3520 0.0000 0.3761]
net=newff([0 1;0 1;0 1],[4,1],{'tansig','logsig'},'traingd');
net.trainparam.epochs=15000;
net.trainparam.goal=0.01;
lp.lr=0.1;
net=train(net,p,t);

检查无误后运行便出错:

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

Error in ==> Untitled12 at 13
net=train(net,p,t);

我没学过英语,借用字典大概知道错误是说,网络输入错误,矩阵必须要有三行。错在程序Untitled12的第13行,即net=train(net,p,t); 。但不知道如何修改,好在我对神经网络有点基础,于是查神经网络的输入数据。从net=newff([0 1;0 1;0 1],[4,1],{'tansig','logsig'},'traingd'); 知
程序上建立的神经网络输入层是三个单元,即由([0 1;0 1;0 1] 看出,但是程序输入是6个数据,即 0.5152 0.8173 1.0000 0.7308 0.1390 0.1087 ,于是进一步检查发现程序中的p 矩阵 P= [ ] 没有转置,当加以转置后,即p=[ ] ’ ,然后运行,高兴地看到程序顺利地通过了,并得到了正确结果。绘出了一幅曲线图。
这个小问题对于matlab高手来说,只是鸡毛蒜皮的东西,而对我来说却是个大收获。
jin123 当前离线   回复时引用此帖
 

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码


相似的主题
主题 主题作者 版面 回复 最后发表
【求助】MATLAB椭圆检测的程序! dashan MATLAB论坛 1 2007-07-10 10:34


所有时间均为北京时间。现在的时间是 12:20


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.