diff evaluationtools/compareorderedsets.m @ 1:8973548174c1 tip

adding tools to repo
author christopherh
date Mon, 06 May 2013 14:43:47 +0100
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/evaluationtools/compareorderedsets.m	Mon May 06 14:43:47 2013 +0100
@@ -0,0 +1,78 @@
+
+
+function [match,success,errormessage] = compareorderedsets(set1,set2,cardinality)
+
+errormessage = '';
+success = 1;
+match = 0;
+
+if nargin<3
+    cardinality = 6;
+end
+
+
+
+
+% check to see if sets are same type
+if strcmp(class(set1),class(set2))
+    % check whether dealing with strings, cell arrays of chars or arrays of ints
+    if ischar(set1)
+
+        % compare strings
+        if strcmp(set1,set2)
+            match = 1;
+        else
+            match = 0;
+        end
+    end
+    
+    if iscell(set1)
+        % compare cell arrays of characters
+
+        % fill blank spaces so that cardinalities match
+        while length(set1)<cardinality
+            set1 = [set1, '-'];
+        end    
+
+        while length(set2)<cardinality
+            set2 = [set2, '-'];
+        end    
+
+        for i = 1:cardinality
+
+            if strcmp(set1{i},set2{i})
+                match = 1;
+            else
+                match = 0;
+                break;
+            end 
+        end
+    end
+    
+	if isnumeric(set1) && isnumeric(set2)
+        % compare integers
+
+            % fill blank spaces so that cardinalities match
+        while length(set1)<cardinality
+            set1 = [set1,-1];
+        end    
+
+        while length(set2)<cardinality
+            set2 = [set2,-1];
+        end    
+
+        for i = 1:cardinality
+
+            if set1(i)==set2(i)
+                match = 1;
+            else
+                match = 0;
+                break;
+            end 
+        end
+    end
+else
+    % trying to compare mixed data types   
+    errormessage = 'Error in compareorderedsets: trying to compare mixed data types';
+    success= 0;   
+end
\ No newline at end of file