www.gusucode.com > matlab 案例源码 matlab代码程序 > matlab/CombineCategoricalArraysUsingMultiplicationExample.m
%% Combine Categorical Arrays Using Multiplication % This example shows how to use the |times| function to combine categorical % arrays, including ordinal categorical arrays and arrays with undefined % elements. When you call |times| on two categorical arrays, the output is % a categorical array with new categories. The set of new categories is % the set of all the ordered pairs created from the categories of the input % arrays, or the Cartesian product. |times| forms each element of the output % array as the ordered pair of the corresponding elements of the input % arrays. The output array has the same size as the input arrays. % Copyright 2015 The MathWorks, Inc. %% Combine Two Categorical Arrays % Combine two categorical arrays using |times|. The input arrays must have % the same number of elements, but can have different numbers of categories. A = categorical({'blue','red','green'}); B = categorical({'+','-','+'}); C = A.*B %% %% Cartesian Product of Categories % Show the categories of |C|. The categories are all the ordered pairs % that can be created from the categories of |A| and |B|, also known as % the Cartesian product. categories(C) %% % As a consequence, |A.*B| does not equal |B.*A|. D = B.*A %% categories(D) %% Multiplication with Undefined Elements % Combine two categorical arrays. If either |A| or |B| have an undefined % element, the corresponding element of |C| is |undefined|. A = categorical({'blue','red','green','black'}); B = categorical({'+','-','+','-'}); A = removecats(A,{'black'}); C = A.*B %% Cartesian Product of Ordinal Categorical Arrays % Combine two ordinal categorical arrays. |C| is an ordinal categorical % array only if |A| and |B| are both ordinal. The ordering of the % categories of |C| follows from the orderings of the input categorical % arrays. A = categorical({'blue','red','green'},{'green','red','blue'},'Ordinal',true); B = categorical({'+','-','+'},'Ordinal',true); C = A.*B; categories(C)