makeHomogeneous

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

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

Синтаксис

newt = makeHomogeneous(t)
t = makeHomogeneous(t)

Описание

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

Создать newt, makeHomogeneous метод должен определить размер и класс, которые представляют все элементы t:

  • Если элементы t имейте тот же класс, но различные размеры, элементы newt переменный размер с верхними границами, которые вмещают элементы t.

  • Если элементы t имейте различные классы, например, char и double, makeHomogeneous метод не может создать coder.CellType объект для гомогенного массива ячеек.

Если вы используете coder.cstructname задавать имя для типа структуры, который представляет t в сгенерированном коде вы не можете создать гомогенный coder.CellType объект от t.

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

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

Примеры

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

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

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

coder.CellType
   1x2 heterogeneous cell 
      f0: 1x1 double
      f1: 1x2 double

Тип массива ячеек неоднороден.

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

t = makeHomogeneous(t)
t = 

coder.CellType
   1×2 locked homogeneous cell 
      base: 1×:2 double

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

Советы

  • В отображении coder.CellType объект, условия locked heterogeneous или locked homogeneous укажите, что классификация как гомогенная или неоднородная является постоянной. Вы не можете позже изменить классификацию при помощи makeHomogeneous или makeHeterogeneous методы.

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

Введенный в R2015b