小编stu*_*_11的帖子

升采样:在向量的每个连续元素之间插入额外的值

假设我们有一个由20个浮点数组成的向量V。是否可以在每对浮点之间插入值,以使向量V成为正好有50个数字的向量。

插入值应该是介于上限和下限之间的随机数,我决定在两者之间插入两个值的中点。

我尝试了以下方法:

 vector<double> upsample(vector<double>& in)
 {

    vector<double> temp;
    for (int i = 1; i <= in.size() - 1 ; i++)
    {
        double sample = (in[i] + in[i - 1]) / 2;
        temp.push_back(in[i - 1]);
        temp.push_back(sample);
    }
    temp.push_back(in.back());
    return temp;
}
Run Code Online (Sandbox Code Playgroud)

使用此功能,输入向量元素增加2(n)-1(20个元素变为39)。输入向量的大小可能小于50。

我认为可以通过在两个元素之间随机插入多个值以具有大小为50的向量来完成此操作(例如,在V [0]和V [1]之间插入3个值,在V [3]和V [4]之间插入1值等)。这可能吗?

您能指导我如何执行此操作吗?谢谢。

c++ oversampling

5
推荐指数
1
解决办法
118
查看次数

标签 统计

c++ ×1

oversampling ×1