24小时热门版块排行榜    

查看: 513  |  回复: 0

xiaofenger01

金虫 (初入文坛)

[求助] Matlab ode45的运用

下面这段程序中,T是常数,所以比较简单,如果我想让T随着时间变化,比如写成T=50+0.5*tspan,这样T和tspan一样是1*301的向量了,下面函数MassEquations里的k也是T的函数了,这样的话应该如何改写?
谢谢

function Cha5demo4
T = 220;  
R = 8.315;
k0 = [5.78052E+10 3.92317E+12 1.64254E+4 6.264E+8];
Ea = [124670 150386 77954 111528];
C0 = [1 0 0 0 0];
tspan = [0:1:300];
[t,C] = ode45(@MassEquations,tspan,C0,[],k0,Ea,R,T)
plot(t,C(:,1),'r-',t,C(:,2),'k:',t,C(:,3),'b-.',t,C(:,4),'k--');

function dCdt = MassEquations(t,C,k0,Ea,R,T)
k = k0.*exp(-Ea/(R*(T+273.15)));
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(4)*C(4);
rE = k(4)*C(3);
dCdt = [rA; rB; rC; rD; rE];
回复此楼

» 猜你喜欢

已阅   关注TA 给TA发消息 送TA红花 TA的回帖

智能机器人

Robot (super robot)

我们都爱小木虫

找到一些相关的精华帖子,希望有用哦~

科研从小木虫开始,人人为我,我为人人
相关版块跳转 我要订阅楼主 xiaofenger01 的主题更新
信息提示
请填处理意见