Генерация кода поддерживает строковые массивы MATLAB® 1 на 1. Генерация кода не поддерживает строковые массивы, которые имеют больше чем один элемент.
Массив строк 1 на 1, названный string scalar, содержит одну часть текста, представленного как вектор символов 1 на n. Примером скаляра строки является "Hello, world"
. Для получения дополнительной информации о строках, см. текст в Строке и Символьных массивах (MATLAB).
Для скаляров строки генерация кода не поддерживает:
Глобальные переменные
Индексация с фигурными скобками {}
Отсутствующие значения
Определение входа вводит программно (при помощи предварительного создания условий с assert
операторы)
Их использование с coder.varsize
Для генерации кода ограничения, которые применяются к классам, применяются к строкам. См. Определение Классов MATLAB для Генерации кода.
Преобразование строки, которая содержит несколько унарных операторов к double
может привести к различным результатам между MATLAB и сгенерированным кодом. Рассмотрите эту функцию:
function out = foo(op) out = double(op + 1); end
Для входного значения "--"
, функция преобразует строку "--1"
к double
. В MATLAB ответом является NaN
. В сгенерированном коде ответом является 1
.
Двойное преобразование для строки с неуместными запятыми (запятые, которые не используются в качестве тысяч диафрагм) может произвести различные результаты MATLAB.