signalbuilder

(Не рекомендуемый) Создавайте и получайте доступ к блокам Signal Builder

Блок Signal Builder не рекомендуется. Используйте блок Signal Editor вместо этого.

Описание

пример

[time,data] = signalbuilder(block) возвращает время и данные блока Signal Builder, block.

[time,data,signames] = signalbuilder(block) возвращает имена сигнала, signames, и время и данные.

[time,data,signames,groupnames] = signalbuilder(block) возвращает имена сигнала, signames, и названия группы, groupnames, и время и данные.

пример

block = signalbuilder(path,'create',time,data) создает новый блок Signal Builder в path с требуемым временем и данными. Сигнал и названия группы являются значением по умолчанию.

пример

block = signalbuilder(path,'create',time,data,signames,groupnames) создает новый блок Signal Builder в path с требуемым временем и данными, предупредите об именах и названиях группы.

block = signalbuilder(path,'create',time,data,signames,groupnames,vis) создает новый блок Signal Builder и устанавливает видимые сигналы в каждой группе на основе значений матричного vis.

block = signalbuilder(path,'create',time,data,signames,groupnames,vis,pos) создает новый блок Signal Builder и устанавливает положение блока на pos.

Если вы создаете сигналы, которые меньше, чем отображение располагается или не запускается от 0, блок Signal Builder экстраполирует неопределенные данные сигнала. Это делает так путем содержания окончательного значения.

block = signalbuilder(path,'create',time,data,signames,groupnames,vis,pos,{openui openmodel}) создает новый блок Signal Builder и открывает или невидимо загружает модель и окно блока Signal Builder.

пример

block = signalbuilder(block,'appendgroup',time,data,signames,groupnames) добавляет новые группы (groupnames) содержа signames с блоком Signal Builder, block. time и data аргументы должны иметь то же количество сигналов как существующий блок.

signalbuilder(block,'appendgroup',ds) добавляет один набор данных.

signalbuilder(block,'appendgroup',[ds1 ...dsN]) добавляет наборы данных N.

пример

signalbuilder(block,'appendsignal',time,data,signames) добавляет новые сигналы всем группам сигнала в блоке Signal Builder, block. Можно добавить или те же сигналы всем группам или добавить различные сигналы различным группам. Независимо от которых сигналов вы добавляете, добавляете то же количество сигналов всем группам. Добавьте сигналы всем группам в блоке; вы не можете добавить сигналы к подмножеству групп. Соответственно, обеспечьте time и data аргументы для любой одной группы (добавляют ту же информацию всем группам), или различный time и data аргументы для различных групп.

signalbuilder(block,'showsignal',signal,group) делает signals это скрыто от видимого блока Signal Builder. По умолчанию сигналы в текущей активной группе отображаются, когда создано.

пример

signalbuilder(block,'hidesignal',signal, group) делает сигналы, signal, скрытый от блока Signal Builder. По умолчанию все сигналы отображаются, когда создано.

[time,data] = signalbuilder(block,'get',signal,group) получает временные стоимости и значения данных для заданного сигнала (сигналов) и группы (групп).

ds = signalbuilder(block,'get',group) получает один или несколько наборов данных для одной требуемой группы Signal Builder. r добирается наборы данных N для N запросили группы Signal Builder.

[ds, …dsN] = signalbuilder(block,'get',group) добирается наборы данных N для N запросили группы Signal Builder.

пример

signalbuilder(block,'set',signal,group,time,data) устанавливает временные стоимости и значения данных для заданного сигнала и группы. Используйте пустые значения time и data удалить группы и сигналы. Чтобы удалить группу сигнала, необходимо также удалить все сигналы в той группе в той же команде.

пример

signalbuilder(block,'set',group,ds) наборы один набор данных для требуемой группы Signal Builder. Определение пустого набора данных удаляет группы, заданные в group.

signalbuilder(block,'set',group,[ds1 ...dsN]) наборы данных N наборов для N запросили группы.

index = signalbuilder(block,'activegroup') получает индекс активной группы.

[index, activeGroupLabel] = signalbuilder(block,'activegroup') получает значение метки активной группы.

signalbuilder(block,'activegroup',index) устанавливает активную группу на индексируемую активную группу.

