simbio.diagram.setBlock

Установка свойств блоков SimBiology

Описание

пример

simbio.diagram.setBlock(sObj,propertyNames,propertyValues) устанавливает значения заданных свойств блоков объекта SimBiology или массива объектов sObj.

Примечание

Прежде чем запускать функцию в командной строке:

  1. Откройте соответствующую модель SimBiology в приложении SimBiology Model Builder.

  2. Экспортируйте модель из приложения в MATLAB® рабочей области путем выбора Export > Export Model to MATLAB Workspace на вкладке Home приложения.

Можно запросить и сконфигурировать только свойства объектов, показанных на вкладке Diagram приложения. Объекты, показанные на схеме, являются отсеками, видами, реакциями, правилами скорости, повторными правилами назначения и параметрами, которые находятся на левой стороне правила скорости, повторного правила назначения или функции события.

simbio.diagram.setBlock(sObj,S) устанавливает значения свойств sObj использование структуры S. Имена полей S являются именами свойства, а значения полей являются значениями свойств.

пример

simbio.diagram.setBlock(sObj,Name,Value) устанавливает значения свойств, заданные одним или несколькими аргументами в виде имя-значение.

Name - имя свойства и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Можно задать смесь аргументов имя-значение, структур и пар имен свойства и значений массива ячеек в том же вызове функции.

пример

simbio.diagram.setBlock(sObj) отображает имена и возможные значения свойств конфигурируемых блоков объекта SimBiology sObj. sObj должно быть скалярным.

outStruct = simbio.diagram.setBlock(sObj) возвращает структуру outStruct содержащие имена и возможные значения конфигурируемых блоков свойств объекта SimBiology sObj. sObj должно быть скалярным.

CV = simbio.diagram.setBlock(sObj,propertyName) возвращает массив ячеек с возможными значениями CV для свойства блока propertyName. sObj должно быть скалярным.

пример

simbio.diagram.setBlock(speciesObj,exprObj,___) устанавливает значения заданных свойств блоков видового объекта speciesObj который соединяется с объектом выражения exprObj. Можно задать любую комбинацию Name,Value пары, структуры и пары имен свойства и значений массивов ячеек, как показано в предыдущих синтаксисах.

Используйте этот синтаксис для настройки Position, Pin, и Visible свойства определенного клонированного блока, когда у вас есть несколько клонов одного и того же вида. Клоны имеют одинаковые значения для всех других свойств.

пример

simbio.diagram.setBlock(speciesObj,exprObj) отображает имена конфигурируемых свойств блоков видового объекта speciesObj который связан с объектом выражения (реакция, правило скорости или повторное правило назначения) exprObj.

Используйте этот синтаксис, чтобы проверить свойства определенного клонированного блока, когда у вас есть несколько клонов одного вида.

Примеры

свернуть все

Можно программно настроить внешний вид и местоположения блоков схем модели SimBiology.

Откройте lotka модель в приложении SimBiology Model Builder.

simBiologyModelBuilder('lotka');

Приложение откроется и покажет модель на вкладке Diagram.

На вкладке Home приложения выберите Export > Export Model to MATLAB Workspace.

В диалоговом окне SimBiology Model Export нажмите OK, чтобы экспортировать модель с m1 имени переменной.

Перейдите в командную строку MATLAB и подтвердите, что m1 модели находится в рабочей области. Получите список видов модели.

m1.Species
ans = 

   SimBiology Species Array

   Index:    Compartment:    Name:    Value:    Units:
   1         unnamed         x        1               
   2         unnamed         y1       900             
   3         unnamed         y2       900             
   4         unnamed         z        0               

Получите текущую форму блока видовых x.

x = m1.Species(1);
v = simbio.diagram.getBlock(x,'Shape')
v =

    'rounded rectangle'

Получите список всех возможных фигур для блока видов.

simbio.diagram.setBlock(x,'Shape')
ans =

  8×1 cell array

    {'rounded rectangle'}
    {'rectangle'        }
    {'oval'             }
    {'triangle'         }
    {'hexagon'          }
    {'chevron'          }
    {'parallelogram'    }
    {'diamond'          }

