How to perform a calculation only when a input value is positive

2 views (last 30 days)
I have a input file that has 1x367 inputs. I only want to calculate the following equation when the input value is positive. I thought this would be done through a for loop but that appears to not not be valid. How can I perform this calculation such that only a positive value is used? I thought a for loop would be the correct choice and also tried an if statement. Is there a better way to do this?
for chi_e > 0.0
j_l = ((1-chi_e)*m_dot)/(rho_L*((pi*D^2)/4));

Accepted Answer

Abhinav Gupta
Abhinav Gupta on 31 May 2021
Edited: Abhinav Gupta on 31 May 2021
Let your input variable be a of size = 1x367
Let b be the variable which consist of all positive elements of a.
b = a( a>= 0 );
for i = 1:1:length(b)
j_l = ((1-b(i))*m_dot)/(rho_L*((pi*D^2)/4));
Or simply,
b = a( a>= 0 );
j_l = ((1-b)*m_dot)/(rho_L*((pi*D^2)/4));

More Answers (1)

Scott MacKenzie
Scott MacKenzie on 31 May 2021
It is not clear what you mean by "input value", but assuming you do know, then...
for chi_e > 0.0
if input_value > 0
j_l = ((1-chi_e)*m_dot)/(rho_L*((pi*D^2)/4));
  1 Comment
Kevin Burg
Kevin Burg on 31 May 2021
Sorry, I have a pre-calculated matrix of positive and negative values for chi_e. I only want to use positive values of chi_e in the j_l formula.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by