matlab中的归一化方法

在数据处理的过程中,为了标准的统一,我们往往要对数据进行归一化。大多数人觉得这比较简单,不就是形如(x-min)/(max-min)这样么。事实上,这样想是没错的。事实上,我们使用matlab的内置函数,来进行数据的归一化,在处理大量的数据时,会节省不少的时间。有内置函数用的,尽量用内置函数,可以减少不必要的时间消耗。

举些例子来说明问题吧。

clc;clear
P=magic(4)
T=[1 2 3 4]
[Pn,minp,maxp,Tn,mint,maxt]=premnmx(P,T)%按行取最大最小且归一化到-11之间


[PN]=tramnmx(P,minp,maxp)
%此处的max min为数据按行所给的可能数据范围,不一定是所给矩阵的最值,将矩阵按行以此
%范围模入到-11之间,例如[PN]=tramnmx(5,0,10)
 [p,t] = postmnmx(P.*5,minp,maxp,Tn,mint,maxt)
 %假如P是处理后(按行)的-11之间的数,我们将其还原到标准化之前,
 %其中minp对应-1,假如P不是-11之间的,我们不加讨论



 [Y,PS]=mapminmax(T)
 %按行做归一化处理,默认是按行,单个数不做处理
 [Y,PS]=mapminmax(P,0,1)
 %按行归一化到01并返回这个映射到PS,他是个结构体
 t=mapminmax('apply',T,PS)
 %将此归一应用到其他数上,按行处理
 X=mapminmax('reverse',Y,PS)
 %反归一化过程

自己个看程序细细体会一下吧,很多多余的系统化的东西,查帮助都能找到。向来不喜欢和别人一样,系统地一点一点说下来,你也记不住,我也浪费时间。

你可能感兴趣的:(matlab中的归一化方法)