exponenta event banner

simbio.diagram.setLine

Задать свойства линии диаграммы SimBiology

Описание

пример

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

Примечание

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

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

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

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

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

пример

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

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

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

пример

simbio.diagram.setLine(sObj) отображает имена и возможные значения конфигурируемых свойств линии, связанной с объектом SimBiology sObj. Этот синтаксис требует, чтобы к нему была подключена только одна строка sObj. При наличии нескольких линий, подключенных к sObjукажите линию, предоставив два объекта в качестве входов, которые соединены линией. Функции возвращают пустой массив ячеек, если свойство не имеет конечного набора возможных значений. sObj должен быть скалярным.

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

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

пример

simbio.diagram.setLine(obj1,obj2,___) задает свойства линии, соединяющей объекты SimBiology obj1 и obj2 с использованием любого из предыдущих входных аргументов. obj1 и obj2 должен быть скалярным.

simbio.diagram.setLine(obj1,obj2) отображает конфигурируемые свойства линии, соединяющей объекты SimBiology obj1 и obj2. obj1 и obj2 должен быть скалярным.

Примеры

свернуть все

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

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

simBiologyModelBuilder('lotka');

Приложение откроется и отобразит модель на вкладке Схема.

На вкладке Главная приложения выберите Экспорт > Экспорт модели в рабочую область MATLAB.

В диалоговом окне «Экспорт модели SimBiology» нажмите кнопку «ОК» для экспорта модели с именем переменной 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);
sv = simbio.diagram.getLine(x)
sv = 

  struct with fields:

          Color: [66 66 66]
    Connections: [1×2 SimBiology.ModelComponent]
          Width: 1

Измените цвет линии на красный и увеличьте ее ширину.

simbio.diagram.setLine(x,'Color','red','Width',2)

Также можно запросить свойства линии, соединяющей два объекта. Например, получить значения свойств линии, соединяющей виды y1 и Reaction1.

y1 = m1.Species(2);
r1 = m1.Reactions(1);
simbio.diagram.getLine(y1,r1)
ans = 

  struct with fields:

          Color: [66 66 66]
    Connections: [1×2 SimBiology.ModelComponent]
          Width: 1

Измените цвет линии на новое значение RGB и увеличьте ширину линии.

simbio.diagram.setLine(y1,r1,'Color',[0.6 0.2 0.6],'Width',3)

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

свернуть все

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

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

Пример: 'Color'

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

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

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

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

Color

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

  • Триплет RGB, например [1 1 0]

  • Символьный вектор или строка, представляющая имя цвета, например 'y' или 'yellow'

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

Connections

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

Width

Ширина линии, заданная как положительный скаляр

Пример: 'Width'

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

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

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

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

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

Пример: 'green'

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

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

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

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

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

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

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

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

свернуть все

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

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

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