signalbuilder(block,'annotategroup') управляет отображением текущего названия группы на маске блока Signal Builder. 'annotategroup' принимает одно из этих значений:

  • on Показывает текущее название группы

  • off Скрывает текущее название группы

signalbuilder(block,'print',config,printArgs) распечатывает в настоящее время активную группу сигнала или группу сигнала что config задает. Используйте config настроить печатный внешний вид группы сигнала.

figh = signalbuilder(block,'print',config,'figure') распечатывает в настоящее время активную группу сигнала или группу сигнала что config задает к новому скрытому указателю фигуры, figh.

Примеры

свернуть все

Создайте блок Signal Builder в новом окне редактора моделей.

block = signalbuilder([], 'create', [0 5], {[2 2];[0 2]});

Получите данные о Signal Builder из этого блока.

[time, data, signames, groupnames] = signalbuilder(block)
time =

  2×1 cell array

    {1×2 double}
    {1×2 double}

data =

  2×1 cell array

    {1×2 double}
    {1×2 double}

signames =

  1×2 cell array

    {'Signal 1'}    {'Signal 2'}

groupnames =

  1×1 cell array

    {'Group 1'}

Блок Signal Builder содержит два сигнала в одной группе. Измените второй сигнал в группе.

signalbuilder(block, 'set', 2, 1, [0 5], [2 0]);

Вносить это то же изменение с помощью имени сигнала и названия группы:

signalbuilder(block, 'set', 'Signal 2', 'Group 1', [0 5], [2 0])

Создайте блок Signal Builder с двумя группами сигнала и удалите одну из групп.

block = signalbuilder([], 'create', [0 2], {[0 1],[1 0]});

Блок Signal Builder имеет две группы, каждая из которых содержит сигнал.

Чтобы удалить вторую группу, также удалите ее сигнал.

signalbuilder(block, 'set', 1, 2, [], [])

Создайте блок Signal Builder с двумя группами, каждая из которых содержит три сигнала.

block = signalbuilder([], 'create', [0 1], ...
         {[0 0],[1 1];[1 0],[0 1];[1 1],[0 0]});

Создайте блок Signal Builder в новом окне редактора моделей.

block = signalbuilder([],'create',{[0 10],[0 20]},{[6 -6],...
[2 5]});

Блок Signal Builder имеет две группы. Каждая группа содержит один сигнал.

Добавьте новую группу сигнала с существующим блоком.

block = signalbuilder(block,'appendgroup',[0 30],[10 -10]);

Добавьте новый сигнал, sig3, всем группам.

signalbuilder(block,'appendsignal',[0 30],[0 10],'sig3');

Создайте блок Signal Builder в новом окне редактора моделей.

time = [0 1];
data = {[0 0],[1 1];[1 0],[0 1];[1 1],[0 0]};
block = signalbuilder([], 'create', time, data);

Блок Signal Builder имеет две группы. Каждая группа содержит три сигнала.

Удалите вторую группу. Чтобы удалить группу сигнала, также удалите все сигналы в группе.

signalbuilder(block, 'set',[1,2,3],'Group 2',[]);

Создайте блок Signal Builder в новом окне редактора моделей и скройте сигнал.

block = signalbuilder([], 'create', [0 5], {[2 2];[0 2]});

Блок Signal Builder имеет одну группу, которая содержит два сигнала.

Скройте сигнал, Signal 1.

signalbuilder(block,'hidesignal','Signal 1', 'Group 1')

Signal 1 больше не отображается в блоке Signal Builder.

Сделайте Signal 1 видимый снова.

signalbuilder(block,'showsignal','Signal 1', 'Group 1')

Создайте два блока Signal Builder в новых окнах редактора моделей.

block = signalbuilder([], 'create', [0 5], {[2 2];[0 2]});
block1 = signalbuilder('untitled/Signal Builder1', 'create', [1 2], {[1 2];[0 10]});

Получите набор данных для группы 1 block.

ds=signalbuilder(block,'get',1);

Получите набор данных для группы 1 block1.

ds1=signalbuilder(block1,'get',1);

Установите набор данных для группы 1 block к ds1.

signalbuilder(block,'set',1,ds1);

Добавьте исходный набор данных для группы 1 block ds ) к block.

signalbuilder(block,'appendgroup',ds);

