MATLAB: Solving System of ODE that includes Algebraic Eqn’s

dsolveMATLAB C/C++ Math Libraryode45

[Deleted]

Best Answer

function main
y0 = [2; 1; 0; 400];
tspan = [0 10];
Fao = 3.3;
Cao = 0.01983;
K = 1.6;
[t,y] = ode15s(@(t,y)fun(t,y,Fao,Cao,K),tspan,y0);
plot(t,y(:,1),t,y(:,2),t,y(:,3))
end
function dy = fun(t,y,Fao,Cao,K)
Fa = y(1);
Fb = y(2);
Fc = y(3);
T = y(4);
Xa = (Fao - Fa)/Fao;
Ke = 0.0885*exp(4000/T);
Ca = (Cao*(1-Xa))/(1+Xa/3);
Cb = (Cao*(2*Xa))/(1+Xa/3);
ra = K*(Ca-Cb^2/Ke);
rb = 2*ra;
rc = -ra;
dy = [ra;rb;rc;(ra*200)/(Fa*4+Fb*2+Fc*4)];
end