function out = differentialEquations(t,y,flag,kineticPa,variable)
% A->B->C连串反应的各组分浓度、体系温度的微分方程组
A = kineticPa(1,:);
Ea = kineticPa(2,:);
n = kineticPa(3,:);
deltaT = kineticPa(4,:);
cA0 = variable(1);
R = 8.314;
for i = 1:length(y) % 避免出现浓度、温度小于0的情况,这不符合实际
if( y(i)<0 )
y(i) = 0;
end
end
% n级反应方程
out = [-A(1)*exp(-Ea(1)/R/y(4))*y(1)^n(1); % 组分A的浓度变化率 dCA/dt
A(1)*exp(-Ea(1)/R/y(4))*y(1)^n(1)-A(2)*exp(-Ea(2)/R/y(4))*y(2)^n(2); % 组分B的浓度变化率 dCB/dt
A(2)*exp(-Ea(2)/R/y(4))*y(2)^n(2); % 组分C的浓度变化率 dCC/dt
deltaT(1)/cA0*A(1)*exp(-Ea(1)/R/y(4))*y(1)^n(1)+deltaT(2)/cA0*A(2)*exp(-Ea(2)/R/y(4))*y(2)^n(2)]; % 体系的温升速率dT/dt
end