几个要说明的函数接口:

[Y,PS] = mapminmax(X)

[Y,PS] = mapminmax(X,FP)

Y = mapminmax('apply',X,PS)

X = mapminmax('reverse',Y,PS)

用实例来讲解,测试数据 x1 = [1 2 4], x2 = [5 2 3];

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

y =

-1.0000 -0.3333 1.0000

ps =

name: 'mapminmax'

xrows: 1

xmax: 4

xmin: 1

xrange:

3

yrows: 1

ymax: 1

ymin: -1

yrange:

2

其中y是对进行某种规范化后得到的数据,这种规范化的映射记录在结构体ps中.让我们来看一下这个规范化的映射到底是怎样的?

Algorithm

It is assumed that X has only finite real values, and that the

elements of each row are not all equal.

y = (ymax-ymin)*(x-xmin)/(xmax-xmin) + ymin;

[关于此算法的一个问题.算法的假设是每一行的元素都不想相同,那如果都相同怎么办?实现的办法是,如果有一行的元素都相同比如xt = [1

1 1],此时xmax = xmin = 1,把此时的变换变为y =

ymin,matlab内部就是这么解决的.否则该除以0了,没有意义!]

也就是说对x1 = [1 2 4]采用这个映射 f: 2*(x-xmin)/(xmax-xmin)+(-1),就可以得到y =

[ -1.0000 -0.3333 1.0000]

我们来看一下是不是: 对于x1而言 xmin = 1,xmax = 4;

则y(1) = 2*(1 - 1)/(4-1)+(-1) = -1;

y(2) = 2*(2

- 1)/(4-1)+(-1) = -1/3 = -0.3333;

y(3) =

2*(4-1)/(4-1)+(-1) = 1;

看来的确就是这个映射来实现的.

对于上面algorithm中的映射函数 其中ymin,和ymax是参数,可以自己设定,默认为-1,1;

比如:

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

>> ps.ymin = 0;

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

y =

0 0.3333 1.0000

ps =

name: 'mapminmax'

xrows: 1

xmax: 4

xmin: 1

xrange:

3

yrows: 1

ymax: 1

ymin: 0

yrange:

1

则此时的映射函数为: f: 1*(x-xmin)/(xmax-xmin)+(0),是否是这样的这回你可自己验证.O(∩_∩)O

如果我对x1 = [1 2 4]采用了某种规范化的方式, 现在我要对x2 = [5 2

3]采用同样的规范化方式[同样的映射],如下可办到:

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

>> y2 =

mapminmax('apply',x2,ps)

y2 =

1.6667 -0.3333 0.3333

即对x1采用的规范化映射为: f: 2*(x-1)/(4-1)+(-1),(记录在ps中),对x2也要采取这个映射.

x2 = [5,2,3],用这个映射我们来算一下.

y2(1) = 2(5-1)/(4-1)+(-1) = 5/3 = 1+2/3 = 1.66667

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

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

X =

mapminmax('reverse',Y,PS)的作用就是进行反归一化,讲归一化的数据反归一化再得到原来的数据:

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

>> xtt =

mapminmax('reverse',y1,ps)

xtt =

1 2 4

此时又得到了原来的x1(xtt = x1);

