Can you solve this question? It is Euler method

12 次查看(过去 30 天)
The model of a nonisothermal batch reactor is given by
dC/dt= -exp(-10./(T+273)).* C;
dT/dt=1000*exp(-10./(T+273)).* C-10*(T-20);
T(0)=16 'C
C(0)=1 kmol/m^3
Find the concentration, C, and temperature, T, as a function of time. Plot the results.

采纳的回答

madhan ravi
madhan ravi 2018-12-16
编辑:madhan ravi 2018-12-16
Since it cannot be solved symbolically we convert it to numerical method:
syms T(t) C(t)
con1=T(0)==16 ;
con2=C(0)==1 ;
ode1=diff(C) == -exp(-10./(T+273)).* C;
ode2=diff(T) == 1000*exp(-10./(T+273)).* C-10*(T-20);
vars = [T(t) ; C(t)]
V = odeToVectorField([ode1,ode2])
M = matlabFunction(V,'vars', {'t','Y'})
interval = [0 5]; %time interval
y0 = [16 1]; %initial conditions
ySol = ode45(M,interval,y0);
tValues = linspace(interval(1),interval(2),1000);
yValues = deval(ySol,tValues,1); %number 1 denotes first solution likewise you can mention 2 solution
plot(tValues,yValues,'-o')
figure
yValues = deval(ySol,tValues,2);
plot(tValues,yValues,'-or')
Screen Shot 2018-12-16 at 3.47.37 PM.png
Screen Shot 2018-12-16 at 3.47.45 PM.png

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Applications 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by