Установите форму блока видов в овал.

simbio.diagram.setBlock(x,'Shape','oval')

Получите текущее положение блока. Первые два числа представляют координаты x и y относительно верхнего левого угла (x = 0, y = 0) схемы. Последние два числа представляют ширину и высоту блока.

simbio.diagram.getBlock(x,'Position')
ans =

   223   137    30    15

Установите положение в новое место.

simbio.diagram.setBlock(x,'Position',[260 130 30 15])

Можно также настроить несколько свойств.

simbio.diagram.setBlock(x,'FaceColor','yellow','FontSize',20,'TextLocation','center')

Когда у вас есть несколько клонированных блоков для одного и того же вида в схеме SimBiology, можно программно настроить положение и видимость определенного клона, задав блок экспрессии, с которым связан клонированный вид. Другими словами, можно изменить Position, Pin, и Visible свойства, характерные для отдельного клона. Все другие свойства имеют одинаковые значения для всех клонов одного и того же вида.

Откройте gprotein модель в приложении SimBiology Model Builder.

simBiologyModelBuilder('gprotein');

Приложение откроется и покажет модель на вкладке Diagram.

На вкладке Home приложения выберите Export > Export Model to MATLAB Workspace.

В диалоговом окне SimBiology Model Export нажмите OK, чтобы экспортировать модель с m1 имени переменной.

Перейдите в командную строку MATLAB и подтвердите, что m1 модели находится в рабочей области. Получите список видов модели.

m1.Species
ans = 

   SimBiology Species Array

   Index:    Compartment:    Name:    Value:       Units:
   1         unnamed         G        7000               
   2         unnamed         Gd       3000               
   3         unnamed         Ga       0                  
   4         unnamed         RL       0                  
   5         unnamed         L        6.022e+17          
   6         unnamed         R        10000              
   7         unnamed         Gbg      3000 

Видовой блок Gbg клонирован и связан с двумя реакциями: G protein activation и G protein complex formation. Получите текущее положение клонированного блока, соединенного со второй реакцией.

Gbg = m1.Species(7);
r2 = m1.Reaction(2);
simbio.diagram.getBlock(Gbg,r2,'Position')
ans =

   393   307    30    15

Открепите клонированный блок и переместите его в другое положение.

simbio.diagram.setBlock(Gbg,r2,'Pin',false,'Position',[391 340 30 15])

Входные параметры

свернуть все

Объект SimBiology, заданный как Compartment, Species, Reaction, Rule, или Parameter объект или как массив объектов.

Имя свойства блока в виде вектора символов или строки. Вы можете задать только одно имя свойства.

Пример: 'FontName'

Типы данных: char | string

Имена свойств блоков, заданные как вектор символов, строка, строковый вектор или массив ячеек из векторов символов. Можно задать несколько имена свойства как 1-by- N или N -by- 1 массив ячеек с именами.

Ниже приведены доступные свойства блоков.

Имя свойстваОписание

Connections

Свойство только для чтения, в котором перечислены объекты, соединенные с блоком входа

Cloned

Флаг только для чтения, указывающий, существует ли более одного блока для объекта входа. Можно клонировать только видовые блоки.

EdgeColor

Ребро блока, заданный как одно из следующих значений:

  • Триплет RGB, такой как [1 1 0]

  • Вектор символов или строка, представляющая название цвета, например 'y' или 'yellow'

Для получения дополнительной информации смотрите ColorSpec (Color Specification).

ExpressionLines

Флаг для отображения линий из блока выражения в другие компоненты модели, на которые ссылается выражение, заданный как 'show' или 'hide'. Вы можете задать это свойство для реакций или правил.

FaceColor

Блочный цвет грани, заданный как одно из следующих значений:

  • Триплет RGB, такой как [1 1 0]

  • Вектор символов или строка, представляющая название цвета, например 'y' или 'yellow'

Для получения дополнительной информации смотрите ColorSpec (Color Specification).

FontName

