makeHeterogeneous

Класс: coder. CellType
Пакет: coder

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

Синтаксис

newt = 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 указать, что классификация как однородная или неоднородная является постоянной. Вы не можете позже изменить классификацию при помощи makeHomogeneous или makeHeterogeneous методы.

  • coder.typeof определяет, является ли тип массива ячеек однородным или неоднородным. Если элементы массива ячеек имеют одинаковый класс и размер, coder.typeof возвращает однородный тип массива ячеек. Если элементы имеют различные классы, coder.typeof возвращает гетерогенный тип массива ячеек. Для некоторых массивов ячеек классификация как однородная или неоднородная неоднозначна. Например, тип для {1 [2 3]} может быть гетерогенным типом 1x2. Первый элемент имеет значение double, а второй элемент имеет значение 1x2 double. Тип может также быть однородным типом 1x3, у которого элементы имеют класс double и размер 1x: 2. Для этих неоднозначных случаев ,coder.typeof использует эвристику, чтобы классифицировать тип как однородный или неоднородный. Если вам нужна другая классификация, используйте makeHomogeneous или makeHeterogeneous методы.

Введенный в R2015b