If point x belongs to vertices of rectangle?
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
ABCDEFG HIJKLMN
am 22 Nov. 2021
Kommentiert: Jon
am 22 Nov. 2021
I have defined a rectangle with four points, x1_min, x1_max, x2_min and x2_max. My goal is to create an if cycle with the condition where a point x is any of the four corners of this rectangle.
Instead of writing something like ( (x(1) == x1_min && x(2) == x2_min) || (x(1) == x1_min && x(2) == x2_max) || (x(1) == x1_max && x(2) == x2_min) || (x(1) == x1_max && x(2) == x2_max) ), is there a simpler way?
Thank you in advance!
x1_min = 0.1;
x1_max = 2.0;
x2_min = 0.1;
x2_max = 2.5;
x_bound = [x1_min x1_max ; x2_min x2_max];
x = [0.1 0.1];
0 Kommentare
Akzeptierte Antwort
Jon
am 22 Nov. 2021
Bearbeitet: Jon
am 22 Nov. 2021
You could define a 4 by 2 array, corners, with the corner values (first column x values, second column y values) then do something like
if any(all([2,3]==corners,2))
you could also use ismember
ismember([2,3],corners,'rows')
I think using ismember is clearer
2 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Matrices and Arrays 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!