首页 > 编程知识 正文

matlab归一化函数,归一化matlab代码

时间:2023-05-03 23:40:11 阅读:11770 作者:3687

规范化是指在处理需要处理的数据后,将其限制在所需的范围内(通过某种算法)。 首先正规化是为了便于后面的数据处理,其次是为了保证程序执行时的收敛速度。

mapminmax函数

此函数将矩阵的每一行转换为[-1 1]. [y1,PS]=mapminmax(x1 )。 这里,x1的结果是需要一次化的矩阵y1。

函数接口:

[Y,PS ]=最大最大值(x ) ]

[Y,PS ]=最大最小(x,FP ) )。

y=map minmax ((‘apply’,x,PS ) ) ) )。

x=最大最小值(‘reverse’,y,PS ) )。

算法原理:

假设x只有有限的实数值,并且每行的元素都不相等。 如果有相同的元素,例如xt=[1 1 1]的行,此时xmax=xmin=1,此时的变换为y=ymin,matlab内部就可以这样解决.否则应该除以0,没有意义!

y=(ymax-ymin ) (*(x-xmin )/)/(xmax-xmin ) ymin; 特殊情况: y=ymin; http://www.Sina.com/http://www.Sina.com /

x1=[ 1,2,3 ]; [y,PS]=mapminmax(x1 );

x1=[1 2 3],从图中可以看出,对于x1,xmin=1,xmax=3; ymax=1,ymin=-1

采用该映射f:2*(x-xmin )/(xmax-xmin ) (-1 )。

y(1)=2*(1-1)/(3-1) )-1 )=-1;

y(2)=2*(2-1)/(3-1) (-1 )=0;

y(3)=2*(3-1)/(3-1) )-1 )=1;

上面算法的映射函数中,案例1:特殊情况可以自己设置。 默认值为- 1,1。

案例2:验证映射

ps.ymin=0; x1=[1 2 3]; [y,PS ]=最大最小(x 1,PS ) )。

y(1)=(1-0) ) (1-1)/(3-1)0=0;ymin,和ymax是参数

如果对x1=[1 2 3]采用某种归一化方式,现在对x2=[4 5 6]采用相同的归一化方式[相同的映射]。 可以做到以下:

即,x1所采用的归一化映射记录在:f:(1-(-1 ) ) x-1 )/(3-1)-1 )、() ps中)、x2也采用该映射。

x2=[4 5 6],用这个映射来计算一下。

y2(4)=2(4-1)/(3-1) (-1 )=2

y2(5)=2(5-1)/(3-1) (-1 )=3

y2(6)=2)6-1(/3-1 )-1 )=4 案例3:修改参数

x=map minmax (‘reverse’,y,PS ) )的作用是进行逆正规化,并将正规化后的数据逆正规化以获得原始数据:

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。