exponenta event banner

StatesToLog

Укажите записанные виды, отсек или параметры

Описание

StatesToLog свойство задает данные видов, отсека или параметров для регистрации во время моделирования. Это данные, возвращенные в x во время выполнения [t,x] = sbiosimulate(modelObj). По умолчанию регистрируются все виды, некондиционные отсеки и некондиционные параметры.

При указании определенного списка видов, отсеков или параметров, подлежащих регистрации, порядок состояний в результате SimData после моделирования совпадает с указанным порядком.

Особенности

Относится кОбъект: RuntimeOptions
Тип данныхСимвольный вектор, массив ячеек символьных векторов, объект или вектор объектов
Значения данныхВидовые объекты, объекты-отсеки или объекты-параметры. По умолчанию: 'all', что означает, что регистрируются все видовые объекты, все несогласованные объекты-отсеки и все несогласованные объекты-параметры. Несоответствующий отсек или параметр означает, что Constant свойство имеет значение false.
ДоступЧтение/запись

Примеры

развернуть все

Загрузите модель Лотка-Вольтерра.

sbioloadproject lotka;

Получение объекта configset модели lotka m1.

configset = getconfigset(m1);

Просмотрите список видов, данные которых регистрируются по умолчанию во время моделирования.

configset.RuntimeOptions.StatesToLog
ans = 
   SimBiology Species Array

   Index:    Compartment:    Name:    Value:    Units:
   1         unnamed         x        1               
   2         unnamed         y1       900             
   3         unnamed         y2       900             
   4         unnamed         z        0               

Предположим, что вы хотите регистрировать только виды y1 и y2 данные. Можно указать их имена как массив ячеек строк и задать для него значение StatesToLog собственность.

configset.RuntimeOptions.StatesToLog = {'y1','y2'};

Подтвердите настройку.

configset.RuntimeOptions.StatesToLog
ans = 
   SimBiology Species Array

   Index:    Compartment:    Name:    Value:    Units:
   1         unnamed         y1       900             
   2         unnamed         y2       900             

Кроме того, можно указать массив видовых объектов (вместо строк) для StatesToLog собственность.

y1 = m1.Species(2);
y2 = m1.Species(3);
configset.RuntimeOptions.StatesToLog = [y1, y2];

Моделирование и построение графика результатов. Обратите внимание, что результаты моделирования только y1 и y2 нанесены на график.

sbioplot(sbiosimulate(m1));

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

Чтобы восстановить список по умолчанию, установите StatesToLog в строку 'all', что означает, что все объекты видов, все объекты некондиционного отсека и все объекты некондиционного параметра регистрируются по умолчанию. Некондиционный отсек или параметр означает, что его свойству Constant присвоено значение false.

configset.RuntimeOptions.StatesToLog = 'all';

Смоделировать еще раз. Обратите внимание, что все видовые данные нанесены на график.

sbioplot(sbiosimulate(m1));

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

Не указывать 'all' как строка ячейки, такая как {'all'}. Если это так, SimBiology интерпретирует его как вид, названный all.