matlab将程序变量写入标题,如何该这段MATLAB程序(把一个常量改成变量)

原题目是这样的:

在反应器中进行液相反应制备产物B,反应可在180~260℃的温度范围内进行,反应物X大量过剩,而C, D和E为副产物。各反应均为一级动力学关系:r=-kC,式中已知参数:k01=5.78052×1010,k02=3.92317×1012,k03=1.64254×104,k04=6.264×108,Ea1=124670,Ea2=150386,Ea3=77954,Ea4=111528。初始浓度:CA=1kmol/m3,其余物质浓度为0。已知是产物B收率最大的最优反应温度为224.6℃ 试计算在最优反应温度(224.6℃)下各组分浓度随时间的动态变化(这一段程序如下),如果我想看从180℃升温到(每分钟10℃)224.6℃,并且在224.6℃恒温10分钟再升温到260℃(每分钟10℃)这段过程中的各组分浓度随时间的动态变化应该怎么改?(就是把程序里的T从常量改成变量的意思)

function Cha5demo4

T = 224.6 + 273.15;  % 1℃ = 1+273.15K

R = 8.31434;

k0 = [5.78052E+10 3.92317E+12 1.64254E+4 6.264E+8];

Ea = [124670 150386 77954 111528];

C0 = [1 0 0 0 0]; % Initial concentration:C0(i), kmol/m^3

tspan = [0 1e4];

opt=odeset('reltol',1e-4,'outputfcn','odephas2','outputsel',[1;4])

[t,C] = ode45(@MassEquations, tspan, C0,opt,k0,Ea,R,T)

plot(t,C(:,1),'r-',t,C(:,2),'k:',t,C(:,3),'b-.',t,C(:,4),'k--');

xlabel('Time (s)');

ylabel('Concentration (kmol/m^3)');

legend('A','B','C','D')

% ------------------------------------------------------------------

function dCdt = MassEquations(t,C,k0,Ea,R,T)

k = k0.*exp(-Ea/(R*T)); k(5) = 2.16667E-04; % Reaction rate constants, 1/s

rA = -(k(1)+k(2))*C(1); rB = k(1)*C(1)-k(3)*C(2);rC = k(2)*C(1)-k(4)*C(3); rD = k(3)*C(2)-k(5)*C(4);

rE = k(4)*C(3)+k(5)*C(4); % Reaction rates, kmoles/m3 s

dCdt = [rA; rB; rC; rD; rE]; % Mass balances

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值