我想将权重计算为距离的倒数,例如反距离加权插值。
double wgt = 0, wgt_tmp, result = 0;
for (int i = 0; i < num; i++) {
wgt_tmp = 1.0/dist[i];
wgt += wgt_tmp;
result += wgt_tmp * values[i];
}
results /= wgt;
但是距离可以0
,我需要使权重适合计算。如果只有一个距离dist[i]
,0
我希望它的对应值values[i]
占主导地位。如果有几个距离0
,我希望它们的值对结果做出同样的贡献。此外,即使dist[i]
不是零而是非常小,我也希望有一个合理的标准来检查和处理它。知道如何实施吗?