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. The 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

Путь блока, заданный как полный путь блока. Чтобы создать Signal Builder блок в новой модели, untitled, с Signal Builder имени задайте [].

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

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

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

Положение блока в модели, определенной как [<reservedrangesplaceholder3> <reservedrangesplaceholder2> <reservedrangesplaceholder1> <reservedrangesplaceholder0> ].

Типы данных: 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 -cordinate.

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

Строение

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

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

Вектор-строка пропусков.

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

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

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

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

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

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

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

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

Строение

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

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

Вектор-строка пропусков.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Индекс группы активных сигналов.

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

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

Подробнее о

свернуть все

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

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

t = 0.2*[0:49]';
Введенный в R2007a