Performing calculation with multiple conditions with for loop and nested if statements
Mostrar comentarios más antiguos
I have a column of data (temperatures) and want to create a second column based on these temperatures. In Excel, it is accomplished with a simple nested if statement. My loop in Matlab, however, works for a few rows, then begins to return 0's. The conditions are:
- If temperature (T1) is < 0, then RHCrit = 0
- If T1 is between 0 and 20, then RHCrit = -0.00267*(T1^3)+0.160*(T1^2)-3.13*T1+100
- If T1 is >20, then RHCrit = 80
My code right now is:
RHcrit = zeros(size(T1));
for i = 1:length(T1)
if T1(i)>0
if T1(i)<20
RHcrit(i)=-0.00267*(T1(i)^3)+0.160*(T1(i)^2)-3.13*T1(i)+100
else
RHcrit(i)=80
end
else
RHcrit(i)=0
end
end
2 comentarios
Nicolas Schmit
el 5 de Dic. de 2017
Please share the value of T1 so that your code can be tested.
Kevin Zhang
el 5 de Dic. de 2017
Respuesta aceptada
Más respuestas (0)
Categorías
Más información sobre Common Operations en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!