Creating a set range for a function
    14 views (last 30 days)
  
       Show older comments
    
    Sebastian Sunny
 on 3 Dec 2021
  
    
    
    
    
    Commented: Alan Stevens
      
      
 on 3 Dec 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 
0 Comments
Accepted Answer
  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
More Answers (0)
See Also
Categories
				Find more on Logical in Help Center and File Exchange
			
	Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
