Filter löschen
Filter löschen

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 Ansicht (letzte 30 Tage)
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.

Akzeptierte Antwort

Star Strider
Star Strider am 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 Kommentare
Marina Gonzalez
Marina Gonzalez am 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!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (2)

Geoff Hayes
Geoff Hayes am 23 Mai 2019
Bearbeitet: Geoff Hayes am 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 Kommentare
Geoff Hayes
Geoff Hayes am 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 am 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!

Melden Sie sich an, um zu kommentieren.


Marina Gonzalez
Marina Gonzalez am 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 Kommentare

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Data Preprocessing finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by