• 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

  • 相关阅读:
    [恢]hdu 2005
    [恢]hdu 2004
    [恢]hdu 1093
    [恢]hdu 1092
    [恢]hdu 2008
    [恢]hdu 1091
    [恢]hdu 2006
    [恢]hdu 1089
    [恢]hdu 1094
    OGRE小记
  • 原文地址:https://www.cnblogs.com/cusora/p/4377845.html
Copyright © 2020-2023  润新知