【发布时间】:2011-04-08 07:25:53
【问题描述】:
我正在寻找将近似值 (ushort[100]) 替换为目标值的有效方法。
有两个目标值(ushort x, 2x),ushort[] 中的每个值都近似于这两个中的一个。
【问题讨论】:
-
"数组中值的出现总是有规律的。"没有关于“模式”的任何信息,这是非常无用的信息。
标签: c# arrays normalization
我正在寻找将近似值 (ushort[100]) 替换为目标值的有效方法。
有两个目标值(ushort x, 2x),ushort[] 中的每个值都近似于这两个中的一个。
【问题讨论】:
标签: c# arrays normalization
var a = target1 > words[i] ? target1 - words[i] : words[i] - target1;
var b = target2 > words[i] ? target2 - words[i] : words[i] - target2;
(OR)
var as = target1 - words[i];
var bs = target2 - words[i];
a = as + (as >> 31) ^ (as >> 31);
b = bs + (bs >> 31) ^ (bs >> 31);
if (a < b)
normalized[i] = target1;
else
normalized[i] = target2;
【讨论】:
您总是可以只定义一个距离度量,允许您将每个近似值分配给预期值,考虑到那些是“箱”,就像在直方图中一样。处理这些值意味着将近似值替换为与该值具有最小距离的已知值。
【讨论】:
【讨论】: