首页 > 解决方案 > 将较小的数组内插到较大的数组中,反之亦然

问题描述

我正在寻找一种将较大数组中的数据插入到较小数组中的方法,反之亦然?

例如,如果我有一个包含 137 个数据元素的数组,并且我想将该数据调整为包含 2000 个元素的数组。同时,我想插入 137 个值,以便它们均匀地适合新数组中的 2000 个元素。因此,我需要某种插值/采样机制,有点像以任意方式调整图像大小。

有没有人有可以实现这一目标的算法?

非常感谢,

达米安

标签: c#.net

解决方案


我找到并改编了这段代码:

void Interpolate(float[] destination, int destFrom, int destTo, float valueFrom, float valueTo)
    {
        int destLength = destTo - destFrom;
        float valueLength = valueTo - valueFrom;
        for (int i = 0; i <= destLength; i++)
            destination[destFrom + i] = valueFrom + (valueLength * i) / destLength;
    }

这非常适合我的需要。


推荐阅读