кодер. Класс PrimitiveType

Пакет: кодер
Суперклассы: coder.ArrayType

Представляйте набор логических, числовых, или массивов символов

Описание

Задает набор логических, числовых, или символьных значений, которые должен принять сгенерированный код. Поддерживаемыми классами является double, single, int8, uint8, int16, uint16, int32, uint32, int64, uint64, char и logical. Используйте только с опцией -args codegen. Не передавайте как вход сгенерированной MEX-функции.

Конструкция

t=coder.typeof(v) создает объект coder.PrimitiveType, обозначающий самый маленький непостоянный тип, который содержит v. v должен быть MATLAB®, числовой, логический или char.

t=coder.typeof(v, sz, variable_dims) возвращает измененную копию coder.typeof(v) с (верхней границей) размер, заданный sz и переменными размерностями variable_dims. Если sz задает inf для размерности, то размер размерности принят, чтобы быть неограниченным, и размерность принята, чтобы быть переменная измеренный. Когда sz [], (верхняя граница), размеры v остаются неизменными. Когда variable_dims не задан, размерности типа приняты, чтобы быть зафиксированными за исключением тех, которые неограниченны. Когда variable_dims является скаляром, он применяется к ограниченным размерностям, которые не являются 1 или 0 (которые приняты, чтобы быть зафиксированными).

t=coder.newtype(numeric_class, sz, variable_dims) создает представление объекта coder.PrimitiveType значения класса numeric_class с (верхней границей) размеры sz и переменные размерности variable_dims. Если sz задает inf для размерности, то размер размерности принят, чтобы быть неограниченным, и размерность принята, чтобы быть переменная измеренный. Когда variable_dims не задан, размерности типа приняты, чтобы быть зафиксированными за исключением тех, которые неограниченны. Когда variable_dims является скаляром, он применяется к размерностям типа, которые не являются 1 или 0 (которые приняты, чтобы быть зафиксированными).

t=coder.newtype(numeric_class, sz, variable_dims, Name, Value) создает объект coder.PrimitiveType с дополнительными опциями, заданными одним или несколькими Имя, аргументы пары Значения. Name может также быть именем свойства, и Value является соответствующим значением. Задайте Name как вектор символов или представьте скаляр в виде строки. Можно задать несколько аргументов пары "имя-значение" в любом порядке как Name1,Value1,…,NameN,ValueN.

Входные параметры

v

Введите, который не является объектом coder.Type

sz

Размер для соответствующей размерности текстового объекта. Размер должен быть допустимым вектором размера.

Значение по умолчанию: [1 1] для coder.newtype

variable_dims

Логический вектор, который задает, является ли каждая размерность переменным размером (TRUE) или (FALSE) фиксированный размер.

Значение по умолчанию: ложь (размер (sz)) | sz == Inf для coder.newtype

numeric_class

Класс текстового объекта.

Аргументы в виде пар имя-значение

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

'complex'

Установите complex на true создавать объект coder.PrimitiveType, который может представлять комплексные числа. Тип должен поддержать комплексные данные.

По умолчанию: false

'sparse'

Установите sparse на true создавать объект coder.PrimitiveType, представляющий разреженные данные. Тип должен поддержать разреженные данные.

По умолчанию: false

Свойства

ClassName

Класс значений в этом наборе

Complex

Указывает, действительны ли значения в этом наборе (false) или объединяют (true)

SizeVector

Размер верхней границы массивов в этом наборе.

Sparse

Указывает, являются ли значения в этом наборе разреженными массивами (true)

VariableDims

Вектор раньше задавал, фиксируется ли каждая размерность массива или переменный размер. Если векторным элементом является true, соответствующая размерность является переменным размером.

Копировать семантику

Значение. Чтобы изучить, как классы значения влияют на операции копии, смотрите Копирование Объектов (MATLAB).

Примеры

Создайте объект coder.PrimitiveType.

z = coder.typeof(0,[2 3 4],[1 1 0]) % returns double :2x:3x4
% ':' indicates variable-size dimensions

Создайте объект coder.PrimitiveType, затем вызывают codegen, чтобы сгенерировать библиотеку C для функционального fcn.m, который имеет входной параметр того этого типа.

  1. Создайте объект coder.PrimitiveType.

    z = coder.typeof(0,[2 3 4],[1 1 0]) % returns double :2x:3x4
    % ':' indicates variable-size dimensions
  2. Вызовите codegen, чтобы сгенерировать библиотеку C для функции MATLAB fcn.m, который имеет входной тип параметра того z.

    % Use the config:lib option to generate a C library
    codegen -config:lib fcn -args {z}
    

Введенный в R2011a