C ++ интерполяция данных - PullRequest
0 голосов
/ 21 февраля 2012

Я пытаюсь интерполировать данные, которые даны с частотой 20 Гц, и я хочу интерполировать до 25 Гц.

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) - это место, где все запутано.

...