Clear Filters
Clear Filters

Construct if cycle for two variables

1 view (last 30 days)
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

Accepted Answer

Walter Roberson
Walter Roberson on 16 Jun 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 Comments
Walter Roberson
Walter Roberson on 20 Jun 2022
Edited: Walter Roberson on 20 Jun 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

Sign in to comment.

More Answers (1)

Karan Kannoujiya
Karan Kannoujiya on 16 Jun 2022
Hi Miguel,
For checking the above the condition
you will have to use two ifs and this the right way of doing it.

Products


Release

R2021b

Community Treasure Hunt

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

Start Hunting!