Пакет: кодер
Суперклассы: coder.ArrayType
Представляйте набор массивов ячеек MATLAB
Задает набор массивов ячеек, которые принимает сгенерированный код. Используйте только с опцией -args
fiaccel
. Не передавайте как вход сгенерированной MEX-функции.
t = coder.typeof(
создает объект cells
)coder.CellType
для массива ячеек, который имеет те же ячейки и типы ячейки как cells
. Ячейки в cells
являются значениями в качестве примера или текстовыми объектами.
t = coder.typeof(
создает объект cells
, sz
, variable_dims
)coder.CellType
, которому задали верхние границы sz
и переменные размерности, заданные variable_dims
. Если sz
задает inf
для размерности, то размер размерности неограничен, и размерность является переменным размером. Когда sz
является []
, верхние границы не изменяются. Если вы не задаете параметр входа variable_dims
, за исключением неограниченных размерностей, размерности типа фиксируются. Скалярный variable_dims
применяется к ограниченным размерностям, которые не являются 1
или 0
.
Когда cells
задает массив ячеек, элементы которого имеют различные классы, вы не можете использовать coder.typeof
, чтобы создать объект coder.CellType
для массива ячеек переменного размера.
t = coder.newtype(
создает объект cells
)coder.CellType
для массива ячеек, который имеет ячейки и типы ячейки, заданные cells
. Ячейки в cells
должны быть текстовыми объектами.
t = coder.newtype(
создает cell_array
, sz
, variable_dims
)coder.CellType
, которому задали верхние границы sz
и переменные размерности, заданные variable_dims
. Если sz
задает inf
для размерности, то размер размерности неограничен, и размерность является переменным размером. Когда sz
является []
, верхние границы не изменяются. Если вы не задаете параметр входа variable_dims
, за исключением неограниченных размерностей, размерности типа фиксируются. Скалярный variable_dims
применяется к ограниченным размерностям, которые не являются 1
или 0
.
Когда cells
задает массив ячеек, элементы которого имеют различные классы, вы не можете использовать coder.newtype
, чтобы создать объект coder.CellType
для массива ячеек переменного размера.
isHeterogeneous | Определите, представляет ли тип массива ячеек неоднородный массив ячеек |
isHomogeneous | Определите, представляет ли тип массива ячеек гомогенный массив ячеек |
makeHeterogeneous | Сделайте неоднородную копию типа массива ячеек |
makeHomogeneous | Создайте гомогенную копию типа массива ячеек |
Значение. Чтобы изучить, как классы значения влияют на операции копии, смотрите Копирование Объектов (MATLAB).
В отображении объекта coder.CellType
условия locked heterogeneous
или locked homogeneous
указывают, что классификация как гомогенная или неоднородная является постоянной. Вы не можете позже изменить классификацию при помощи методов makeHeterogeneous
или makeHomogeneous
.
coder.typeof
определяет, является ли тип массива ячеек гомогенным или неоднородным. Если элементы массива ячеек имеют тот же класс и размер, coder.typeof
возвращает гомогенный тип массива ячеек. Если элементы имеют различные классы, coder.typeof
возвращает неоднородный тип массива ячеек. Для некоторых массивов ячеек классификация как гомогенная или неоднородная неоднозначна. Например, тип для {1 [2 3]} может быть 1x2 неоднородный тип. Первый элемент является двойным, и второй элемент 1x2 дважды. Тип может также быть 1x3 гомогенный тип, в котором элементы имеют класс дважды и размер 1x:2. Для этих неоднозначных случаев coder.typeof
использует эвристику, чтобы классифицировать тип как гомогенный или неоднородный. Если вы хотите различную классификацию, используйте методы makeHeterogeneous
или makeHomogeneous
. Метод makeHomogeneous
делает гомогенную копию типа. Метод makeHeterogeneous
делает неоднородную копию типа.
makeHomogeneous
и методы makeHeterogeneous
постоянно присваивают классификацию как гомогенную и неоднородную, соответственно. Вы не можете дальнейшее использование один из этих методов, чтобы создать копию, которая имеет различную классификацию.
coder.ArrayType
| coder.ClassType
| coder.Constant
| coder.EnumType
| coder.FiType
| coder.PrimitiveType
| coder.StructType
| coder.Type
| coder.newtype
| coder.resize
| coder.typeof
| fiaccel