sdo.requirements.SignalBound class

Пакет: sdo.requirements

Кусочно-линейная амплитудная граница

Описание

Задайте кусочно-линейные ограничения верхней или нижней амплитуды на сигнале временной области. Затем можно оптимизировать ответ модели, чтобы соответствовать этим границам, используя sdo.optimize.

Можно включать несколько линейных ребер и расширяться до + или –inf.

Конструкция

sig_req = sdo.requirements.SignalBound создает sdo.requirements.SignalBound Объект и присвоения значения по умолчанию к его свойствам.

sig_req = sdo.requirements.SignalBound(Name,Value) использует дополнительные опции, заданные одним или несколькими Name,Value аргументы в виде пар. Name является именем свойства и Value - соответствующее значение. Name должны находиться внутри одинарных кавычек (''). Можно задать несколько аргументы пары "имя-значение" в любом порядке как Name1,Value1,...,NameN,ValueN.

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

Аргументы в виде пар имя-значение

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

Использование Name,Value аргументы для задания свойств   объекта требования во время создания объекта. Для примера, requirement = sdo.requirements.SignalBound('Type','>=') создает sdo.requirements.SignalBound объект и задает Type свойство как нижняя граница.

Свойства

BoundMagnitudes

Значения величины для кусочно-линейной границы.

Задайте значения начала и конца величины для всех ребер в границах. Свойство должно быть nx2 массив конечных двойных чисел, где каждая строка задает начало и конец величины значения ребра. Количество строк должно совпадать с количеством строк в BoundTimes свойство.

Использовать set чтобы задать это и BoundTimes свойства одновременно.

По умолчанию: [1 1]

BoundTimes

Временные значения кусочно-линейной границы.

Задайте время начала и конца для всех ребер в кусочно-линейной привязке. Свойство должно быть nx2 массив конечных двойных чисел, где каждая строка задает начало и конец время ребра. Время начала и конца должно задавать положительную длину. Количество строк должно совпадать с количеством строк в BoundMagnitudes свойство.

Использовать set чтобы задать это и BoundMagnitudes свойства одновременно.

По умолчанию: [0 10]

Description

Описание требования, заданное как вектор символов. Для примера, 'Requirement on signal 1'.

По умолчанию: ''

Name

Имя требования, заданное как вектор символов.

По умолчанию: ''

OpenEnd

Удлините границу в отрицательном или положительном направлении времени.

Укажите, будет ли первое и последнее ребро привязки продолжаться до –inf и +inf соответственно. Используйте для связанных сигналов, которые выходят за пределы значений времени, заданных BoundTimes свойство.

Должно быть 1x2 логический массив. Если trueпервое или последнее ребро границы вытянуто в отрицательном или положительном направлении, соответственно.

По умолчанию: [0 0]

TimeUnits

Временные модули требования, заданные как одно из следующих значений:

  • 'nanoseconds'

  • 'microseconds'

  • 'milliseconds'

  • 'seconds'

  • 'minutes'

  • 'hours'

  • 'days'

  • 'weeks'

  • 'months'

  • 'years'

По умолчанию: 'second'

Type

Связанный тип

Укажите, является ли кусочно-линейное требование верхней или нижней границей, заданной как одно из следующих значений:

  • '<=' - Верхняя граница

  • '>=' - Нижняя граница

По умолчанию: '<='

Методы

evalRequirementВычислите кусочно-линейную привязку

Примеры

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

r = sdo.requirements.SignalBound;
set(r,'BoundTimes', [0 10; 10 20],...
      'BoundMagnitudes', [1.1 1.1; 1.01 1.01])

Кроме того, можно задать границы во время конструкции:

r = sdo.requirements.SignalBound(...
    'BoundTimes',[0 10; 10 20],...
    'BoundMagnitudes',[1.1 1.1; 1.01 1.01]);

Альтернативы

Использовать getbounds для получения границ, заданных в блоке Check Custom Bounds.