exponenta event banner

makeHeterogeneous

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

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

Синтаксис

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. Первый элемент является двойным, а второй элемент - двойным. Тип также может быть однородным типом 1x3, в котором элементы имеют класс double и размер 1x: 2. Для этих неоднозначных случаев ,coder.typeof использует эвристику для классификации типа как однородного или гетерогенного. Если требуется другая классификация, используйте makeHomogeneous или makeHeterogeneous методы.

Представлен в R2015b