Stateflow.EMFunction

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

    Описание

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

    • Матричные вычисления

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

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

    Создание

    Описание

    пример

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

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

    расширить все

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

    Свойства

    расширить все

    Содержимое

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

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

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

    • Вызовите функцию MATLAB sprintf и используйте escape sequence \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 и выбору Comment Out. Для получения дополнительной информации смотрите Комментарий объектов 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, заданный как скаляр. The StateFont.Size свойство графика, содержащей графическую функцию, устанавливает начальное значение этого свойства.

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

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

    Это свойство применяется только когда 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