Диаграммы Stateflow ® в моделях Simulink ® имеют свойство языка действий, определяющее синтаксис действий состояния и перехода. Значок в левом нижнем углу холста диаграммы указывает язык действий для диаграммы.
MATLAB ® в качестве языка действий.
C как язык действий.
В диаграммах, использующих C в качестве языка действий, можно вызвать встроенные функции MATLAB и получить доступ к переменным рабочей области MATLAB с помощью ml оператор пространства имен или ml функция. Дополнительные сведения см. в разделе Доступ к функциям MATLAB и данным рабочей области в диаграммах C.
В диаграммах, использующих MATLAB в качестве языка действий, можно вызывать функции MATLAB, поддерживаемые непосредственно для генерации кода. Для вызова внешних функций, которые не поддерживаются при создании кода, необходимо использовать coder.extrinsic (Кодер MATLAB). При объявлении функции с помощью coder.extrinisic(, Stateflow создает вызов функции во время моделирования. В диаграмме Stateflow объявляется только function_name)coder.extrinsic один раз. Нельзя объявить зарезервированные ключевые слова с помощью coder.extrinsic. Дополнительные сведения см. в разделе Рекомендации по именованию объектов Stateflow.
Для диаграмм, включающих атомарные подчасти, необходимо объявить функции, которые не поддерживаются для генерации кода с помощью coder.extrinsic отдельно в атомарном подграфе.
coder.extrinsic ФункцияАктивизация вызовов внешней функции , эта модель использует heaviside (Symbolic Math Toolbox)coder.extrinsic.

Диаграмма содержит два параллельных состояния, A и B, и один графический функциональный блок, foo. Состояние A объявляет функцию heaviside, который не поддерживается для генерации кода, с помощью coder.extrinsic. Состояние B и графический функциональный блок также используют heaviside без coder.extrinsic.
Вход для состояния A: u1, синусоидальная волна, и вход для состояния B u2, косинусная волна. Графическая функция out выводит значение heaviside функция для входа in.

Необходимо только объявить heaviside один раз в вашей диаграмме с использованием coder.extrinsic. После этого можно использовать heaviside функция в любом месте вашей диаграммы без coder.extrinsic. При создании кода функции, которые объявляются с помощью coder.extrinsic будет иметь вызов внешней функции, и эта функция не появится в сгенерированном коде.
Чтобы визуализировать результат этой диаграммы, откройте область.

coder.extrinsic (Кодер MATLAB) | heaviside(Панель инструментов «Символьная математика»)