我有一个参考浮点数的列表,例如,
x_ref = [-0.1, 1.0, 1.2, 3.5, 7.5, 12.0]我想找到一个x列表,这样就可以完成两件事:
x中的条目至少是dist (例如,2.0)x中的条目尽可能接近它们的x_ref合作伙伴,即它们最小化平方距离1/2和(x_refi- xi) ** 2) -> minF 211
我已经做了一些东西,但它很臃肿,而且很可能是漏油的。也许这里有一条简单的出路。有什么暗示吗?
发布于 2020-04-19 19:58:21
首先,您需要确定列表中每个严重拥挤的区域,最大的子序列(i,j),以便
(x[j] - x[i]) / 2.0 < j-i编辑Nico的评论很重要:我不允许在一端有一个有效的打开间隔。我认为调整差距识别会起作用.
(x[j] - x[i]) / 2.0 < j-i-1编辑端
在您给定的示例中,只有一个这样的位置,值-0.1到3.5,在需要扩展6.0的情况下相差3.6。最小传播将由闭区间0 (j-i)中k的数p + 2.0 * k组成。
您现在有了错误的表达式:
sum for k = 0, (j-i)
(x[k] - (p + 2k))^2所有x[k]值都是已知的,所有2k值都是已知的。展开表达式,为p求解,并最小化--获取导数并将其设置为0。得到的p值为您提供了x[i]的新值,而其他值则是由此产生的。
https://stackoverflow.com/questions/61310618
复制相似问题