Construct if cycle for two variables

1 次查看(过去 30 天)
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

采纳的回答

Walter Roberson
Walter Roberson 2022-6-16
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 个评论
Walter Roberson
Walter Roberson 2022-6-20
编辑:Walter Roberson 2022-6-20
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

请先登录,再进行评论。

更多回答(1 个)

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

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

产品


版本

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by