《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”,这个简单,总不应该会错了。
在下的理解应该是错的,但不正确的理解应该是什么,所以,朋友们能否指点一下

 Respuesta aceptada

0 votos

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

Más respuestas (0)

Categorías

Más información sobre MATLAB 快速入门 en Centro de ayuda y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!