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

#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 , полученным путем интерполяции.