Azzera filtri
Azzera filtri

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

1 visualizzazione (ultimi 30 giorni)
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));
end

Risposta accettata

Abhinav Gupta
Abhinav Gupta il 31 Mag 2021
Modificato: Abhinav Gupta il 31 Mag 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));
disp(j_l);
end
Or simply,
b = a( a>= 0 );
j_l = ((1-b)*m_dot)/(rho_L*((pi*D^2)/4));

Più risposte (1)

Scott MacKenzie
Scott MacKenzie il 31 Mag 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));
end
end
  1 Commento
Kevin Burg
Kevin Burg il 31 Mag 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.

Accedi per commentare.

Categorie

Scopri di più su Introduction to Installation and Licensing in Help Center e File Exchange

Prodotti


Release

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by