Создать третью группу в block, добавьте ds1 в конец групп в block.

signalbuilder(block,'appendgroup',ds1);

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

свернуть все

Указатель блока Signal Builder или имя. Если вы задаете [] для этого аргумента блок имеет путь 'untitled/Signal Builder'.

Пример: 'untitled/Signal Builder'

Пример: block_handle = gcbh

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

Задайте time формат в зависимости от настройки блока.

Если data массив ячеек и time вектор, time значения дублированы для каждого элемента data. Каждый вектор в time и data должен быть та же длина и иметь по крайней мере два элемента. Если time массив ячеек, все элементы в столбце должны иметь то же начальное и окончательное значение.

Настройка

Формат времени

1 сигнал, 1 группа

Вектор-строка из точек останова.

> 1 сигнал, 1 группа

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

1 сигнал,> 1 группа

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

> 1 сигнал,> 1 группа

Матрица ячейки, где каждый элемент (i, j) соответствует сигналу i и группе j.

Зависимости

Если signalbuilder называется для существующего блока, time аргумент должен иметь то же количество сигналов как существующий блок.

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

Задайте data формат в зависимости от настройки блока.

Если data массив ячеек и time вектор, time значения дублированы для каждого элемента data. Каждый вектор в time и data должен быть та же длина и иметь по крайней мере два элемента. Если time массив ячеек, все элементы в столбце должны иметь то же начальное и окончательное значение.

Настройка

Время/Формат данных

1 сигнал, 1 группа

Вектор-строка из точек останова.

> 1 сигнал, 1 группа

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

1 сигнал,> 1 группа

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

> 1 сигнал,> 1 группа

Матрица ячейки, где каждый элемент (i, j) соответствует сигналу i и группе j.

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

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

Поле ОписаниеЗначение в качестве примера
groupIndex

Скалярный индекс определения группы сигнала, чтобы распечатать

2
timeRange

Двухэлементный вектор, указывающий диапазон времени на печать (не должен превышать область значений времени блока),

[3 6]
visibleSignals

Индекс определения вектора сигналов распечатать

[1 2]
yLimits

Определение массива ячеек ограничивает для y каждого сигнала - ось

{[-1 1],
 [0 1]}

extent

Двухэлементный вектор из формы:

[width, height]

определение размерностей (в пикселях) области, в которой можно распечатать сигналы

[500 300]
showTitle

Логическое значение, задающее, распечатать ли заголовок: true(1 ) распечатывает заголовок

false

Например, чтобы распечатать только группу 2, использующую конфигурационную структуру, configstruct, настройте структуру можно следующим образом. Вы не должны задавать никакие другие поля.

configstruct.groupIndex=1

Пример: configstruct

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

Создайте новый блок Signal Builder.

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

Имена сигнала в виде ' ', {}, вектор символов или массив ячеек из символьных векторов.

Если вы задаете значение ' ' или {}, функция использует существующие имена сигнала для новых групп.

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

Названия группы в виде вектора символов или массива ячеек из символьных векторов.

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

Блок path в виде полного блока path. Создать блок Signal Builder в новой модели, untitled, с именем Signal Builder задайте [].

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

Видимость сигнала в виде матрицы. Блок Signal Builder отображает сигналы в каждой группе на основе значений матричного vis. Эта матрица должна быть одного размера с массивом ячеек, data. Вы не можете создать блоки Signal Builder, в которых все сигналы невидимы. Например, если вы устанавливаете vis параметр для всех сигналов к 0, первый сигнал все еще отображается.

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

Блокируйте положение в модели в виде [x y right bottom].

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

Открытое диалоговое окно блока Signal Builder после создания signalbuilder функция в виде 0 или 1.

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

Открытая модель после создания signalbuilder функция в виде одного из:

  • 0 — Загрузите модель, но не открывайте ее.

  • 1 — Откройте модель.

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

Добавьте новые сигналы всем группам сигнала в блоке Signal Builder. Можно добавить или те же сигналы всем группам или добавить различные сигналы различным группам. Независимо от которых сигналов вы добавляете, добавляете то же количество сигналов всем группам. Добавьте сигналы всем группам в блоке. Вы не можете добавить сигналы к подмножеству групп.

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

Добавьте новые группы сигнала, чей номер времени и элементов сигнала совпадает с существующими группами сигнала в блоке Signal Builder.

