MatLab归⼀化(正则化)函数mapminmax
语法
[Y,PS] = mapminmax(YMIN,YMAX)
[Y,PS] = mapminmax(X,FP)
Y = mapminmax('apply',X,PS)
X = mapminmax('reverse',Y,PS)
dx_dy = mapminmax('dx',X,Y,PS)
dx_dy = mapminmax('dx',X,[],PS)
name = mapminmax('name');
fp = mapminmax('pdefaults');
names = mapminmax('pnames');
remconst('pcheck',FP);
描述
mapminmax将矩阵中每⼀⾏规范化到[YMIN,YMAX]范围内。
mapminmax(X,YMIN,YMAX)中参数YMIN,YMAX是可选的。 Matlab中⽂论坛
X为N*Q的矩阵或者每⼀元素为1*TS细胞元组的N*Q的矩阵。
YMIN Y中每个⾏的最⼩值(默认为-1)
YMAX Y中每个⾏的最⼤值(默认为1) book.iLoveMatlab
返回值:
Y M*Q的矩阵(M=Q)
PS 处理过程的设置,实现对数据的⼀致处理
mapminmax(X,FP) 参数为⼀个结构:FP.ymin, FP.ymax
mapminmax('apply',X,PS) 对X根据PS中的配置做同样的规范化,返回Y
mapminmax('reverse',Y,PS) 根据规范化后的Y及PS中的配置反归⼀化,返回X
mapminmax('dx',X,Y,PS) returns the M x N x Q derivative of Y with respect to X.
mapminmax('dx',X,[],PS) returns the derivative, less efficiently.
mapminmax('name') 返回处理⽅法的名字
mapminmax('pdefaults') 返回默认的处理参数的结构
mapminmax('pdesc')返回处理参数的描述
mapminmax('pcheck',FP) 如果任意⼀个参数⾮法返回错误信息
举例
下⾯是如何规范化⼀个矩阵的过程,这个规范化将每⼀⾏的最⼩值与最⼤值映射到区间[-1,1] x1 = [1 2 4; 1 1 1; 3 2 2; 0 0 0]
[y1,PS] = mapminmax(x1)
下⼀步,对新的值应⽤同样的处理⽅法 book.iLoveMatlab
x2 = [5 2 3; 1 1 1; 6 7 3; 0 0 0]
正则化 归一化
y2 = mapminmax('apply',x2,PS)
将y1反归⼀化回x1
x1_again = mapminmax('reverse',y1,PS)
算法
mapminmax假设x的值为实数,并且每⼀⾏的元素值不相等
y = (ymax - ymin)*(x - xmin)/(xmax - xmin) + ymin;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。