#!/usr/perl/perl580/bin/perl use Algorithm::Cluster; $^W = 1; use strict; use warnings "Algorithm::Cluster"; my $weight = [ 1,1 ]; my $data = [ [ 1.1, 1.2 ], [ 1.4, 1.3 ], [ 1.1, 1.5 ], [ 2.0, 1.5 ], [ 1.7, 1.9 ], [ 1.7, 1.9 ], [ 5.7, 5.9 ], [ 5.7, 5.9 ], [ 3.1, 3.3 ], [ 5.4, 5.3 ], [ 5.1, 5.5 ], [ 5.0, 5.5 ], [ 5.1, 5.2 ], ]; my $mask = [ [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], ]; my $clusterA = [ 0, 1, 2, 3 ]; my $clusterB = [ 4, 5, 6, 7 ]; my $clusterC = [ 8 ]; my %params = ( transpose => 0, method => 'a', dist => 'e', ); my ($distance); $distance = Algorithm::Cluster::clusterdistance( %params, data => $data, mask => $mask, weight => $weight, cluster1 => $clusterA, cluster2 => $clusterB, ); printf("Distance between cluster A and cluster B is %7.3f\n", $distance); $distance = Algorithm::Cluster::clusterdistance( %params, data => $data, mask => $mask, weight => $weight, cluster1 => $clusterA, cluster2 => $clusterC, ); printf("Distance between cluster A and cluster C is %7.3f\n", $distance); $distance = Algorithm::Cluster::clusterdistance( %params, data => $data, mask => $mask, weight => $weight, cluster1 => $clusterB, cluster2 => $clusterC, ); printf("Distance between cluster B and cluster C is %7.3f\n", $distance); $distance = Algorithm::Cluster::clusterdistance( %params, data => $data, mask => $mask, weight => $weight, cluster1 => $clusterA, cluster2 => 5, ); printf("Distance between cluster A and item 5 is %7.3f\n", $distance); $distance = Algorithm::Cluster::clusterdistance( %params, data => $data, mask => $mask, weight => $weight, cluster1 => 1, cluster2 => $clusterC, ); printf("Distance between cluster C and item 1 is %7.3f\n", $distance); $distance = Algorithm::Cluster::clusterdistance( %params, data => $data, mask => $mask, weight => $weight, cluster1 => 1, cluster2 => 6, ); printf("Distance between item 1 and item 6 is %7.3f\n", $distance); __END__