Создать 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 сбрасывает верхние границы для размеров переменного размера.
Для представления массивов графических процессоров поддерживаются только ограниченные числовые и логические базовые типы. Не поддерживаются скалярные массивы GPU, структуры, массивы ячеек, классы, перечислимые типы, символьные типы данных, типы данных половинной точности и с фиксированной точкой.
При использовании coder.typeof для представления массивов GPU свойство режима выделения памяти (malloc) объекта конфигурации кода GPU должно быть установлено равным 'discrete'.
coder.typeof фиксирует размер одиночного размера, если variable_dims аргумент явно указывает, что одиночное измерение имеет переменный размер.
Например, следующий код задает двойное значение 1-by-: 10. Первое измерение (одиночное измерение) имеет фиксированный размер. Второй размер имеет переменный размер.
t = coder.typeof(5,[1 10],1)
t = coder.typeof(5,[1 10],[1 1])
Примечание
Для функционального блока MATLAB размеры входных или выходных сигналов в одиночном режиме не могут иметь переменный размер.
Если тип входной переменной уже задан с помощью функции типа, не используйте coder.typeof если не требуется указать размер. Например, вместо coder.typeof(single(0)), используйте синтаксис single(0).
Для типов массивов ячеек coder.typeof определяет, является ли тип массива ячеек однородным или гетерогенным.
Если элементы массива ячеек имеют одинаковый класс и размер, coder.typeof возвращает однородный тип массива ячеек.
Если элементы имеют различные классы, coder.typeof возвращает тип гетерогенного массива ячеек.
Для некоторых клеточных массивов классификация как однородная или гетерогенная неоднозначна. Например, тип для {1 [2 3]} может быть гетерогенным типом 1x2, где первый элемент является двойным, а второй элемент - двойным. Тип также может быть однородным типом 1x3, в котором элементы имеют класс double и размер 1x: 2. Для этих неоднозначных случаев ,coder.typeof использует эвристику для классификации типа как однородного или гетерогенного. Если требуется другая классификация, используйте кодер. CellType makeHomogeneous или makeHeterogeneous для создания типа с нужной классификацией. makeHomogeneous способ делает однородную копию типа. makeHeterogeneous делает гетерогенную копию типа.
makeHomogeneous и makeHeterogeneous методы постоянно присваивают классификацию как гетерогенную и однородную. В дальнейшем нельзя будет использовать один из этих методов для создания копии с другой классификацией.
Во время генерации кода с типами массивов GPU, если один вход в функцию точки входа принадлежит типу массива GPU, то выходные переменные являются всеми типами массивов GPU, при условии, что они поддерживаются для генерации кода GPU. Например. если функция точки входа возвращает struct и потому, что struct не поддерживается, сгенерированный код возвращает выходные данные ЦП. Однако если возвращается поддерживаемый тип матрицы, то сгенерированный код возвращает выходной графический процессор.
codegen | coder.ArrayType | coder.CellType | coder.ClassType | coder.EnumType | coder.FiType | coder.newtype | coder.PrimitiveType | coder.resize | coder.StructType | coder.Type