Luc*_*nis 2 java arrays normalize
我需要将包含0到1024之间的值的数组标准化为包含0到255之间的值的数组。我正在用Java执行此操作,但我想了解“标准化数组”而不是要求确切的代码到底意味着什么。
在数学中对向量进行归一化意味着将其每个元素除以
某个值V,以使所得向量的长度/范数为1。
结果证明所需的V等于长度(向量的长度)。
说你有这个数组。
[-3, +4]
它的长度(以欧几里得度量)为: V = sqrt((-3)^2 + (+4)^2) = 5
因此其对应的归一化向量为:
[-3/5, +4/5]
现在的长度是:sqrt ( (-3/5)^2 + (+4/5)^2 )1。
您可以使用其他度量标准(例如,我认为曼哈顿距离),
但是想法是相同的。将数组
的每个元素除以Vwhere V = || your_vector || = norm (your_vector)。
所以我认为这就是这里的意思。
也可以看看:
http://www.fundza.com/vectors/normalize/
http://mathworld.wolfram.com/NormalizedVector.html