Creating a set range for a function
    14 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Sebastian Sunny
 el 3 de Dic. de 2021
  
    
    
    
    
    Comentada: Alan Stevens
      
      
 el 3 de Dic. de 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 comentarios
Respuesta aceptada
  Alan Stevens
      
      
 el 3 de Dic. de 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 comentarios
Más respuestas (0)
Ver también
Categorías
				Más información sobre Logical en Help Center y File Exchange.
			
	Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

