Creating a set range for a function

6 vues (au cours des 30 derniers jours)
Sebastian Sunny
Sebastian Sunny le 3 Déc 2021
Commenté : Alan Stevens le 3 Déc 2021
Hi guys,
Im trying to create a if fucnction where my equation works for a set range of x values.
My code at the moment:
x = (mydata);
if (x < 3) && (x > 25)
windTurbineRotorModel(x == 0);
elseif (3 < x) && (x < 11)
windTurbineRotorModel = (0.042)*(1/2)*(1.23)*pi()*((171/2)^3)*(x).^2;
elseif (11 < x) && (x < 25)
windTurbineRotorModel = (0.042)*(1/2)*(1.23)*pi()*((171/2)^3)*(x).^2;
end
Thanks

Réponse acceptée

Alan Stevens
Alan Stevens le 3 Déc 2021
(x < 3) && (x > 25)
An individual element of x can't be both less than 3 and greater than 25 at the same time.
If here are many values of x (as is likely), then do the tests element by element. e.g. something like:
for i = 1:numel(x)
if (x(i) < 3) || (x(i) > 25)
windTurbineRotorModel(x == 0);
elseif (3 < x(i)) && (x(i) < 11)
windTurbineRotorModel = (0.042)*(1/2)*(1.23)*pi()*((171/2)^3)*(x(i)).^2;
elseif (11 < x(i)) && (x(i) < 25)
windTurbineRotorModel = (0.042)*(1/2)*(1.23)*pi()*((171/2)^3)*(x(i)).^2;
end
end
  2 commentaires
Sebastian Sunny
Sebastian Sunny le 3 Déc 2021
That makes alot more sense thank you
but in your code what does te numel(x) mean?
Alan Stevens
Alan Stevens le 3 Déc 2021
numel(X) is the number of elements in X.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by