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 object. The axes object 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 object. The axes object 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 выполняет экстраполяцию, если базовый метод интерполяции поддерживает ее. В противном случае функция возвращает NaNs для тех моментов времени. Смотрите справку для функции MATLAB, соответствующей методу интерполяции в использовании для получения информации о том, как функция выполняет экстраполяцию.

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

  • 'interp1q' — Используйте interp1q функция.

  • Использовать interp1 функционируйте, задайте один из следующих методов:

    • 'nearest'

    • 'linear'

    • 'spline'

    • 'pchip'

    • 'cubic'

    • 'v5cubic' (то же самое как 'cubic')

  • 'zoh' — Укажите, что нулевой порядок содержит.

Примечание

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

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

свернуть все

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

Смотрите также

|

Представленный в R2007b
Для просмотра документации необходимо авторизоваться на сайте