Можно найти примеры с помощью этих функций в
и matlabroot/toolbox/simulink/blocks/tlc_c
. Соответствующий исходный код S-функции MEX расположен в matlabroot/toolbox/simulink/simdemos/simfeatures/tlc_c
или matlabroot/simulink/src
. S-функции файла MATLAB® и исполняемые файлы файла MEX (например, matlabroot/toolbox/simulink/simdemos/simfeatures/src
) расположены в sfunction.mex*
или matlabroot/toolbox/simulink/blocks
. Нажатие на одни из предыдущих имен папок изменяется на ту папку в MATLAB и показывает содержание папки в Браузере текущей папки MATLAB.matlabroot/toolbox/simulink/simdemos/simfeatures
Несколько функций берут подобные или идентичные аргументы. Чтобы упростить страницы с описанием, некоторые из этих аргументов документируются подробно здесь вместо на страницах с описанием.
Аргумент | Описание |
---|---|
Обращается к индексу порта ввода или вывода, запускающемуся в 0. Например, первый входной порт S-функции 0. | |
Переменная контроля за работой пользователей. Это - расширенная функция, которая заменяет параметры | |
Контрольная переменная цикла. Это обычно генерируется директивой | |
Индекс сигнала. Иногда называемый индексом элемента сигнала. Когда доступ к определенным элементам ввода или вывода сигнализирует непосредственно, вызов различных библиотечных подпрограмм должен иметь Большинство функций, которые берут аргумент
Используйте имя Функции, которые принимают эти три аргумента | |
| Индекс параметра. Иногда называемый индексом элемента параметра. Обработка этого параметра очень похожа на |
Индекс состояния. Иногда называемый индексом элемента вектора состояния. Это должно оценить к целому числу, где первый элемент запускается в |
Индекс сигнала (sigIdx
, иногда записанный как idx
), может быть перегружен, когда передано большинству библиотечных функций. Предположим, что вы интересуетесь элементом 3 из сигнала, и ucv=""
, lcv=""
. Следующая таблица показывает
Значения sigIdx
Является ли ссылаемый сигнал комплексным
Что возвращает функция, которая использует sigIdx,
Пример возвращенной переменной
Тип данных возвращенной переменной
Обратите внимание на то, что “контейнер” в следующей таблице относится к объекту, который инкапсулирует и действительные и мнимые части номера, например, creal_T
, заданный в tmwtypes.h
.
sigIdx | Комплекс | Функция возвращается | Пример | Данные Ввод |
---|---|---|---|---|
"re3" | Да | Действительная часть элемента 3 |
|
|
"im3" | Да | Мнимая часть элемента 3 |
|
|
"3" | Да | Объедините контейнер элемента 3 |
|
|
3 | Да | Объедините контейнер элемента 3 |
|
|
"re3" | Нет | Элемент 3 |
|
|
"im3" | Нет |
| Нет данных | Нет данных |
"3" | Нет | Элемент 3 |
|
|
3 | Нет | Элемент 3 |
|
|
Теперь предположите следующее:
Вы интересуетесь элементом 3 из сигнала.
(ucv = "i"
И lcv == ""
) ИЛИ (ucv = ""
AND lcv = "i"
).
Следующая таблица показывает значения idx
, является ли сигнал комплексным, и что возвращает функция, которая использует idx
.
sigIdx | Комплекс | Функция возвращается |
---|---|---|
"re3" | Да | Действительная часть элемента |
"im3" | Да | Мнимая часть элемента |
"3" | Да | Объедините контейнер элемента |
3 | Да | Объедините контейнер элемента |
"re3" | Нет | Элемент |
"im3" | Нет |
|
"3" | Нет | Элемент |
3 | Нет | Элемент |
Векторный индекс добавляется только для широких сигналов.
Если ucv
не является пустой строкой (""
), то ucv
используется вместо sigIdx
в вышеупомянутых примерах, и и lcv
и sigIdx
проигнорированы.
Если ucv
пуст, но lcv
не пуст, то функция возвращает "&y%<portIdx>[%<lcv>]"
, и sigIdx
проигнорирован.
Это принято, что ролик объявил и инициализировал переменные, к которым получают доступ в ролике. Переменные, к которым получают доступ в ролике, должны быть заданы с помощью rollVars
в качестве аргумента к директиве %roll
.