AmountUnits

Модуль суммы, используемая внутри во время симуляции, когда UnitConversion включен

Описание

Это свойство определяет модуль величины, которую SimBiology использует внутри во время симуляции модели при UnitConversion включен. Можно задать это значение для любого вектора символов, представляющего модуль измерения величины, такую как молекула, моль или моль с любым допустимым префиксом. Это также может быть пользовательский модуль, если оно согласуется с суммой в качестве ее размерности. Значение по умолчанию является <automatic>, что означает, что SimBiology автоматически выбирает модуль измерения суммы для симуляции. SimBiology исследует модули во всех состояниях и выбирает модуль величины, такую что AbsoluteTolerance из состояний в количестве или величине на объем, по меньшей мере, так же строго, как абсолютная погрешность симуляции, умноженный на наименьший модуль измерения величины. Эта строгость расслабляется соответствующим образом для состояний, которые становятся большими, когда AbsoluteToleranceScaling включен.

Примечание

Рекомендуется использовать модуль по умолчанию (<automatic>) или выберите модули для таких состояний, чтобы моделируемые значения не были слишком большими (больше 106) или слишком маленькая (менее 10-6).

Однако для некоторых вариантов ребер может потребоваться изменение AmountUnits. Предположим, что у вас есть модель с состоянием, которое принимает значения около 10-12 moles для всей симуляции, и вам нужно использовать mole как его модуль. Тогда может быть уместно задать AmountUnits на picomole. В этом случае внутренние значения симуляции будут около 1, а не около 10-12 как в случае по умолчанию. AbsoluteTolerance симуляции определяется с использованием этого внутреннего значения. Таким образом, путем выбора picomole как модуль измерения суммы, вы эффективно уменьшаете размер AbsoluteTolerance. Изменение AmountUnits свойство тесно связано с изменением AbsoluteTolerance при рассмотрении эффектов на результаты симуляции.

Даже при использовании модуля по умолчанию все еще может потребоваться изменить AbsoluteTolerance. Для получения дополнительной информации смотрите Выбор Абсолютной погрешности и Относительной погрешности для Симуляции.

Если вам нужно восстановить поведение симуляции из релизов перед R2015b:

  • Установите AmountUnit на mole. Однако, если модель имеет модули в molecule, установите модуль измерения равной molecule вместо этого.

  • Установите MassUnits на kilogram.

Совет

Если у вас есть пользовательская функция и 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
Тип данныхВектор символов
Значения данных

Вектор символов, задающий любой модуль измерения величины. Значение по умолчанию является <automatic>.

Доступ

Чтение/запись для свойств Configset

См. также

Configset object, MassUnits