mapminmax函数 matlab,matlab mapminmax函数详解相关推荐

  1. Matlab人脸检测算法详解

    这是一个Matlab人脸检测算法详解 前言 人脸检测结果 算法详解 源代码解析 所调用函数解析 bwlabel(BW,n) regionprops rectangle 总结 前言 目前主流的人脸检测与 ...

  2. matlab中sinks,MATLAB Simulink模块库详解(二)Sinks篇

    MATLAB Simulink模块库详解(二)Sinks篇 Simulink模块库概述 1.Sources模块库,为仿真提供各种信号源 2.Sinks模块库,为仿真提供输出设备元件 3.Continu ...

  3. 基于MobileNet的人脸表情识别系统(MATLAB GUI版+原理详解)

    摘要:本篇博客介绍了基于MobileNet的人脸表情识别系统,支持图片识别.视频识别.摄像头识别等多种形式,通过GUI界面实现表情识别可视化展示.首先介绍了表情识别任务的背景与意义,总结近年来利用深度 ...

  4. Python中Print()函数的用法___实例详解(二)(全,例多)

    Python中Print()函数的用法___实例详解(二)(全,例多) 目录 十一.Print()小例子 十二.Print()中文输入显示乱码问题 十三.Print()写入文件 十四.print()在 ...

  5. MATLAB Simulink模块库详解(二)Sinks篇

    MATLAB Simulink模块库详解(二)Sinks篇 Simulink模块库概述 1.Sources模块库,为仿真提供各种信号源 2.Sinks模块库,为仿真提供输出设备元件 3.Continu ...

  6. php遍历视频文件,php使用glob函数遍历文件和目录详解

    php glob()函数返回匹配指定模式的文件名或目录.因此我们可以使用glob函数来查找文件,也可以实现目录的遍历. 函数说明:array glob ( string $pattern [, int ...

  7. mysql通过集合查询_MySQL使用集合函数进行查询操作实例详解

    本文实例讲述了MySQL使用集合函数进行查询操作.分享给大家供大家参考,具体如下: COUNT函数 SELECT COUNT(*) AS cust_num from customers; SELECT ...

  8. (转载)--SG函数和SG定理【详解】

    在介绍SG函数和SG定理之前我们先介绍介绍必胜点与必败点吧. 必胜点和必败点的概念: P点:必败点,换而言之,就是谁处于此位置,则在双方操作正确的情况下必败. N点:必胜点,处于此情况下,双方操作均正 ...

  9. java中flush函数作用_Java语言中flush()函数作用及使用方法详解

    最近在学习io流,发现每次都会出现flush()函数,查了一下其作用,起作用主要如下 //------–flush()的作用--------– 笼统且错误的回答: 缓冲区中的数据保存直到缓冲区满后才写 ...

  10. C语言标准库里的获取时间函数及时间格式转换详解

    C语言标准库里的获取时间函数及时间格式转换详解 头文件: #include <time.h> 相关库函数(截图摘自:https://www.runoob.com/cprogramming/ ...

最新文章

  1. Linux下编译build的命令,【linux基础】20、内核的编译
  2. chart.js 饼图显示百分比_实战PyQt5: 135-数据可视化之QChart绘制饼图
  3. 【转】UITableView详解(UITableViewCell
  4. 玩转oracle 11g(33):无监听程序
  5. Java 的内存管理机制是怎样的?
  6. C/C++入门的精髓!太全了吧,收藏夹的必备
  7. 二进制空间权重矩阵_“生成空间权重矩阵”的工作原理
  8. 群站SEO之群站与链轮之不可告人的秘密
  9. 00-各种工具下载链接汇总
  10. 一般信道容量的计算方法
  11. golang读取EXIF orientation标记
  12. Pixhawk之启动代码和入口函数(.mk、rcS、__start、hrt)
  13. 从多种模型中选择最合适的模型,用于行人检测
  14. android ios 微信 备份通讯录备份通讯录,苹果手机号码怎么备份 微信导入联系人号码...
  15. vue返回上一页并不刷新
  16. 8.22 ps课堂练习
  17. Win10下搭建绿色版基于WAMP的PHP开发环境
  18. MATLAB马氏链分析工具
  19. 【翻译】WF从入门到精通(第十七章):关联及本地主机通信
  20. 第 1 章 Logical Volume Manager (LVM)

热门文章

  1. Bitcoin推特遭到清洗!发生了什么?
  2. 004-什么是软件测试?软件测试的目的与原则
  3. Cetos 7 命令行登陆与图形界面登陆相互切换
  4. LInux 文件系统 tmpfs 分区不显示解决
  5. 《程序员之禅》一一第3章 为什么要进行禅修编程
  6. 如何保存PDF、Word和Excel文件到数据库中
  7. Java基础教程(3)--回顾HelloWorld
  8. Java开发神器Lombok的使用与原理
  9. SegmentFault Hackathon 2018 火热登场,Let's hack!
  10. 【社交系统ThinkSNS+研发日记】Laravel Model 利用 Macroable 为数据模型添加宏能