Creating a set range for a function

7 views (last 30 days)
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

Accepted Answer

Alan Stevens
Alan Stevens on 3 Dec 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 Comments
Alan Stevens
Alan Stevens on 3 Dec 2021
numel(X) is the number of elements in X.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!