Hey guys, I just wanted to check with you if this code is right or is there anyway I could improove it?
This is a function: I want that for the two ifs, status=1 and if the two ifs conditions doesnt apply, then ,status=0.
if angle_transmitter + teta_flutuations_transm <= angle_receiver + teta_flutuations_reflec && angle_transmitter - teta_flutuations_transm >= angle_receiver - teta_flutuations_reflec && Vectors_product_2 ~= 1
status=1;
if angle_transmitter + teta_flutuations_transm >= angle_receiver + teta_flutuations_reflec && angle_transmitter - teta_flutuations_transm <= angle_receiver + teta_flutuations_reflec
status=1;
else
status=0;
end

 Respuesta aceptada

Walter Roberson
Walter Roberson el 16 de Jun. de 2022
status = (angle_transmitter + teta_flutuations_transm <= angle_receiver + teta_flutuations_reflec && angle_transmitter - teta_flutuations_transm >= angle_receiver - teta_flutuations_reflec && Vectors_product_2 ~= 1) ||
(angle_transmitter + teta_flutuations_transm >= angle_receiver + teta_flutuations_reflec && angle_transmitter - teta_flutuations_transm <= angle_receiver + teta_flutuations_reflec)

2 comentarios

Miguel Albuquerque
Miguel Albuquerque el 20 de Jun. de 2022
I dont need any if condition?
Walter Roberson
Walter Roberson el 20 de Jun. de 2022
Editada: Walter Roberson el 20 de Jun. de 2022
This code will return 0 and 1 directly.
If you change all of the && to & and change the | | to | then the code would be vectorized, able to handle arrays of angle_transmitter at the same time

Iniciar sesión para comentar.

Más respuestas (1)

Karan Kannoujiya
Karan Kannoujiya el 16 de Jun. de 2022

0 votos

Hi Miguel,
For checking the above the condition
you will have to use two ifs and this the right way of doing it.

Productos

Versión

R2021b

Etiquetas

Preguntada:

el 15 de Jun. de 2022

Editada:

el 20 de Jun. de 2022

Community Treasure Hunt

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

Start Hunting!

Translated by