Ищите объекты с заданными ограничениями
Out
=
sbioselect('PropertyName
', PropertyValue
)
Out
=
sbioselect('Where', 'PropertyName
', 'Condition
', PropertyValue
)
Out
=
sbioselect(Obj
, 'PropertyName
', PropertyValue
)
Out
=
sbioselect(Obj
, 'Type', 'TypeValue
',
'PropertyName
', PropertyValue
)
Out
=
sbioselect(Obj
, 'Where', 'PropertyName
',
'Condition
', PropertyValue
)
Out
=
sbioselect(Obj
, 'Where', 'PropertyNameCondition'
,
'PropertyNamePattern
', 'Condition
', PropertyValue
)
Out
=
sbioselect(Obj
, 'Where', 'PropertyName1
',
'Condition1
', PropertyValue1
,
'Where', 'PropertyName2
', 'Condition2
', PropertyValue2
,...)
Out
=
sbioselect(Obj
, 'Where', 'PropertyName1
',
'Condition1
', PropertyValue1
,Bool_Operator
,
'Where', 'PropertyName2
', 'Condition2
', PropertyValue2
,...)
Out
= sbioselect(Obj
,
'Depth', DepthValue
,...)
| Объект или массив объектов, возвращенных функцией sbioselect . может содержать смесь типов объектов (например, разновидности и параметры), в зависимости от выбора, который вы задаете. Если |
| Объект SimBiology® или массив объектов искать. Если объект не задан, sbioselect ищет корень. |
| Любое свойство объекта ищется. |
| Задайте , чтобы включать в критерии выбора. |
| Тип объекта включать в выбор, например, sbiomodel , species , reaction или kineticlaw . |
| Условие поиска. См. таблицу в соответствии с Описанием для списка условий. |
PropertyNameCondition | Условие поиска, которое применяется только к свойству имени. См., что таблица перечисляет “Условия для Имен” ниже. |
PropertyNamePattern | Вектор символов или строка раньше выбирали имя свойства согласно условию, наложенному PropertyNameCondition . |
| Задайте номер глубины, чтобы искать. Верные номера являются положительными целочисленными значениями и inf . Если является inf , sbioselect ищет и все его дочерние элементы. Если является 1 , sbioselect только ищет и не его дочерние элементы. По умолчанию является inf . |
sbioselect
ищет объекты с заданными ограничениями.
ищет корневой объект (включая все объекты модели, содержавшие полностью, возражают), и возвращает объекты с именем свойства (Out
=
sbioselect('PropertyName
', PropertyValue
)
), и значение свойства (PropertyName
), содержавший полностью, возражают. PropertyValue
ищет корневой объект и находит объекты, которые имеют имя свойства (Out
=
sbioselect('Where', 'PropertyName
', 'Condition
', PropertyValue
)
) и значение (PropertyName
), который совпадает с условием (PropertyValue
). Condition
возвращает объекты с именем свойства (Out
=
sbioselect(Obj
, 'PropertyName
', PropertyValue
)
) и значение свойства (PropertyName
), найденный в любом объекте (PropertyValue
). Если имя свойства в паре значения свойства содержит или Obj
'?'
или '*'
, то имя автоматически интерпретировано как выражение с подстановочными знаками, эквивалентное где пункт ('Where', 'wildcard', 'PropertyName', '==', PropertyValue)
.
находит объекты типа (Out
=
sbioselect(Obj
, 'Type', 'TypeValue
',
'PropertyName
', PropertyValue
)TypeValue
), с именем свойства (
) и значение свойства (PropertyName
) найденный в любом объекте (PropertyValue
). Obj
является типом объекта SimBiology, который будет включен в выбор, например, TypeValue
species
, reaction
или kineticlaw
.
находит объекты, которые имеют имя свойства (Out
=
sbioselect(Obj
, 'Where', 'PropertyName
',
'Condition
', PropertyValue
)
) и значение (PropertyName
), которые совпадают с условием (PropertyValue
). Condition
Если вы ищете значение свойства вектора символов, не задавая условие, необходимо использовать тот же формат, как get
возвращается. Например, если get
возвратит Name
как 'MyObject'
, sbioselect
не найдет объект со значением свойства Name
'myobject'
. Поэтому для этого примера, необходимо задать:
modelObj = sbioselect ('Name', 'MyObject')
Вместо этого если вы используете условие, можно задать:
modelObj = sbioselect ('Where', 'Name', '==i', 'myobject')
sbioselect
ищет объекты модели на корне в обоих случаях.
находит объекты с именем свойства, которое совпадает с шаблоном в (Out
=
sbioselect(Obj
, 'Where', 'PropertyNameCondition'
,
'PropertyNamePattern
', 'Condition
', PropertyValue
)PropertyNamePattern
) с условием (PropertyNameCondition
) и совпадает со значением (PropertyValue
) условию (Condition
). Используйте этот синтаксис когда это необходимо условия поиска и на именах свойства и на значениях свойств.
Условия, с примерами имен свойства и соответствующими примерами значений свойств, которые можно использовать, перечислены в следующих таблицах. Эта таблица показывает вас условия для числовых свойств.
Условия для числовых свойств | Синтаксис в качестве примера |
---|---|
== | Поиск в объекте модели ( parameterObj = sbioselect (modelObj,... 'Where', 'Value', '==', 0.5) == это эквивалентно исключению условия как показано:parameterObj = sbioselect (modelObj,... 'Value', 0.5) Поиск в объекте модели ( parameterObj = sbioselect (modelObj,... 'Where', 'ConstantValue', '==', false) |
~= | Поиск в объекте модели (modelObj ) и объекты возвращаемого параметра, которые не имеют Value равным 0.5 .parameterObj = sbioselect (modelObj,... 'Where', 'Value', '~=', 0.5) |
> ,< ,>= ,<= | Поиск в объекте модели ( speciesObj = sbioselect (modelObj, ... 'Where', 'InitialAmount', '>', 50) Поиск в объекте модели ( speciesObj = sbioselect (modelObj,... 'Where', 'InitialAmount', '<=', 50) |
between | Поиск в объекте модели ( speciesObj = sbioselect (modelObj,... 'Where', 'InitialAmount',... 'between', [200 300]) |
~between | Поиск в объекте модели (modelObj ), и возвращает объекты разновидностей, которые имеют начальную сумму (InitialAmount ), который не является между 200 и 300 .speciesObj = sbioselect (modelObj,... 'Where', 'InitialAmount',... '~between', [200 300]) |
equal_and_same_type | Подобно == , но кроме того требует, чтобы значение свойства имело тот же тип. Поиск в объекте модели ( zeroObj = sbioselect(modelObj, ... 'Where', '*', 'equal_and_same_type', 0); |
unequal_and_same_type | Подобно ~= , но кроме того требует, чтобы значение свойства имело тот же тип. Выберите все объекты, содержащие свойство, типа double и значение, не равное 0. (Используя nonzeroObj = sbioselect(modelObj, ... 'Where', '*', 'unequal_and_same_type', 0); |
Следующая таблица показывает вам условия для свойства имени или для свойств, значения которых являются векторами символов.
Условия для имен | Синтаксис в качестве примера |
---|---|
== | Поиск в объекте модели ( speciesObj = sbioselect (modelObj,... 'Type', 'species', 'Where',... 'Name', '==', 'Glucose') |
~= | Поиск в объекте модели ( speciesObj = sbioselect (modelObj,... 'Type', 'species', 'Where',... 'Name', '~=', 'Glucose') |
==i | То же самое как |
~=i |
Поиск в объекте модели ( speciesObj = sbioselect (modelObj,... 'Type', 'species', 'Where',... 'Name', '~=i', 'glucose') |
regexp. Выражения поддержек, поддержанные функциями regexp и regexpi . | Поиск в объекте модели ( Obj = sbioselect (modelObj, 'Where',... 'Name', 'regexp', '[ea]se') Поиск в корне, и возвращает объекты, которые имеют Obj = sbioselect ('Where',... 'Name', 'regexp', 'kinase') |
regexpi | То же самое как |
~regexp | Поиск в объекте модели ( Obj = sbioselect (modelObj, 'Where',... 'Name', '~regexp', 'kinase') |
~regexpi | То же самое как |
wildcard | Поддержки подстановочные знаки |
wildcardi | То же самое как |
~wildcard | Поиск в объекте модели ( Obj = sbioselect (modelObj, 'Where',... 'Name', '~wildcard', 'kin*') |
~wildcardi | То же самое как |
Используйте тип условия function
для любого свойства. Заданное значение должно быть указателем на функцию, который, когда применено значение свойства, возвращает булевскую переменную, указывающую, существует ли соответствие. Следующая таблица показывает пример использования function
.
Условие | Синтаксис в качестве примера |
---|---|
'function' |
Поиск в объекте модели и возвращает объекты реакции, свойство Out = sbioselect(modelObj, 'Where',... 'Stoichiometry', 'function',... @(x)any(x>2)) iseven = @(x) isnumeric(x)... && isvector(x) && mod(x, 2) == 0; evenValuedObj = sbioselect(modelObj, ... 'where', 'Value', 'function', iseven); |
'contains'
условия может использоваться только для тех свойств, значения которых являются массивом объектов SimBiology. Следующая таблица показывает пример использования contains
.
Условие | Синтаксис в качестве примера |
---|---|
'contains' | Поиск в объекте модели и возвращает объекты реакции, свойство Out = sbioselect(modelObj, 'Where',... 'Reactants', 'contains',... modelObj.Species(1)) |
находит объекты содержавшими в Out
=
sbioselect(Obj
, 'Where', 'PropertyName1
',
'Condition1
', PropertyValue1
,
'Where', 'PropertyName2
', 'Condition2
', PropertyValue2
,...)Obj
, который совпадает со всеми заданными условиями.
Можно объединить любое количество имени свойства / пары значения свойства и условия в команде sbioselect
.
находит объекты содержавшими в Out
=
sbioselect(Obj
, 'Where', 'PropertyName1
',
'Condition1
', PropertyValue1
,Bool_Operator
,
'Where', 'PropertyName2
', 'Condition2
', PropertyValue2
,...)Obj
, который совпадает со всеми заданными условиями. Векторы поддерживаемого символа для Bool_Operator
следующие.
'and' | Верный, если ('Where' , 'PropertyName1' , 'Condition1' , PropertyValue1 ) и ('Where' , 'PropertyName2' , 'Condition2' , PropertyValue2 ) оба верны. |
'or' | Верный, если любой ('Where' , 'PropertyName1' , 'Condition1' , PropertyValue1 ) или ('Where' , 'PropertyName2' , 'Condition2' , PropertyValue2 ) верен. |
'xor' | Верный, если точно один из ('Where' , 'PropertyName1' , 'Condition1' , PropertyValue1 ) или ('Where' , 'PropertyName2' , 'Condition2' , PropertyValue2 ) верен. |
'not' | Верный, если ('Where' , 'PropertyName1' , 'Condition1' , PropertyValue1 ) верно и ('Where' , 'PropertyName2' , 'Condition2' , PropertyValue2 ) не верно. |
Поддерживаются составные выражения с несколькими булевыми операторами. Приоритет операторов выполняет приказ операций для булевой алгебры not
–> and
–> xor
–> or
.
находит объекты с помощью поисковой глубины модели Out
= sbioselect(Obj
,
'Depth', DepthValue
,...)
. DepthValue
Порядок результатов sbioselect не гарантируется при возврате результатов нескольких типов. Следовательно не рекомендуется зависеть от порядка результатов.