#matlab #interpolation
#matlab #интерполяция
Вопрос:
У меня есть матрица Nx2 со столбцами ‘Time’ и ‘Progress’.
Прогресс является целым, а время — это реальное значение, соответствующее каждой единице прогресса.
Я хочу изменить зависимость и сделать ‘Time’ интегральным и выводить дробный ‘Progress’ на каждом шаге за единицу времени.
Как это можно сделать?
Ответ №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
, полученным путем интерполяции.