Я пытаюсь интерполировать данные, которые даны с частотой 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)
- это место, где все запутано.