exponenta event banner

sbiounit

Создание определяемой пользователем единицы измерения

Нельзя больше указывать смещение в качестве входного значения при вызове sbiounit. Используйте абсолютную единицу измерения, которая не требует смещения. Дополнительные сведения см. в разделе Вопросы совместимости.

Синтаксис

unitObject = sbiounit('NameValue')
unitObject = sbiounit('NameValue', 'CompositionValue')
unitObject = sbiounit('NameValue','CompositionValue',MultiplierValue)
unitObject = sbiounit('NameValue','CompositionValue',...'PropertyName', PropertyValue...)

Аргументы

NameValue

Имя определяемой пользователем единицы измерения. NameValue должен начинаться с символов и может содержать символы, знаки подчеркивания или цифры. NameValue может быть любым допустимым именем переменной MATLAB ®.

CompositionValue

Отображение комбинации базовых и производных единиц измерения, определяющих единицу измерения NameValue. Например, molarity является mole/liter. Базовые единицы - это набор единиц, используемых для определения всех уравнений единиц измерения. Производные единицы определяются с использованием базовых единиц или смесей базовых и производных единиц.

MultiplierValue

Числовое значение, определяющее взаимосвязь между определяемой пользователем единицей измерения NameValue и базовая единица как произведение MultiplierValue и базовый блок. Например, 1 mole является 6.0221e23*molecule. MultiplierValue является 6.0221e23.

PropertyName

Имя свойства объекта единицы измерения, например:'Notes'.

PropertyValue

Значение свойства объекта единицы измерения, например, 'New unit for GPCR model'.

Описание

unitObject = sbiounit('NameValue') создает объект модуля SimBiology ® с именемNameValue. Допустимые имена должны начинаться с буквы и сопровождаться буквами, подчеркиванием или цифрами.

unitObject = sbiounit('NameValue', 'CompositionValue') позволяет указать имя и состав блока.

unitObject = sbiounit('NameValue','CompositionValue',MultiplierValue) создает единицу измерения с именем NameValue где единица измерения определяется как MultiplierValue*CompositionValue.

unitObject = sbiounit('NameValue','CompositionValue',...'PropertyName', PropertyValue...) определяет дополнительные свойства. Пары имя-значение могут быть в любом формате, поддерживаемом функцией set.

Для использования unitObject, необходимо добавить его в пользовательскую библиотеку с помощью sbioaddtolibrary функция. Чтобы получить объект единицы измерения в пользовательскую библиотеку, используйте следующую команду.

sbioaddtolibrary(unitObject);
Можно просмотреть дополнительные unitObject свойства с помощью get команда. Дополнительные свойства можно изменить с помощью set команда. Дополнительные сведения о свойствах и методах объекта единицы измерения см. в разделе Объект единицы измерения.

Используйте sbiowhos для вывода списка единиц измерения, доступных в пользовательской библиотеке.

Примеры

В этом примере показано, как создать пользовательскую единицу измерения, добавить ее в пользовательскую библиотеку и запросить библиотеку.

  1. Создайте единицы измерения для констант скорости реакции первого и второго порядка.

    unitObj1 = sbiounit('firstconstant', '1/second', 1);
    unitObj2 = sbiounit('secondconstant', '1/molarity*second', 1); 
  2. Добавьте единицу измерения в пользовательскую библиотеку.

    sbioaddtolibrary(unitObj1);
    sbioaddtolibrary(unitObj2);
    

  3. Запрос пользовательской библиотеки в корневом объекте.

    rootObj = sbioroot;
    rootObj.UserDefinedLibrary.Units
    
    ans = 
    
       SimBiology Unit Array
    
       Index:    Library:       Name:             Composition:         Multiplier:
       1         UserDefined    firstconstant     1/second             1          
       2         UserDefined    secondconstant    1/molarity*second    1          

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

    sbiowhos -userdefined -unit
    
       SimBiology UserDefined Units
                                       
       Index:  Name:           Composition:             Multiplier:     
       1       firstconstant   1/second                 1.000000        
       2       secondconstant  1/molarity*second        1.000000   

Вопросы совместимости

развернуть все

В R2021a изменилось поведение

Ошибки, начинающиеся с R2021a

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