www.gusucode.com > matlab 案例源码 matlab代码程序 > matlab/HowtoCreateOrdinalCategoricalArraysExample.m
%% How to Create Ordinal Categorical Arrays % This example shows how to create an ordinal categorical array using the % |categorical| function with the |'Ordinal',true| name-value pair argument. %% Ordinal Categorical Array from a Cell Array of Character Vectors % Create an ordinal categorical array, |sizes|, from a cell array of character vectors, % |A|. Use |valueset|, specified as a vector of unique values, to define % the categories for |sizes|. A = {'medium' 'large';'small' 'medium'; 'large' 'small'}; valueset = {'small', 'medium', 'large'}; sizes = categorical(A,valueset,'Ordinal',true) %% % |sizes| is 3-by-2 ordinal categorical array with three categories such % that |small < medium < large|. The order of the values in |valueset| becomes % the order of the categories of |sizes|. %% Ordinal Categorical Array from Integers % Create an equivalent categorical array from an array of integers. Use % the values |1|, |2|, and |3| to define the categories |small|, |medium|, % and |large|, respectively. A2 = [2 3; 1 2; 3 1]; valueset = 1:3; catnames = {'small','medium','large'}; sizes2 = categorical(A2,valueset,catnames,'Ordinal',true) %% % Compare |sizes| and |sizes2| isequal(sizes,sizes2) %% % |sizes| and |sizes2| are equivalent categorical arrays with the same ordering % of categories. %% Convert a Categorical Array from Nonordinal to Ordinal % Create a nonordinal categorical array from the cell array of character vectors, |A|. sizes3 = categorical(A) %% % Determine if the categorical array is ordinal. isordinal(sizes3) %% % |sizes3| is a nonordinal categorical array with three categories, |{'large','medium','small'}|. % The categories of |sizes3| are the sorted unique values from |A|. You % must use the input argument, |valueset|, to specify a different category % order. %% % Convert |sizes3| to an ordinal categorical array, such that |small < medium % < large|. sizes3 = categorical(sizes3,{'small','medium','large'},'Ordinal',true); %% % |sizes3| is now a 3-by-2 ordinal categorical array equivalent to |sizes| % and |sizes2|.