cusora

Matlab中的mapminmax函数学习

premnmx() is obselete. Use MAPMINMAX instead.

>> x1=[1 2 4]

>> [y,ps]=mapminmax(x1);

得到:

>> y

y =

-1.0000 -0.3333 1.0000

>> ps

ps =

name: \'mapminmax\'
xrows: 1
xmax: 4
xmin: 1
xrange: 3
yrows: 1
ymax: 1
ymin: -1
yrange: 2
no_change: 0

 

根据线性映射可得:y=2*(x-xmin)/(xmax-xmin) - 1;

其中,所映射到的区间 ymax和ymin是参数,可以修改。

>> x1=[1 2 4];
>> [y,ps]=mapminmax(x1);
>> ps.ymin=0;
>> [y,ps]=mapminmax(x1,ps);
>> y

y =

0 0.3333 1.0000

>> ps

ps =

name: \'mapminmax\'
xrows: 1
xmax: 4
xmin: 1
xrange: 3
yrows: 1
ymax: 1
ymin: 0
yrange: 1
no_change: 0

此时的映射函数变为:y=(x-xmin)/(xmax - xmin);

;

如果我对x1 = [1 2 4]采用了某种规范化的方式, 现在我要对x2 = [5 2 3]采用同样的规范化方式[同样的映射],如下可办到:

>> [y1,ps]=mapminmax(x1)

>> y2=mapminmax(\'apply\',x2,ps)

这里的ps中的参数可以设置。

 

\'reverse\'是反归一化的意思。

>> y2

y2 =

1.6667 -0.3333 0.3333

>> y=mapminmax(\'reverse\',y2,ps)

y =

5 2 3

 

;End

 

分类:

技术点:

相关文章:

  • 2022-12-23
  • 2022-01-07
  • 2022-01-07
  • 2021-12-16
  • 2021-12-13
  • 2021-11-18
  • 2021-11-19
  • 2021-07-09
猜你喜欢
  • 2021-12-13
  • 2021-07-08
  • 2022-12-23
  • 2021-12-15
  • 2021-12-12
  • 2021-06-15
  • 2021-11-12
相关资源
相似解决方案