Массовые модули, используемые внутренне во время симуляции, когда UnitConversion включен
Это свойство определяет массовый модуль, которую SimBiology использует внутри во время симуляции модели при UnitConversion
включен. Можно задать для нее любую строку, представляющую массу модуля например, грамм или грамм с любым допустимым префиксом. Это также может быть пользовательский модуль, если оно согласуется с массой как ее размерностью. Значение по умолчанию является <automatic>
, что означает, что SimBiology автоматически выбирает массовый модуль для симуляции. SimBiology исследует модули на всех состояниях и выбирает такую массу модуля которая AbsoluteTolerance
из состояний в массе или массе на объем, по крайней мере, так же строго, как и симуляция абсолютной погрешности умноженная на наименьший модуль масс. Эта строгость расслабляется соответствующим образом для состояний, которые становятся большими, когда AbsoluteToleranceScaling
включен.
Примечание
Рекомендуется использовать модуль по умолчанию (<automatic>
) или выберите модули для таких состояний, чтобы моделируемые значения не были слишком большими (больше 106) или слишком маленькая (менее 10-6).
Однако для некоторых вариантов ребер может потребоваться изменение MassUnits
. Предположим, что у вас есть модель с состоянием, которое принимает значения около 10-12 gram
для всей симуляции и нужно использовать gram
как его модуль. Тогда может быть уместно задать MassUnits
на picogram
. В этом случае внутренние значения симуляции будут около 1, а не около 10-12 как в случае по умолчанию. AbsoluteTolerance
симуляции определяется с использованием этого внутреннего значения. Таким образом, путем выбора picogram
когда масса модуля, вы эффективно уменьшаете размер AbsoluteTolerance
. Изменение MassUnits
свойство тесно связано с изменением AbsoluteTolerance
при рассмотрении эффектов на результаты симуляции.
Даже при использовании модуля по умолчанию все еще может потребоваться изменить AbsoluteTolerance
. Для получения дополнительной информации смотрите Выбор Абсолютной погрешности и Относительной погрешности для Симуляции.
Если вам нужно восстановить поведение симуляции из релизов перед R2015b:
Установите MassUnits
на kilogram
.
Установите AmountUnits
на mole
. Однако, если модель имеет модули в molecule
, установите модуль измерения равной molecule
вместо этого.
Совет
Если у вас есть пользовательская функция и UnitConversion
on (используется ли единица модуля по умолчанию <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
можно установить в минутах и пикомоле/литре, соответственно.
Применяется к | Объект: Configset |
Тип данных | Вектор символов |
Значения данных | Вектор символов, задающий любые массовые модули. Значение по умолчанию является |
Доступ | Чтение/запись для свойств |