Интерполяция Matlab для переключения зависимой переменной

У меня есть матрица Nx2 со столбцами «Время» и «Прогресс».

Прогресс является интегральным, а Время — реальной величиной, соответствующей каждой единице прогресса.

Я хочу изменить зависимость и сделать «Время» интегральным и вывести дробный «Прогресс» на каждом единичном временном шаге.

Как это может быть сделано?


person OrangeRind    schedule 30.05.2011    source источник


Ответы (1)


Используйте interp1(Progress,Time,TimesWanted), где TimesWanted — новый вектор с нужным вам временем. Например:

Progress=1:10;       %just a guess of the sort of progress you might have
Time=Progress*5.5;   %the resulting times (say 5.5s per step)
TimesWanted=10:5:50; %the times we want
interp1(Time,Progress,TimesWanted)

дает мне:

ans =
1.8182    2.7273    3.6364    4.5455    5.4545    6.3636    7.2727    8.1818    9.0909

который представляет собой прогресс в TimesWanted, полученный интерполяцией.

person Ramashalanka    schedule 30.05.2011