%Eexample2.m %example 2 for elinkage, requires Statistics Toolbox load carsmall y = [Cylinders, Displacement, Horsepower, Weight, Acceleration]; %remove observations with missing values [miss1, miss2] = find(isnan(y)); y(miss1, :) = []; Model(miss1,:) = []; n = size(y, 1); N = n; %cluster the first N obs. x = y(1:N, :); lab = Model(1:N, 1:4); %standardize the data (optional) y = zscore(y); dst = pdist(y); %elinkage with alpha=1, Euclidean distance %by default, dendrogram plots highest 30 nodes L = elinkage(dst, 1); dendrogram(L); cl = cluster(L, 'MaxClust', 4); [lab cl] %or we can plot logs of heights, easier to read L(:, 3) = log(1 + L(:, 3)); dendrogram(L, 15); %15 nodes are plotted %elinkage with alpha=2, squared distances %compare with alpha=1 L2 = elinkage(dst, 2); A = [L(:,1:2) L2(:,1:2)]