15
我想创建一个基本的matlab程序,该程序能够对给定范围内给定的整数数组进行规范化。Matlab中变量范围[x,y]的规范化
- 输入是一个数组[A1,A2,A3,A4,A5,A6,A7 ...],和在范围[X,Y]
- 输出是归一化的阵列。
但是在任何地方,我都看到[0,1]或[-1,1]范围内的归一化。找不到可变范围规范化。 如果您编写了matlab代码或变量范围的公式,我将不胜感激。
谢谢你的想法。
我想创建一个基本的matlab程序,该程序能够对给定范围内给定的整数数组进行规范化。Matlab中变量范围[x,y]的规范化
但是在任何地方,我都看到[0,1]或[-1,1]范围内的归一化。找不到可变范围规范化。 如果您编写了matlab代码或变量范围的公式,我将不胜感激。
谢谢你的想法。
如果你想正常化[x, y]
,首先通过标准化为[0, 1]
:
range = max(a) - min(a);
a = (a - min(a))/range;
然后通过扩展到[x,y]
:
range2 = y - x;
a = (a * range2) + x;
全部放在一起:
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;
大解决方案,但是现在看来,它似乎是Python并且我没有使用Loo进行复制粘贴国王:P(并在我upvoted和评论后,我看着标题,看到这是matlab!对不起,虽然它非常有帮助!) – 2014-11-20 10:43:02
如果我没有输入范围,该怎么办?假设我想在[-1,1] – superpuccio 2015-06-09 16:15:42
@superpuccio:范围内输入一个数字,例如345。你能澄清你在问什么吗? – Max 2015-06-09 16:28:12