If point x belongs to vertices of rectangle?

1 visualización (últimos 30 días)
ABCDEFG HIJKLMN
ABCDEFG HIJKLMN el 22 de Nov. de 2021
Comentada: Jon el 22 de Nov. de 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];

Respuesta aceptada

Jon
Jon el 22 de Nov. de 2021
Editada: Jon el 22 de Nov. de 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 comentarios
ABCDEFG HIJKLMN
ABCDEFG HIJKLMN el 22 de Nov. de 2021
Thank you!
Jon
Jon el 22 de Nov. de 2021
Your welcome, good luck with your project

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Matrices and Arrays en Help Center y File Exchange.

Productos


Versión

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by