Функции языка MATLAB, поддерживавшие для преобразования с одинарной точностью

Функции языка MATLAB, поддерживавшие для преобразования с одинарной точностью

Преобразование с одинарной точностью поддерживает следующие функции языка MATLAB®:

  • N-мерные массивы.

  • Операции над матрицей, включая удаление строк и столбцов.

  • Данные переменного размера (см., Генерируют Код для Данных Переменного Размера). Графическое изображение сравнения не поддерживает данные переменного размера.

  • Индексирование (см. несовместимость с MATLAB в операциях индексирования матриц для генерации кода).

  • Комплексные числа (см. Генерацию кода для Комплексных данных).

  • Числовые классы (см. Поддерживаемые Типы переменных).

  • Операторы if программного управления, switch, for, while и break.

  • Арифметика, реляционные, и логические операторы.

  • Localfunctions.

  • Глобальные переменные.

  • Персистентные переменные.

  • Структуры.

  • 'characters'.

    Преобразование с одинарной точностью не поддерживает полный набор символов Unicode®. Символы ограничиваются 8 битами точности в сгенерированном коде. Много математических операций требуют больше чем 8 битов точности. Если вы намереваетесь преобразовать свой алгоритм MATLAB в одинарную точность, это - лучшая практика не выполнить арифметику с символами.

  • Классы MATLAB. Поддержки преобразования с одинарной точностью:

    • Class Properties

    • Конструкторы

    • Методы

    • Специализации

    Это не поддерживает наследование классов или пакеты.

  • Вызовы функции (см. Разрешение Вызовов функции для Генерации кода),

  • varargin и varargout поддержаны, когда вы генерируете код C/C++ с одинарной точностью при помощи MATLAB Coder™app или codegen с -singleC. Они не поддержаны, когда вы используете codegen с -double2single.

    Для функций, которые не используют varargin или varargout, можно управлять количеством аргументов ввода или вывода в сгенерированной функции точки входа, только если вы генерируете код C/C++ с одинарной точностью при помощи приложения MATLAB CODER или codegen с -singleC.

Функции языка MATLAB, не поддерживавшие для преобразования с одинарной точностью

Преобразование с одинарной точностью не поддерживает следующие функции:

  • Анонимные функции

  • Массивы ячеек

  • Представьте скаляры в виде строки

  • Объекты классов значения как входные параметры функции точки входа или выходные параметры

  • Указатели на функции

  • Java®

  • Вложенные функции

  • Рекурсия

  • Разреженные матрицы

  • try/catch операторы

  • varargin и varargout или генерация меньшего количества аргументов ввода или вывода, чем функция точки входа задают

Была ли эта тема полезной?