Operands to the || and && operators must be convertible to logical scalar values.
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Taha Oguz Özen
am 16 Dez. 2020
Kommentiert: Taha Oguz Özen
am 17 Dez. 2020
Hello eveyone. I try to do if 30<q_degree<150, Fc=500; otherwise Fc=0. However I have Operands to the || and && operators must be convertible to logical scalar values problem.
Also, It doesn't solve the Fc as a matrix for q matrix. How can I fix this. Please help me.
q= 0:pi/360:2*pi;
q_degree= rad2deg(q)
%DİKKAT ET Fc Yİ BİR MATRİX OLARAK TANIMLAMADI!!!!!!!!
if (q_degree>30) && (q_degree<150)
Fc=500;
else
Fc=0;
end
0 Kommentare
Akzeptierte Antwort
Cris LaPierre
am 17 Dez. 2020
Bearbeitet: Cris LaPierre
am 17 Dez. 2020
Logical scalar means 1 logical value. You have a vector of logical values. An if statement must have a single logical result from the conditional expression. To check that all values met the criteria, us all().
If you instead meant to check each individual value separately, you'll need to incorporate a for loop (or logical indexing).
2 Kommentare
Walter Roberson
am 17 Dez. 2020
Fc = zeros(size(q_degree));
Fc(30 < q_degree & q_degree < 150) = 500;
Be careful about the boundaries, about what is to happen if the values are exactly 30 or exactly 500.
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!