How to eliminate array which contain zero, negative values, repeated values, etc constraint?
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Grace
am 11 Nov. 2014
Kommentiert: Andrei Bobrov
am 11 Nov. 2014
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 Kommentare
Akzeptierte Antwort
Andrei Bobrov
am 11 Nov. 2014
Bearbeitet: Andrei Bobrov
am 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 Kommentare
Andrei Bobrov
am 11 Nov. 2014
in your case
out = M(all(diff(sort(M,2),1,2) == 1,2) & all(M <= 6,2),:);
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Calculus finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!