exponenta event banner

updateInitialAssignments

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

Синтаксис

updateInitialAssignments(model)
[tfUpdated, ruleChanges, newParameters, modelBackup] = updateInitialAssignments(model)

Описание

пример

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

пример

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

Примеры

свернуть все

Загрузите демонстрационную модель.

sbioloadproject lotka

Покажите список разновидностей и их начальных сумм.

m1.Species
   SimBiology Species Array

   Index:    Compartment:    Name:    InitialAmount:    InitialAmountUnits:
   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
   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"   

   SimBiology Parameter Array

   Index:    Name:    Value:    ValueUnits:
   1         z0       0         


   SimBiology Model - lotka (copy) 

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

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

Входные параметры

свернуть все

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

Пример: m1

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

свернуть все

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

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

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

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

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

Введенный в R2017b