Блочный шрифт, заданный как вектор символов или строка. Допустимые опции:

  • 'Arial'

  • 'Arial Black'

  • 'Arial Narrow'

  • 'Comic Sans MS'

  • 'Courier'

  • 'Courier New'

  • 'Georgia'

  • 'Helvetica'

  • 'Impact'

  • 'Times New Roman'

  • 'Trebuchet MS'

  • 'Verdana'

FontSize

Блок шрифта, заданный как положительная скалярная величина

FontWeight

Блок шрифта, заданная как 'plain', 'bold', 'italic', или 'bold italic'

Object

Свойство только для чтения, которое приводит соответствующий объект SimBiology блока

Pin

Флаг, указывающий, можно ли переместить блок или нет. Установите для свойства значение false чтобы разрешить перемещение блока в схеме.

Position

Положение и размер блока, заданные как четырехэлементный вектор [x,y,width,height]. Положение верхнего левого угла схемы равно x = 0 и y = 0. SimBiology настраивает все положения блоков относительно этого угла. Можно сконфигурировать позиции блоков в отрицательные положения.

Rotate

Вращение блока, заданное как скаляр между 0 и 360. Вы не можете вращать блоки отсеков.

Shape

Блочная форма, заданная как вектор символов или строка. Допустимые опции:

  • 'rounded rectangle'

  • 'rectangle'

  • 'oval'

  • 'triangle'

  • 'hexagon'

  • 'chevron'

  • 'parallellogram'

  • 'diamond'

Блоки отсеков должны быть 'rounded rectangle' или 'rectangle'.

TextColor

Блокируйте цвет текста, заданный как одно из следующих значений:

  • Триплет RGB, такой как [1 1 0]

  • Вектор символов или строка, представляющая название цвета, например 'y' или 'yellow'

Для получения дополнительной информации смотрите ColorSpec (Color Specification).

TextLocation

Блочное расположение текста относительно блока, заданное как одно из следующего: 'top', 'left', 'bottom', 'right', 'center', или 'none'

Visible

Флаг, указывающий, виден ли блок в схеме. Установите значение свойства false чтобы скрыть блок.

Пример: 'Position'

Типы данных: double | char | string | cell

Значения свойств для задания, заданные как вектор символов, строка, строковый вектор, числовой вектор, логический скаляр или массив ячеек.

Если propertyNames - массив ячеек из 1-by- N или N -by- 1, propertyValues может быть массивом ячеек той же длины, содержащим соответствующие значения для каждого свойства в propertyNames.

Если sObj является вектором и propertyNames содержит одно имя свойства и propertyValues содержит одно значение, функция обновляет заданное свойство всех объектов до заданного значения.

Если sObj - вектор, содержащий M объектов и propertyNames - массив ячеек из 1-by- N или N -by- 1, propertyValues может быть массивом ячеек из M -by - N так, чтобы каждый объект обновлялся с другим множеством значений для списка свойств в propertyNames.

Пример: [140 210 30 15]

Типы данных: double | logical | char | string | cell

Имена свойства и соответствующие им значения, заданные как структура или массив структур. Каждое имя поля соответствует имени свойства, а значение поля является значением свойства.

Если sObj является вектором и S является скалярной структурой, функция конфигурирует все объекты так, чтобы они имели одинаковые значения свойств.

Можно задать другой набор значений свойств для каждого объекта. Для этого задайте S как массив той же длины, что и sObj.

Типы данных: structure

Видовой объект, заданный как SimBiology Species объект. speciesObj должно быть скалярным.

Объект выражения, заданный как Reaction или Rule объект. Объектом правила может быть правило скорости или повторное правило назначения. exprObj должно быть скаляром.

Выходные аргументы

свернуть все

Возможные значения свойств, возвращенные как массив ячеек значений. CV является пустым массивом ячеек, если свойство не имеет конечного набора возможных значений.

Конфигурируемые имена свойства и их возможные значения, возвращенные как структура. Каждое имя поля является именем свойства, и значение является массивом ячеек с возможными значениями или пустым массивом ячеек, если свойство не имеет конечного набора возможных значений.

Введенный в R2021a