Matlab中的mapminmax函數學習

premnmx() is obselete. Use MAPMINMAX instead.app

>> x1=[1 2 4]函數

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

獲得:rem

>> ymap

y =apply

-1.0000 -0.3333 1.0000規範化

>> psapm

ps =let

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

 

根據線性映射可得: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

相關文章
相關標籤/搜索