How to eliminate array which contain zero, negative values, repeated values, etc constraint?
2 views (last 30 days)
Show older comments
Hi, I have n=6 and for example I have several set of points ( with 6 elements),
a=[1 5 1 6 2 6];
b=[2 5 1 6 2 5];
c=[3 5 1 6 2 4];
d=[0 4 1 6 3 7];
e=[1 4 1 6 3 6];
f=[-1 3 1 6 4 8];
I wish to eliminate the set which contain zero, negative values,elements greater than n=6 and repeated values. At the end, left set c. The others are eliminated due to:
a-repeated value 1 and 6
b-repeated value 2 and 5
d-contain zero, and 7 (which is greater than 6)
e-repeated value 1 and 6
f-contain negative value and 8 (greater than 6).
Thanks in advance.
0 Comments
Accepted Answer
Andrei Bobrov
on 11 Nov 2014
Edited: Andrei Bobrov
on 11 Nov 2014
a=[1 5 1 6 2 6];
b=[2 5 1 6 2 5];
c=[3 5 1 6 2 4];
d=[0 4 1 6 3 7];
e=[1 4 1 6 3 6];
f=[-1 3 1 6 4 8];
M = [a;b;c;d;e;f];
out = M(all(M > 0,2) & cellfun(@(x)numel(unique(x)) == numel(x),num2cell(M,2)),:);
4 Comments
Andrei Bobrov
on 11 Nov 2014
in your case
out = M(all(diff(sort(M,2),1,2) == 1,2) & all(M <= 6,2),:);
More Answers (0)
See Also
Categories
Find more on Calculus in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!