《MATLAB神经网​络30案例分析》第二​章源程序newff函​数使用出错。

这个问题前一个帖子提过,具体是《MATLAB神经网络30案例分析》中第二章BP_ANN非线性回归的源程序在Matlab2012a中运行出错,逐句运行时发现出错在于newff使用上,针对这个问题,我在论坛搜索了一下,发现有若干这样的问题,而且就我所找到的帖子中问题都没有得到有效地解决,版主、牛人的回答都是:matlab版本不同使得newff对应语法不一样,需要针对性的修改newff语句。针对这样的回答,我也只能细细理解help newff下的帮助说明,但至此,新的问题出现,下面就细细说一下(有点啰嗦,大家稍等一下,关键点来了):源程序截取:
net=newff(inputn,outputn,5);
其中,inputn、outputn都是归一化后的double型,分别为2*1900、1*1900,非线性函数2个输入变量、1个输出变量,语句中的“5”指单隐层,节点5个;当然既然报错,这个语句就不符合matlab2012a版本的newff语法。下面是help newff的结果:
     newff(P,T,S) takes,
       P  - RxQ1 matrix of Q1 representative R-element input vectors.
       T  - SNxQ2 matrix of Q2 representative SN-element target vectors.
       Si  - Sizes of N-1 hidden layers, S1 to S(N-1), default = [].
             (Output layer size SN is determined from T.)
     and returns an N layer feed-forward backprop network.
针对以上帮助说明,私认为:P是Q1个输入列向量组成的矩阵,每个列向量有R个元素;对应inputn、outputn具体背景,R=2,Q1=1900,即P就是2*1900输入矩阵,这里应该没错。T是目标矩阵,由Q2个列向量组成,该列向量元素个数为SN;对应Q2应该也是1900,SN是隐层节点数,对应这里单隐层5节点,那SN=5,即T应该是5*1900矩阵,好像走入死胡同了;Si对应源程序语句中的“5”,这个简单,总不应该会错了。
在下的理解应该是错的,但不正确的理解应该是什么,所以,朋友们能否指点一下

 Accepted Answer

MATLAB R2012a我也遇到几次下面的错误:
??? Error using ==> boiler_process at 107
First argument is an unrecognized action string: defaultParam
后来发现是MATLAB的搜索路径有点问题,可能使用过程中加入了其它工具箱,这时重新恢复一下MATLAB的搜索路径:[attach]127429[/attach]

More Answers (0)

Categories

Find more on MATLAB 快速入门 in Help Center and File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!