Для showsignal и hidesignal методы, если вы не задаете значение для group аргумент, signalbuilder применяет операцию ко всем сигналам и группам.

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

Установите значения на основе входных параметров.

  • time и data — Возвратите временные стоимости и значения данных.

  • ds — Возвратите Simulink.SimulationData.Dataset объекты.

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

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

  • [time, data] — Возвратите временные стоимости и значения данных.

  • [ds, ...dsN] — Возвратите Simulink.SimulationData.Dataset объекты.

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

Сделайте один или несколько сигналов видимыми в группе сигнала. Если никакая группа не задана, все сигналы и группы отображаются.

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

Скройте один или несколько сигналов в группе сигнала. Если никакая группа не задана, все сигналы и группы скрыты.

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

Набор данных элементов timeseries в виде Simulink.SimulationData.Dataset объект.

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

Один или несколько наборов данных элементов timeseries в виде Simulink.SimulationData.Dataset объекты.

Пример: [ds1 ds2 ds3]

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

Сигнал в виде имени сигнала, скалярного индекса или массива индексов сигнала.

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

Группа сигнала в виде названия группы, скалярного индекса или массива индексов группы.

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

Активный индекс группы сигнала.

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

Получите в настоящее время активную группу сигнала.

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

Отобразите активное название группы сигнала на маске блока Signal Builder:

  • 'on' — Отобразите активные названия группы сигнала на маске блока.

  • 'off' — Не отображайте активные названия группы сигнала на маске блока.

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

Распечатайте группу сигнала.

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

Сконфигурируйте опции печати (см. print).

Чтобы распечатать целое содержимое блока Signal Builder, задайте [].

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

Создайте фигуру, содержащую содержимое блока Signal Builder.

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

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

свернуть все

Время для блока Signal Builder, возвращенного как вектор-строка, вектор ячейки столбца, вектор ячейки строки или матрица ячейки. Для блока Signal Builder временем является x - координата.

time возвращается в различных форматах в зависимости от настройки блока.

Настройка

Формат времени

1 сигнал, 1 группа

Вектор-строка из точек останова.

> 1 сигнал, 1 группа

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

1 сигнал,> 1 группа

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

> 1 сигнал,> 1 группа

Матрица ячейки, где каждый элемент (i, j) соответствует сигналу i и группе j.

Данные блока Signal Builder, возвращенного как одномерный массив. Для блока Signal Builder временем является y - координата.

data берет различные форматы в зависимости от настройки блока.

Настройка

Формат данных

1 сигнал, 1 группа

Вектор-строка из точек останова.

> 1 сигнал, 1 группа

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

1 сигнал,> 1 группа

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

> 1 сигнал,> 1 группа

Матрица ячейки, где каждый элемент (i, j) соответствует сигналу i и группе j.

Наборы данных должны иметь то же число элементов как сигналы в группе сигнала. Ограничения формата набора данных для set, append, и appendgroup функции включают:

  • Элементами должен быть MATLAB® данные о timeseries.

    Данные о timeseries и/или время не могут быть пустыми.

  • Данные о timeseries должны быть типа double.

  • Данные о timeseries должны быть 1D (скалярное значение каждый раз).

Имена сигнала, возвращенные как вектор символов или массив ячеек из символьных векторов.

Путь к блоку Signal Builder или указатель, возвращенный созданием блока или, добавляют команды.

Набор данных элементов timeseries, возвращенных как Simulink.SimulationData.Dataset объект.

Один или несколько наборов данных элементов timeseries, возвращенных как Simulink.SimulationData.Dataset объекты.

Активный индекс группы сигнала.

Активная метка группы, возвращенная как индекс.

Изобразите указатель, возвращенный, когда содержимое блока Signal Builder будет распечатано скрытой фигуре.

Больше о

свернуть все

Интерполяция Недостающих значений данных

При определении периодического сигнала, такого как Sine wave, signalbuilder функционируйте использует линейную лагранжевую интерполяцию, чтобы вычислить значения данных для временных шагов, которые находятся между временными шагами для который signalbuilder функция снабжает данными. При определении периодических сигналов задайте их как временной вектор, который задан как множители шага расчета, например:

t = 0.2*[0:49]';
Представленный в R2007a