resample

Отобразите данные моделирования на новом временном векторе

Описание

пример

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' - Задайте удержание нулевого порядка.

Примечание

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

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

свернуть все

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

См. также

|

Введенный в R2007b