How to use the sum of all the iterations of a value calculated in a for-loop to calculate another value within the same loop?

12 visualizaciones (últimos 30 días)
Hi, I am trying to calculate the species mass fractions (Wi) within a stream by dividing the species flow rate (Mi) by the overall mass flow rate (sum of all values of Mi). I have managed to calculate and save all the mass flow rates (mi), but I'm struggling with summing all those values to get the overall stream mass flow rate. Any help would be greatly appreciated.
for i = 1:50
Mi = M(i)*n(i); % species mass flow rate (g/h)
mi(i) = Mi;
Xi = n(i)/sum(n); % species mole fraction (no unit)
xi(i) = Xi;
Wi = Mi/sum(mi); % species mass fraction (no unit) - this is the denominator I'm struggling with
wi(i) = Wi;
end
  4 comentarios
Dyuman Joshi
Dyuman Joshi el 20 de Sept. de 2022
It's not a bit clear to me what you are trying to do, can you an example with a set of data?
Jessica Hale
Jessica Hale el 20 de Sept. de 2022
So sorry, I meant something like this:
M = [2 3]
n = [8 9]
Mi_1 = M(1)*n(1)
Mi_2 = M(2)*n(2)
mi = [Mi_1 Mi_2]
mi_total = sum(mi)
Wi_1 = Mi_1/mi_total
Wi_2 = Mi_2/mi_total
wi = [Wi_1 Wi_2]
But I want to do this for when M and n are 50x1 arrays, and then calcuate Mi_1,..., Mi_50 and Wi_1,..., Wi_50 in a for loop.

Iniciar sesión para comentar.

Respuestas (1)

Dyuman Joshi
Dyuman Joshi el 20 de Sept. de 2022
Editada: Dyuman Joshi el 20 de Sept. de 2022
Is using a loop necessary?
If yes, then my comment above should work -
M = [2 3];
n = [8 9];
for i = 1:2
mi(i) = M(i)*n(i); % species mass flow rate (g/h)
end
mi
mi = 1×2
16 27
wi=mi/sum(mi)
wi = 1×2
0.3721 0.6279
If no, then you can do without loop as well
mi1=M.*n
mi1 = 1×2
16 27
wi1=mi1/sum(mi1)
wi1 = 1×2
0.3721 0.6279
Verification, with the code you provided
Mi_1 = M(1)*n(1);
Mi_2 = M(2)*n(2);
Mi = [Mi_1 Mi_2]
Mi = 1×2
16 27
Mi_total = sum(Mi);
Wi_1 = Mi_1/Mi_total;
Wi_2 = Mi_2/Mi_total;
Wi = [Wi_1 Wi_2]
Wi = 1×2
0.3721 0.6279

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by