source: issm/trunk/src/m/utils/Array/allequal.m@ 33

Last change on this file since 33 was 33, checked in by seroussi, 16 years ago

initial input

  • Property svn:executable set to *
File size: 1.2 KB
Line 
1%
2% function to return an empty array if all array elements are
3% equal to the given value.
4%
5% function [aout]=allequal(ain,aval)
6%
7function [aout]=allequal(ain,aval)
8
9if ~nargin
10 help allequal
11 return
12end
13
14aout=ain;
15
16if islogical(ain) && islogical(aval)
17 for i=1:numel(ain)
18 if ain(i) ~= aval
19 return
20 end
21 end
22 aout=logical([]);
23
24elseif isnumeric(ain) && isnumeric(aval)
25 for i=1:numel(ain)
26 if ain(i) ~= aval
27 return
28 end
29 end
30 aout=[];
31
32elseif ischar(ain) && ischar(aval)
33 for i=1:size(ain,1)
34 if ~strcmp(ain(i,:),aval)
35 return
36 end
37 end
38 aout='';
39
40elseif iscell(ain)
41 if islogical(aval)
42 for i=1:numel(ain)
43 if ~islogical(ain{i}) || ain{i} ~= aval
44 return
45 end
46 end
47 aout={};
48
49 elseif isnumeric(aval)
50 for i=1:numel(ain)
51 if ~isnumeric(ain{i}) || ain{i} ~= aval
52 return
53 end
54 end
55 aout={};
56
57 elseif ischar(aval)
58 for i=1:size(ain,1)
59 if ~ischar(ain{i}) || ~strcmp(ain{i},aval)
60 return
61 end
62 end
63 aout={};
64 end
65end
66
67end
Note: See TracBrowser for help on using the repository browser.