How can I make a conditional statement when using variables?
10 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Maik Petersen
am 24 Dez. 2013
Kommentiert: Maik Petersen
am 24 Dez. 2013
In my script I first defined a for loop:
for n = 1:inf
a = 10^(n+1);
b = 10*a;
so the for-loop assigns every iteration new values to my variables a and b.
Right after it I made an conditional statement:
if (a <= x)&&(x < b)
I want my value x (which I assign when activating the script) to lie between a and b. But matlab won't agree with me. It says:
Operands to the || and && operators must be convertible to logical scalar
values.
Error in palin (line 10)
if (a <= x)&&(x < b)
Though I thought values to the variables a and b were assigned earlier in the script, matlab would recognize these values. I was wrong. Does anybody has a suggestion what I could do to fix this error? I hope it is very easy to solve, so that soon someone will help me out of this. Thanks in advance.
0 Kommentare
Akzeptierte Antwort
Wayne King
am 24 Dez. 2013
Bearbeitet: Wayne King
am 24 Dez. 2013
I'm guessing from the error message you report that x is a vector, not a scalar. From the code snippet you show, both a and b are scalars, x should be a scalar too.
So for example, look at the following
x = 10001;
for n = 1:3
a = 10^(n+1);
b = 10*a;
if (a <= x)&&(x < b)
disp('yes');
else
disp('no');
end
end
Now, if you try the above with x a vector
x = 10000:10004;
You'll get the error message you are seeing.
3 Kommentare
Image Analyst
am 24 Dez. 2013
I find it hard to believe that having the upper limit as 3 or something else, like inf, would cause it to work or fail. My guess is that you're changing x inside the loop and that if n is more than 3 somehow x turns into a vector. Does x appear at all in the loop other than the if statement? If so, are you concatenating/appending to it?
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!