Различия между MATLAB и C как синтаксис языка действия

Графики Stateflow® в моделях Simulink® имеют свойство языка действия, которое задает синтаксис для действий перехода и состояния. Значок в нижнем левом углу холста графика указывает на язык действия для графика.

  • MATLAB® как язык действия.

  • C как язык действия.

MATLAB является синтаксисом языка действия по умолчанию для новых диаграмм Stateflow. Создавать график, который использует C в качестве языка действия, введите:

sfnew -c

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

Эта таблица приводит старшие значащие различия в функциональности между двумя языками действия.

ФункциональностьMATLAB как язык действияC как язык действия

Вектор и индексирование матриц

Индексация на основе одна разграничена круглыми скобками и запятыми. Например, A(4,5). Смотрите Поддерживаемые Операции для Векторов и Матриц.

Основанная на нуле индексация разграничена квадратными скобками. Например, A[3][4]. Смотрите Поддерживаемые Операции для Векторов и Матриц.

C построения:

  • Постепенно увеличьте и постепенно уменьшите операции a++ и a--

  • Операции a += b присвоения, a –= b, a *= b и a /= b

  • Операции a != b и !a оценки

  • Бинарные операции a %% b, a >> b, a << b, a & b и a | b

  • Прокомментируйте маркеры // и /* */

Автоисправление к синтаксису MATLAB. Например, a++ исправляется к a = a+1. Смотрите Автоматическое Исправление При использовании MATLAB как Язык Действия.

Поддерживаемый. Смотрите поддерживаемые операции для данных о графике.

Условное выражение и цикл проверяют утверждения в актах государственной власти

Поддерживаемый. Например, можно использовать if, for и операторы while в актах государственной власти. Смотрите Циклы и Условные операторы (MATLAB).

Не поддерживаемый. Для условного выражения и шаблонов цикла, используйте графические функции вместо этого. Смотрите Шаблоны Логики Повторного использования путем Определения Графических функций.

Формат действий перехода

Автоисправление заключает действия перехода с фигурными скобками {}. Смотрите Действия Перехода.

Не требуемый заключить действия перехода с фигурными скобками {}. Смотрите Действия Перехода.

Упорядоченное расположение параллельных состояний

Явное упорядоченное расположение только. Смотрите Порядок выполнения для Параллельных состояний.

Явное или неявное упорядоченное расположение. Смотрите Порядок выполнения для Параллельных состояний.

Построения фиксированной точки:

  • Специальный оператор присваивания :=

  • Контекстно-зависимые константы, такие как 4.3C

Не поддерживаемый.

Поддерживаемый. Смотрите продвижение фиксированной точки переопределения в графиках C и фиксированной точке контекстно-зависимые константы.

Комплексные данные

Используйте обозначение комплексного числа a + bi или оператор complex. Смотрите Поддерживаемые Операции для Комплексных данных.

Используйте оператор complex. Обозначение комплексного числа не поддержано. Смотрите Поддерживаемые Операции для Комплексных данных.

Распространение типа данных

Следует за MATLAB, вводящим правила. Например, добавляя данные типа double к данным типа int32 приводит к данным типа int32.

Следует за C вводящие правила. Например, добавляя данные типа double к данным типа int32 приводит к данным типа double.

Явный тип бросил операции

Используйте одну из этих форм кастинга:

  • Функция преобразования типов MATLAB. Например, single(x).

  • Функция cast с ключевым словом типа. Например, cast(x,'int8').

  • Функция cast с ключевым словом 'like'. Например, cast(x,'like',z).

Оператор type не поддержан. Смотрите Операции Броска Типа.

Используйте одну из этих форм кастинга:

  • Функция преобразования типов MATLAB. Например, uint16(x).

  • Функция cast с оператором type. Например, cast(x,type(z)).

Ключевые слова типа для функции cast не поддержаны. Смотрите Операции Броска Типа.

Скалярное расширение

Не поддерживаемый.

Поддерживаемый. Смотрите преобразовывают скаляры в нескаляры при помощи скалярного расширения.
Представьте данные в виде строки

Не поддерживаемый.

Поддерживаемый. Смотрите управляют текстовой информацией при помощи строк.

Спецификация свойств данных:

  • Первый индекс

  • Сохраните окончательное значение в базовое рабочее пространство

  • Модули

Не поддерживаемый.

Поддерживаемый. Для получения дополнительной информации см.:

Осциллограф данных в графическом, таблице истинности и функциях MATLAB

Constant, Parameter, Input, OutputLocal, Constant, Parameter, Input, Output, Temporary

Запись через точку для определения состояний, локальных данных, сообщения и локальных событий в функциях MATLAB

Поддерживаемый. Смотрите идентифицируют данные при помощи записи через точку.

Не поддерживаемый.

Функции пользовательского кода и переменные

Поведение зависит от параметра конфигурации Import Custom Code.

  • Когда Import Custom Code включен, и функции пользовательского кода и переменные поддерживаются в состояниях и переходах (значение по умолчанию).

  • Когда Import Custom Code выключен, только функции пользовательского кода поддерживаются. Используйте функцию coder.ceval.

См. пользовательский код Пользовательского кода и Импорта (Simulink).

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

Размещение главного массива строки в сгенерированном коде

Не поддерживаемый.

Поддерживаемый. Смотрите размещение главного массива строки.

Размещение многомерного массива в сгенерированном коде

Не поддерживаемый.

Поддерживаемый для локальных данных. Смотрите Размещение Многомерного массива.

Параметры структуры

Поддерживаются настраиваемые и ненастраиваемые параметры.

Только настраиваемые параметры поддерживаются.

Использование глобального объекта fimath

Поддерживаемый.

Не поддерживаемый.

Смотрите также

Похожие темы