makeHeterogeneous

Класс: кодер. CellType
Пакет: кодер

Сделайте неоднородную копию типа массива ячеек

Синтаксис

тритон = makeHeterogeneous (t)
t = makeHeterogeneous (t)

Описание

newt = makeHeterogeneous(t) создает объект coder.CellType для неоднородного массива ячеек от объекта coder.CellType t. t не может представлять массив ячеек переменного размера.

Классификация как неоднородная является постоянной. Вы не можете позже создать гомогенный объект coder.CellType из newt.

t = makeHeterogeneous(t) создает неоднородный объект coder.CellType из t и заменяет t на новый объект.

Примеры

развернуть все

Создайте тип массива ячеек t, элементы которого имеют тот же класс и размер.

t = coder.typeof({1 2 3})
t = 

coder.CellType
   1x3 homogeneous cell 
      base: 1x1 double

Тип массива ячеек является гомогенным.

Замените t на тип массива ячеек для неоднородного массива ячеек.

t = makeHeterogeneous(t)
t = 

coder.CellType
   1×3 locked heterogeneous cell 
      f1: 1×1 double
      f2: 1×1 double
      f3: 1×1 doublee

Тип массива ячеек неоднороден. Элементы имеют размер и класс исходного гомогенного типа массива ячеек.

Советы

  • В отображении объекта 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.

Введенный в R2015b

Была ли эта тема полезной?