exponenta event banner

Stateflow. EMFunction

Функция MATLAB в диаграмме, состоянии, поле или функции

    Описание

    Использовать Stateflow.EMFunction объекты для создания функций MATLAB ® для алгоритмов кодирования, которые легче выразить с помощью кода MATLAB вместо графических конструкций Stateflow ®. Типичные приложения:

    • Матрично-ориентированные расчеты

    • Анализ и визуализация данных

    Функцию MATLAB можно вызвать в действиях состояний и переходов. Дополнительные сведения см. в разделе Повторное использование кода MATLAB путем определения функций MATLAB.

    Создание

    Описание

    пример

    function = Stateflow.EMFunction(parent) создает Stateflow.EMFunction в родительской диаграмме, состоянии, поле или функции.

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

    развернуть все

    Родительский объект для новой функции MATLAB, указанный как объект API Stateflow одного из следующих типов:

    Свойства

    развернуть все

    Содержание

    Имя функции MATLAB, определяемое как символьный вектор.

    Полная метка для функции MATLAB, заданная как символьный вектор.

    Код для функции MATLAB, определяемый как символьный вектор. Для ввода нескольких строк кода можно:

    • Вызов функции MATLAB sprintf и использовать escape-последовательность \n для вставки новых символов строки:

      str = sprintf('function y=f(x)\ny=x+1;\nend');
      function.Script = str;
    • Введите конкатенированное текстовое выражение, использующее целое число 10 в качестве ASCII-эквивалента символа новой строки:

      str = ['function y=f(x)',10, ...
          'y=x+1;',10, ...
          'end'];
      function.Script = str;

    Следует ли комментировать функцию MATLAB, указанную как числовой или логический 1 (true) или 0 (false). Установка для этого свойства значения true эквивалентно щелчку правой кнопкой мыши на функции MATLAB и выбору «Комментарий». Дополнительные сведения см. в разделе Комментирование объектов Stateflow в диаграмме.

    Это свойство доступно только для чтения.

    Неявно ли функция MATLAB комментируется, указывается как числовой или логический 1 (true) или 0 (false). Функция MATLAB неявно комментируется, когда вы комментируете сверхсостояние в его иерархии.

    Текст комментария для функции MATLAB, указанный как символьный вектор. Это свойство применяется только в том случае, если IsExplicitlyCommented свойство - true. В редакторе Stateflow при указании значка комментария в функции MATLAB текст отображается в виде подсказки. При установке IsExplicitlyCommented свойство для false, значение CommentText возвращается к ''.

    Графический образ

    Положение и размер функции MATLAB, заданной как четырехэлементный числовой вектор формы [left top width height].

    Это свойство доступно только для чтения.

    Будет ли функция MATLAB графически пересекать поле, состояние или функцию, заданную как числовое или логическое 1 (true) или 0 (false).

    Размер шрифта для метки функции MATLAB, указанный как скаляр. StateFont.Size свойство диаграммы, содержащее графическую функцию, задает начальное значение этого свойства.

    Целочисленные данные и данные с фиксированной точкой

    Будут ли данные в функции MATLAB насыщаться при целочисленном переполнении, указанном как числовой или логический 1 (true) или 0 (false). Если это свойство отключено, данные в функции переносятся при переполнении целых чисел. Дополнительные сведения см. в разделе Обработка переполнения целых чисел для данных диаграммы.

    Это свойство применяется только в том случае, если ActionLanguage диаграммы, которая содержит функцию 'C'. В противном случае поведение данных зависит от значения SaturateOnIntegerOverflow свойство для диаграммы.

    Дефолт fimath свойства функции MATLAB, указанные как одно из следующих значений:

    • 'Same as MATLAB Default' - Использовать то же самое fimath свойства в качестве текущего значения по умолчанию fimath объект.

    • 'Other:UserSpecified' - Использовать InputFimath свойство для указания значения по умолчанию fimath объект.

    Это свойство применяется только в том случае, если ActionLanguage диаграммы, которая содержит функцию 'C'. В противном случае поведение данных зависит от значения EmlDefaultFimath свойство для диаграммы.

    Дефолт fimath объект, указанный как символьный вектор. Когда EmlDefaultFimath свойство для функции MATLAB 'Other:UserSpecified', это свойство можно использовать для:

    • Введите выражение, которое создает fimath объект.

    • Введите имя переменной для fimath в рабочей области MATLAB или модели.

    Это свойство применяется только в том случае, если ActionLanguage диаграммы, которая содержит функцию 'C'. В противном случае поведение данных зависит от значения InputFimath свойство для диаграммы.

    Создание кода

    Появление функции MATLAB в сгенерированном коде, указанном как одно из следующих значений:

    • 'Auto' - внутренний расчет определяет внешний вид функции в сгенерированном коде.

    • 'Function' - Функция реализуется как отдельная функция C.

    • 'Inline' - Вызовы функции заменяются кодом.

    Дополнительные сведения см. в разделе Встроенные функции состояния в сгенерированном коде (Simulink Coder).

    Иерархия

    Это свойство доступно только для чтения.

    Диаграмма, содержащая функцию MATLAB, заданную как Stateflow.Chart объект.

    Это свойство доступно только для чтения.

    Субпросмотр для функции MATLAB, указанный как Stateflow.Chart, Stateflow.State, Stateflow.Box, или Stateflow.Function объект. Подвидом является диаграмма или подшаг, где можно графически просмотреть функцию MATLAB.

    Это свойство доступно только для чтения.

    Машина, содержащая функцию MATLAB, заданную как Stateflow.Machine объект.

    Это свойство доступно только для чтения.

    Расположение родительского элемента функции MATLAB в иерархии модели, определяемое как символьный вектор.

    Идентификация

    Описание функции MATLAB, определяемой как символьный вектор.

    Ссылка на документ для функции MATLAB, заданная как символьный вектор.

    Определяемый пользователем тег для функции MATLAB, определяемый как данные любого типа.

    Это свойство доступно только для чтения.

    Независимый от сеанса идентификатор, указанный как целочисленный скаляр. Это свойство используется для отличия функции MATLAB от других объектов модели.

    Это свойство доступно только для чтения.

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

    Функции объекта

    classhandleПредоставить дескриптор класса для объекта
    dialogДиалоговое окно «Открыть свойства»
    findУказанные объекты в иерархии
    fitToViewУвеличение графического объекта
    getВозврат структуры MATLAB, содержащей параметры свойств объекта или массива объектов
    highlightВыделить графический объект
    isCommentedОпределить, комментируется ли объект
    setЗадать свойства с заданными значениями
    upВозврат родителя объекта
    viewЭкранный объект в среде редактирования

    Примеры

    свернуть все

    Добавление функции MATLAB в диаграмму ch. Установить для его метки значение '[y1,y2] = f(x1,x2,x3)'.

    function = Stateflow.EMFunction(ch);
    function.LabelString = '[y1,y2] = f(x1,x2,x3)';
    Представлен до R2006a