假设我有两个数组,分别表示校准曲线的x和y坐标。
我的示例数组包含18个点。你会注意到x值并不是线性分布的,较低的x值处有更多的点。
假设我需要将我的校准曲线中点的数量减少到13个。显然,我可以只删除前五个或后五个点,但这将缩短我的整体x值范围。为了保持范围和最小化x值之间的空间,我会优先删除x= 2,4,6,8,10的值。删除这些x点及其相应的y值将留下所需的13个曲线上的点。
如何在Python中自动进行此点选择和删除?即,是否有一种算法可以从列表中选择最佳的x点,“最佳”被定义为使点尽可能靠近,同时保持总范围并遵守新的点数。
请注意,剩余的点必须在原始列表中,因此我不能将18个点插值到13个点网格上。
X = [1,2,3,4,5,6,7,8,9,10,12,14,16,18,20,30,40,50]
Y = [2,4,6,8,10,12,14,16,18,20,24,28,32,36,40,60,80,100]
我的示例数组包含18个点。你会注意到x值并不是线性分布的,较低的x值处有更多的点。
假设我需要将我的校准曲线中点的数量减少到13个。显然,我可以只删除前五个或后五个点,但这将缩短我的整体x值范围。为了保持范围和最小化x值之间的空间,我会优先删除x= 2,4,6,8,10的值。删除这些x点及其相应的y值将留下所需的13个曲线上的点。
如何在Python中自动进行此点选择和删除?即,是否有一种算法可以从列表中选择最佳的x点,“最佳”被定义为使点尽可能靠近,同时保持总范围并遵守新的点数。
请注意,剩余的点必须在原始列表中,因此我不能将18个点插值到13个点网格上。