Creating a set range for a function

10 visualizzazioni (ultimi 30 giorni)
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

Risposta accettata

Alan Stevens
Alan Stevens il 3 Dic 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 Commenti
Sebastian Sunny
Sebastian Sunny il 3 Dic 2021
That makes alot more sense thank you
but in your code what does te numel(x) mean?
Alan Stevens
Alan Stevens il 3 Dic 2021
numel(X) is the number of elements in X.

Accedi per commentare.

Più risposte (0)

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by