Создайте coder.Type
объект представлять тип входного параметра функции точки входа
Примечание
Можно также создать и отредактировать coder.Type
объекты в интерактивном режиме при помощи Редактора типов Кодера. Смотрите Создают и Входные Типы Редактирования при помощи Редактора типов Кодера.
создает объект, который выведен из type_obj
= coder.typeof(v
)coder.Type
представлять тип v
для генерации кода. Использование coder.typeof
задавать только входные типы параметра. Используйте его с codegen
функциональный -args
опция или в проекте MATLAB® Coder™, когда вы задаете входной тип путем обеспечения примера кода. Не используйте его в коде MATLAB, из которого вы намереваетесь сгенерировать код.
возвращает модифицированную копию type_obj
= coder.typeof(v
,sz
,variable_dims
)type_obj
= coder.typeof (v
) с размером верхней границы, заданным sz
и переменные размерности заданы variable_dims
.
Для разреженных матриц, coder.typeof
верхние границы отбрасываний для размерностей переменного размера.
Для представления массивов графического процессора только поддерживаются ограниченные числовые и логические базовые типы. Скалярные массивы графического процессора, структуры, массивы ячеек, классы, перечислимые типы, символ, полуточность и типы данных с фиксированной точкой не поддерживаются.
При использовании coder.typeof
чтобы представлять массивы графического процессора, выделение памяти (malloc) свойство режима объекта настройки графического процессора кода должно собираться быть 'discrete'
.
coder.typeof
фиксирует размер одноэлементной размерности если variable_dims
аргумент явным образом указывает, что одноэлементная размерность имеет переменный размер.
Например, следующий код задает 1:10 дважды. Первая размерность (одноэлементная размерность) имеет фиксированный размер. Второе измерение имеет переменный размер.
t = coder.typeof(5,[1 10],1)
t = coder.typeof(5,[1 10],[1 1])
Примечание
Для блока MATLAB Function одноэлементные размерности сигналов ввода или вывода не могут иметь переменного размера.
Если вы уже задаете тип входной переменной при помощи функции типа, не использовать coder.typeof
если вы также не хотите задать размер. Например, вместо coder.typeof(single(0))
, используйте синтаксис single(0)
.
Для типов массива ячеек, coder.typeof
определяет, является ли тип массива ячеек гомогенным или неоднородным.
Если элементы массива ячеек имеют тот же класс и размер, coder.typeof
возвращает гомогенный тип массива ячеек.
Если элементы имеют различные классы, coder.typeof
возвращает неоднородный тип массива ячеек.
Для некоторых массивов ячеек классификация как гомогенная или неоднородная неоднозначна. Например, тип для {1 [2 3]} может быть 1x2 неоднородный тип, где первый элемент является двойным, и второй элемент 1x2 дважды. Тип может также быть 1x3 гомогенный тип, в котором элементы имеют класс дважды и размер 1x:2. Для этих неоднозначных случаев, coder.typeof
эвристика использования, чтобы классифицировать тип как гомогенный или неоднородный. Если вы хотите различную классификацию, используйте coder.CellType makeHomogeneous
или makeHeterogeneous
методы, чтобы сделать тип с классификацией, которую вы хотите. makeHomogeneous
метод делает гомогенную копию типа. makeHeterogeneous
метод делает неоднородную копию типа.
makeHomogeneous
и makeHeterogeneous
методы постоянно присваивают классификацию как неоднородную и гомогенную. Вы не можете дальнейшее использование один из этих методов, чтобы создать копию, которая имеет различную классификацию.
Во время генерации кода с типами массива графического процессора, если один вход к функции точки входа имеет тип массива графического процессора, то выходные переменные являются всеми типами массива графического процессора, если они поддерживаются для генерации кода графического процессора. Например. если функция точки входа возвращает struct
и потому что struct
не поддерживается, сгенерированный код возвращает CPU выход. Однако, если поддерживаемый матричный тип возвращен, то сгенерированный код возвращает GPU выход.
codegen
| coder.ArrayType
| coder.CellType
| coder.ClassType
| coder.EnumType
| coder.FiType
| coder.newtype
| coder.PrimitiveType
| coder.resize
| coder.StructType
| coder.Type