Operands to the || and && operators must be convertible to logical scalar values.

1 vue (au cours des 30 derniers jours)
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

Réponse acceptée

Cris LaPierre
Cris LaPierre le 17 Déc 2020
Modifié(e) : Cris LaPierre le 17 Déc 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 commentaires
Walter Roberson
Walter Roberson le 17 Déc 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.
Taha Oguz Özen
Taha Oguz Özen le 17 Déc 2020
Thank you for your answer. It works.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Function Creation dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by