首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Matlab中变量范围[x,y]的归一化

Matlab中变量范围[x,y]的归一化
EN

Stack Overflow用户
提问于 2012-04-28 22:48:39
回答 3查看 58.3K关注 0票数 21

我想创建基本的matlab程序,使给定的整数数组在给定的范围内归一化。

  • 输入是一个数组a1,a2,a3,a4,a5,a6,a7...,并且范围x,y
  • 输出是归一化数组。

但在任何地方,我都看到归一化在0,1或-1,1的范围内,找不到变量范围的归一化。如果你写的matlab代码或可变范围的公式,我将不胜感激。

谢谢你的点子。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-04-28 22:53:02

如果要规格化到[x, y],首先通过以下方式规格化到[0, 1]

代码语言:javascript
复制
 range = max(a) - min(a);
 a = (a - min(a)) / range;

然后通过以下方式扩展到[x,y]

代码语言:javascript
复制
 range2 = y - x;
 a = (a * range2) + x;

把所有这些放在一起:

代码语言:javascript
复制
 function normalized = normalize_var(array, x, y)

     % Normalize to [0, 1]:
     m = min(array);
     range = max(array) - m;
     array = (array - m) / range;

     % Then scale to [x,y]:
     range2 = y - x;
     normalized = (array*range2) + x;
票数 58
EN

Stack Overflow用户

发布于 2018-08-17 02:57:09

从R2017b开始,MATLAB有一个名为rescale的函数,它就是这样做的。

例如,如果您想要将array重新缩放到间隔[x, y],则:

代码语言:javascript
复制
normalized_array = rescale(array, x, y);

如果未指定xy,则array将标准化为间隔[0,1]

票数 1
EN

Stack Overflow用户

发布于 2018-06-28 20:49:55

MATLAB具有特殊的归一化功能,其中包括用于归一化输入值的人工神经网络工具箱。

mapminmax最大

mapminmax通过将每行的最小值和最大值归一化为YMIN、YMAX来处理矩阵。

映射标准

mapstd通过将每行的平均值和标准差转换为ymean和ystd来处理矩阵。

more information

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10364575

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档