BP MATLAB建模 [pn,minp,maxp,tn,mint,maxt]=premnmx(p,t);什么意思?具体pn minp等是什么

BP神经网络模型。具体程序如下:
clc
load y1.txt
load y2.txt
load Y.txt
p=[y1;y2];
[pn,minp,maxp,tn,mint,maxt]=premnmx(p,t);
inputNums=2;
outputNums=1;
hideNums=5;
TF1='tansig'
TF2='purelin'
net=newff(minmax(pn),[hideNums,outputNums],{TF1,TF2});
上面这句为什么不写输入的NUMs

第1个回答  2013-05-31
[pn,minp,maxp,tn,mint,maxt]=premnmx(p,t);

函数作用:数据归一化到[-1,+1]区间(默认时)。
输入参数:
p:需要归一化的数据。是QxR矩阵,其中R是维数,Q是样本数。一般是输入数据。
t:需要归一化的数据。是QxR矩阵,其中R是维数,Q是样本数。一般是输出数据。
返回参数:
pn:把矩阵p归一化后的数据。
minp:是列向量,元素是矩阵p每一行的最小值。
maxp:同上,不过实最大值。
tn,mint,maxt同上。
premnmx一般和tramnmx连用,前者用于归一化,后者用于反归一化。

net=newff(minmax(pn),[hideNums,outputNums],{TF1,TF2});
上面这句为什么不写输入的NUMs
是因为输入参数minmax(pn)可以理解为输入pn的最大最小值和输入数据。,所以输入数据的nums已经包含了。
这种newff的用法是旧用法,你可以在matlab输入help newff查看新用法。本回答被提问者和网友采纳
相似回答