How to use for loop and if else condition for multiple conditions

3 次查看(过去 30 天)
I am writing a code for Pass/Fail criteria for a application in which if two given conditions are satisfied then it will be pass or it will fail. but I am getting error as,
'Operands to the || and && operators must be convertible to logical scalar values.'
suggest me correction in my code
Thank u in advance!!
for system = 1
if ((A == 45) && (0.8 < B < 1.2))
display('system function - PASS');
else
display('system function - FAIL');
end
end

采纳的回答

John D'Errico
John D'Errico 2020-3-25
编辑:John D'Errico 2020-3-25
First, you don'r need a for loop that runs over system, sine you re just assigning it one value! That is, this:
for system = 1
is silly and unecessary. Just write
system = 1;
(removing the now spurious end that went with the for, of course.)
Next, the if is written incorrectly, as MATLAB told you. Just because it is common mathematical shorthand to write this:
(0.8 < B < 1.2)
does not make it work as you wish in MATLAB. Split it into two tests, which is what the shorthand implies anyway.
if ((A == 45) && (0.8 < B) && (B < 1.2))
Finally, what was the immediate reason why your code failed in the first place?
'Operands to the || and && operators must be convertible to logical scalar values.'
That tells you either A or B, or both of them, were not scalar variables. You cannot have an if statement that loops over a vector or array. That is, an if statement is not an implied loop.
I would also STRONGLY recommend that you read the getting started tutorials. If you have made 3 basic mistakes in your first 3 lines of code, this tells me you never bothered to read any documentation. READ THE MANUAL. It was put there to get you started.
  1 个评论
Ashwini  More
Ashwini More 2020-3-25
Thank you for your help and suggestion!!
but I want to clarify that this code is not for one set of values, actually it is for large data in which 'system' value can be '0' or '1' and hence I am using for loop
here A & B are not scalar variables as both have number of values i.e. it is vector. and I want to apply to code for this range that for certain period, system= 1, and for that range, these both conditions should be satisfy or it will fail system function.
So, how can I update my code to get the result for vector or array.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by