Construct if cycle for two variables

조회 수: 1 (최근 30일)
Miguel Albuquerque
Miguel Albuquerque 2022년 6월 15일
편집: Walter Roberson 2022년 6월 20일
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
Miguel Albuquerque
Miguel Albuquerque 2022년 6월 20일
I dont need any if condition?
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