假设我们有一个由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值等)。这可能吗?
您能指导我如何执行此操作吗?谢谢。