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

Генерация кода поддерживает строковые массивы 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.

Похожие темы