Можно найти примеры с помощью этих функций в и 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.