Модуль суммы использовал внутренне в процессе моделирования, когда UnitConversion включен
Это свойство задает модуль суммы, который SimBiology использует внутренне во время симуляции модели когда UnitConversion
включен. Можно установить это на любой вектор символов, представляющий модуль суммы, такой как молекула, родинка или родинка с любым допустимым префиксом. Это может также быть пользовательский модуль, если это сопоставимо с суммой как своя размерность. Значением по умолчанию является <automatic>
, что означает, что SimBiology автоматически выбирает модуль суммы для симуляции. SimBiology исследует модули на всех состояниях и выбирает модуль суммы, таким образом что AbsoluteTolerance
из состояний в сумме или сумме на объем является, по крайней мере, столь строгим как абсолютная погрешность симуляции, умноженная на самый маленький модуль суммы. Эта строгость ослабляется соответственно для состояний, которые становятся большими когда AbsoluteToleranceScaling
включен.
Примечание
Рекомендуется, чтобы вы использовали модуль по умолчанию (<automatic>
) или выберите модули для состояний, таким образом, что симулированные значения не являются ни один слишком большими (больше, чем 106) или слишком маленький (меньше чем 10-6).
Однако для некоторых случаев ребра, вы, возможно, должны изменить AmountUnits
. Предположим, что у вас есть модель с состоянием, которое берет значения приблизительно 10-12 родинок для целой симуляции, и необходимо использовать mole
как его модуль. Затем может быть уместно установить AmountUnits
к picomole
. В этом случае внутренние значения симуляции были бы приблизительно 1 вместо приблизительно 10-12 как в случае по умолчанию. AbsoluteTolerance
из симуляции определяется с помощью этого внутреннего значения. Таким образом путем выбора picomole
как модуль суммы, вы эффективно уменьшаете размер AbsoluteTolerance
. Изменение AmountUnits
свойство тесно связано с изменением AbsoluteTolerance
при рассмотрении эффектов на результатах симуляции.
Даже когда с помощью модуля по умолчанию, может быть все еще необходимо изменить AbsoluteTolerance
. Для получения дополнительной информации смотрите Absolute Tolerance Выбора и Relative Tolerance for Simulation.
Если необходимо восстановить поведение симуляции с релизов до R2015b:
Установите AmountUnit
к mole
. Однако, если модель имеет модули количества в molecule
, установите модуль на molecule
вместо этого.
Установите MassUnits
к kilogram
.
Совет
Если у вас есть пользовательская функция и UnitConversion
включен (используете ли вы модуль по умолчанию <automatic>
), следуйте рекомендации ниже.
Не определите размерность параметры, которые передаются функции, если они не являются уже безразмерными.
Предположим, что у вас есть пользовательская функция, определяемая как y = f(t)
где t
время в час и y
концентрация разновидности при родинке/литр. Когда вы будете использовать эту функцию в своей модели, чтобы задать повторное правило присвоения, например, задайте его как: s1 = f(time/t0)*s0
, где time
время симуляции, t0
параметр, заданный как 1,0 часа, s0
параметр, заданный как 1,0 родинки/литр и s1
концентрация разновидности при родинке/литр. Обратите внимание на то, что time
и s1
не должны быть в тех же модулях как t0
и s0
, но они должны быть размерностно сопоставимыми. Например, time
и s1
модули могут быть установлены в минуту и picomole/liter, соответственно.
Применяется | Объект: Configset |
Тип данных | Символьный вектор |
Значения данных | Вектор символов, задающий любой модуль суммы. Значением по умолчанию является |
Доступ | Чтение-запись для свойств |