Effacer les filtres
Effacer les filtres

How to iterate xa from 0 to 1 with steps of 0.05 in the function r=F*(k*C*(​1-xa))/(1+​K*C*(1-xa)​). All variables are known except for r.

1 vue (au cours des 30 derniers jours)
I have to iterate the conversion of a reaction (x) in order to get the different values of catalyst mass (m).
The conversion 'x' would go from 0 to 1 with spaces of 0.05.
The function I need to iterate is: m=F*(k_kin*C*(1-x))/(1+k_ads*C*(1-x))
I know the value of all the variables except for m, which is the mass that I'd like to calculate.
F=0.11574; k_kin=1.3*10^-6; C=1.086; k_ads=0.9986
Please, help me. I haven't used matlab in years and I've forgotten how to make a 'for' loop work.
Thank you in advance.

Réponse acceptée

Star Strider
Star Strider le 23 Mai 2019
Everything except ‘x’ are scalars, so you can do this using a vectorization approach without the loop:
F=0.11574; k_kin=1.3*10^-6; C=1.086; k_ads=0.9986;
x = 0:0.05:1;
m=F*(k_kin*C*(1-x))./(1+k_ads*C*(1-x));
figure
plot(x, m)
grid
xlabel('Reaction')
ylabel('Catalyst Mass')
... including the plot! (Note the (./) denoting element-wise division.)
  2 commentaires
Marina Gonzalez
Marina Gonzalez le 23 Mai 2019
Thank you! I have the same problem I had before. I'm doing something wrong because the plot is not right, but at least now I know how to write it down. Captura.PNG
Thank you again!

Connectez-vous pour commenter.

Plus de réponses (2)

Geoff Hayes
Geoff Hayes le 23 Mai 2019
Modifié(e) : Geoff Hayes le 23 Mai 2019
Marina - try
m = zeros(20,1);
k = 1;
for x = 0:0.05:1
m(k) = F*(k_kin*C*(1-x))/(1+k_ads*C*(1-x))
k = k + 1;
end
edit to above: repalce == with = in assignment to m
  8 commentaires
Geoff Hayes
Geoff Hayes le 23 Mai 2019
where is x defined? I think you are missing
x = 0:0.05:1;
just prior to where you define m.
Marina Gonzalez
Marina Gonzalez le 23 Mai 2019
Thank you! That has really helped. I think I'm doing something wrong because for a conversion of 0, the mass of the catalyst is way bigger than for the total conversion.
Captura.PNG
I'm doing something wrong but I don't know what. I'll think about it.
Thank you once again!

Connectez-vous pour commenter.


Marina Gonzalez
Marina Gonzalez le 23 Mai 2019
It's me again- sorry!
What if the function instead of being the one I said before was m(k) = F*(1+k_ads*C*(1-x))/(k_kin*C*(1-x))
Would anything change? Because when I plot this new equation nothing shows up on the graph
  3 commentaires
Marina Gonzalez
Marina Gonzalez le 23 Mai 2019
Thank you sooooo much! It works! You've saved my day! :)

Connectez-vous pour commenter.

Catégories

En savoir plus sur Data Preprocessing dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by