exponenta event banner

Объединение категориальных массивов с помощью умножения

В этом примере показано, как использовать times функция объединения категориальных массивов, включая порядковые категориальные массивы и массивы с неопределенными элементами. При звонке times на двух категориальных массивах выходные данные представляют собой категориальный массив с новыми категориями. Набор новых категорий - это набор всех упорядоченных пар, созданных из категорий входных массивов или декартового произведения. times формирует каждый элемент выходного массива как упорядоченную пару соответствующих элементов входных массивов. Выходной массив имеет тот же размер, что и входные массивы.

Объединение двух категориальных массивов

Объединение двух категориальных массивов с помощью times. Входные массивы должны иметь одинаковое количество элементов, но могут иметь разное количество категорий.

A = categorical({'blue','red','green'});
B = categorical({'+','-','+'});
C = A.*B
C = 1x3 categorical
     blue +      red -      green + 

Декартово произведение категорий

Показать категории C. Категории представляют собой все упорядоченные пары, которые могут быть созданы из категорий A и B, также известное как декартово произведение.

categories(C)
ans = 6x1 cell
    {'blue +' }
    {'blue -' }
    {'green +'}
    {'green -'}
    {'red +'  }
    {'red -'  }

Как следствие, A.*B не равно B.*A.

D = B.*A
D = 1x3 categorical
     + blue      - red      + green 

categories(D)
ans = 6x1 cell
    {'+ blue' }
    {'+ green'}
    {'+ red'  }
    {'- blue' }
    {'- green'}
    {'- red'  }

Умножение на неопределенные элементы

Объединение двух категориальных массивов. Если либо A или B имеют неопределенный элемент, соответствующий элемент C является undefined.

A = categorical({'blue','red','green','black'});
B = categorical({'+','-','+','-'});
A = removecats(A,{'black'});
C = A.*B
C = 1x4 categorical
     blue +      red -      green +      <undefined> 

Декартово произведение порядковых категориальных массивов

Объединение двух порядковых категориальных массивов. C является порядковым категориальным массивом, только если A и B оба являются порядковыми. Порядок категорий C следует из порядков входных категориальных массивов.

A = categorical({'blue','red','green'},{'green','red','blue'},'Ordinal',true);
B = categorical({'+','-','+'},'Ordinal',true);
C = A.*B;
categories(C)
ans = 6x1 cell
    {'green +'}
    {'green -'}
    {'red +'  }
    {'red -'  }
    {'blue +' }
    {'blue -' }

См. также

| | |

Связанные примеры

Подробнее