Генерация кода для строк

Генерация кода поддерживает MATLAB 1 на 1® Строковые массивы. Генерация кода не поддерживает строковые массивы с несколькими элементами.

Строковые массивы 1 на 1, называемая string scalar, содержат одну часть текста, представленную как вектор символов 1 на n. Пример строкового скаляра "Hello, world". Для получения дополнительной информации о строках смотрите Текст в Строке и Символьных массивах.

Ограничения

Для строковых скаляров генерация кода не поддерживает:

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

  • Индексация фигурными скобками {}

  • Отсутствующие значения

  • Программное определение входных типов (при помощи предварительного кондиционирования с assert операторы)

  • Их использование с coder.varsize

Для генерации кода ограничения, которые применяются к классам, применяются к строкам. Для получения информации о генерации кода см. определение классов MATLAB».

Различия между сгенерированным кодом и кодом MATLAB

  • Преобразование строки, содержащей несколько унарных операторов в double может привести к различным результатам между MATLAB и сгенерированным кодом. Рассмотрим эту функцию:

    function out = foo(op)
    out = double(op + 1);
    end

    Для значения входа "--"функция преобразует строку "--1" на double. В MATLAB ответ следующий NaN. В сгенерированном коде ответ следующий 1.

  • Двойное преобразование для строки с неправильными запятыми (запятыми, которые не используются в качестве тысяч диафрагм) может привести к различным результатам от MATLAB.

Похожие темы