C ++数据插值

时间:2012-02-20 20:32:35

标签: c++ interpolation

我正在尝试插入以20Hz给出的数据,我想插值为25Hz。

while (time.data() && m < (time.size() - 1))
{
    if (time[m] >= x && time[m] != time[m + 1])
    {
        x0 = time[m];
        x1 = time[m + 1];
        y0 = pos[0][m];
        y1 = pos[0][m + 1];
        y = y0 + (x - x0) * ((y1 - y0) / (x1 - x0));

        itime.push_back(x);
        ipos[0].push_back(y);
    }

    x = x + dx;
    m++;
}

我的问题是,当我增加m时,我最终会到达时间向量的末尾,但不会到达时间值的末尾。顶部的time.data()应该一直持续到时间向量的末尾,但m < (time.size() - 1)是事情搞砸的地方。

0 个答案:

没有答案