exponenta event banner

передискретизировать

Повторная выборка данных моделирования в новом векторе времени

Описание

пример

newSimData = resample(simdata) выполняет повторную выборку данных моделирования в simdata к общему вектору времени и возвращает newSimData.

пример

newSimData = resample(simdata,timeVector) выполняет повторную выборку данных моделирования в соответствии с заданным вектором времени timeVector.

пример

newSimData = resample(simdata,timeVector,method) выполняет повторную выборку данных моделирования с использованием указанной интерполяции method.

Примеры

свернуть все

Загрузите модель радиоактивного распада.

sbioloadproject('radiodecay');

Моделирование модели.

sd = sbiosimulate(m1);
sbioplot(sd);

Figure contains an axes. The axes with title States versus Time contains 2 objects of type line. These objects represent x, z.

Повторная выборка данных моделирования между моментами времени от 1 до 5 с помощью linear способ интерполяции.

newsd = resample(sd,[1:5],'linear');
sbioplot(newsd);

Figure contains an axes. The axes with title States versus Time contains 2 objects of type line. These objects represent x, z.

Измените решатель для выполнения прогона ансамбля.

cs = getconfigset(m1);
cs.SolverType = 'ssa';

Выполните прогон ансамбля.

sdEnsemble = sbioensemblerun(m1,10);

Выполните повторную выборку данных ансамбля между моментами времени 1 и 10.

newsdEnsemble = resample(sdEnsemble,[1:10],'linear');

Сравните временные шаги.

newsdEnsemble(1).Time
ans = 10×1

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10

sdEnsemble(1).Time
ans = 999×1

         0
    0.0004
    0.0006
    0.0047
    0.0049
    0.0058
    0.0105
    0.0131
    0.0143
    0.0144
      ⋮

Входные аргументы

свернуть все

Данные моделирования, указанные как SimData объект или массив SimData объекты. Если указан массив SimData объекты с различными временными курсами, функция выбирает временной вектор из SimData объект с самым ранним временем остановки в качестве общего вектора времени.

Вектор времени, заданный как числовой вектор. Значение по умолчанию [] означает, что функция выбирает вектор времени из simdata с самым ранним временем остановки в качестве общего вектора времени.

Если timeVector включает в себя моменты времени, выходящие за пределы временного интервала SimData объекты в simdata, resample выполняет экстраполяцию и выдает предупреждение. Для получения информации о том, как функция выполняет экстраполяцию, см. справку по функции MATLAB, соответствующей используемому методу интерполяции.

Метод интерполяции для повторной выборки, заданный как символьный вектор или строка. Далее следуют допустимые варианты.

  • 'interp1q' - Использовать interp1q функция.

  • Для использования interp1 укажите один из следующих методов:

    • 'nearest'

    • 'linear'

    • 'spline'

    • 'pchip'

    • 'cubic'

    • 'v5cubic' (то же, что и 'cubic')

  • 'zoh' - Укажите удержание нулевого порядка.

Примечание

'cubic' способ изменяют в R2020b для выполнения кубического свертывания. В предыдущих выпусках 'cubic' было таким же, как 'pchip'. Для получения более подробной информации см. interp1.

Выходные аргументы

свернуть все

Повторно дискретизированные данные моделирования, возвращенные как SimData объект или массив SimData объекты.

См. также

|

Представлен в R2007b