exponenta event banner

updateInitialAssignments

Обновление правил начального назначения для удаления зависимостей заказа

Описание

пример

updateInitialAssignments(model) обновляет активные правила начального назначения в SimBiology model восстановить те же самые результаты моделирования в момент времени = 0, как в R2017a или ранее, когда правила начального назначения оценивались в соответствии с порядком, появившимся в модели. По состоянию на R2017b, порядок, в котором в модели появляются правила начального назначения, не влияет на результаты моделирования. Дополнительные сведения см. в разделе Порядок правил оценки.

пример

[tfUpdated, ruleChanges, newParameters, modelBackup] = updateInitialAssignments(model) возвращает логическое значение, указывающее, обновляется ли модель, tfUpdated, таблица изменений, внесенных в правила, ruleChangesвектор вновь добавленных параметров, newParametersи резервную копию исходной модели, добавляя текст " (copy)"к исходному имени модели.

Примеры

свернуть все

Загрузите образец модели.

sbioloadproject lotka

Отображение списка видов и их начальных количеств.

m1.Species
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               

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

addrule(m1,'x = z','initialAssignment');
addrule(m1,'z = 100','initialAssignment');

Просмотрите правила.

m1.Rules
ans = 
   SimBiology Rule Array

   Index:    RuleType:            Rule:  
   1         initialAssignment    x = z  
   2         initialAssignment    z = 100

Удалите зависимости порядка правил из модели. tf - логическое значение, указывающее, была ли обновлена модель, ruleChanges сводная таблица изменений, внесенных в правила, и newParas является вектором вновь добавленных объектов параметров. backup является копией исходной (неизмененной) модели.

[tf,ruleChanges,newParas,backup] = updateInitialAssignments(m1)
tf = logical
   1

ruleChanges=1×3 table
         UpdatedRule         OldAssignment    NewAssignment
    _____________________    _____________    _____________

    [1x1 SimBiology.Rule]       "x = z"         "x = z0"   

newParas = 
   SimBiology Parameter Array

   Index:    Name:    Value:    Units:
   1         z0       0               

backup = 
   SimBiology Model - lotka (copy) 

   Model Components:
     Compartments:      1
     Events:            0
     Parameters:        3
     Reactions:         3
     Rules:             2
     Species:           4
     Observables:       0

Чтобы удалить зависимости порядка, SimBiology обновила начальное выражение назначения x = z кому x = z0, где z0 является вновь добавленным параметром.

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

свернуть все

модель SimBiology, заданная как объект Model.

Пример: m1

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

свернуть все

Обновляется ли модель, возвращается как true или false.

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

КолонкаОписание
UpdatedRuleВектор обновленных объектов правила в модели.
OldAssignmentСтроковый вектор оригинала Rule значения свойств в модели.
NewAssignmentСтроковый вектор нового Rule значения свойств в модели.

Вновь добавленные параметры, возвращаемые как вектор объектов Parameter, на которые имеются ссылки в обновленных правилах.

Резервная копия исходной модели, возвращенная как объект модели.

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