查看: 129|回复: 2|关注: 0

[已解决] 请问怎么计算动力学微分方程

[复制链接]

新手

14 麦片

财富积分


050


8

主题

14

帖子

0

最佳答案
T=353.15;
m=3.19;
N0=0.468809629;
Cb0=6.872645501;
Keq=exp(1738.8/T-5.5627);
dxdt=m*5E9*exp(-72555/(8.314*353.15))*(6.872645501*(1-x)*6.872645501*(1-x)-6.872645501*x/Keq))/(N0*(1+0.3753*6.872645501*x+0.4225*6.872645501*(1-x)+0.3753*Cb0*(1-x))^2);
t=[0.5 1 1.5 2 2.5 3 4 5 6 7];
请问怎么用程序或命令计算得到与t相应的x值?

回复主题 已获打赏: 0 积分

举报

论坛优秀回答者

5

主题

2453

帖子

738

最佳答案
  • 关注者: 206
发表于 2020-10-14 10:19:34 | 显示全部楼层 |此回复为最佳答案
读一下ode45等微分方程组数值求解器函数的说明文档
www.mathworks.com/help/matlab/ref/ode45.html
照着示例写
提问请:①准确描述问题②提出你的思考(等着抄作业的一律锁帖)③提供代码文本而非截图④及时反馈
回复此楼 已获打赏: 0 积分

举报

论坛优秀回答者

中级

1269 麦片

财富积分


5001500


0

主题

2853

帖子

270

最佳答案
  • 关注者: 176
发表于 2020-10-14 10:19:59 | 显示全部楼层
查帮助:ODE45,取微分区间t=[0,7],设定步长为0.5,再给出x的起始值,如:x(0)=1.5:

t        x(t)
0        1.5
0.5        1.01712538587561
1        0.789761276298164
1.5        0.687552023655509
2        0.639645583158109
2.5        0.616692170836171
3        0.605576321274756
3.5        0.600165140177424
4        0.597524320176938
4.5        0.596233930232952
5        0.595602898977355
5.5        0.5952943439655
6        0.595143448281071
6.5        0.59506964909221
7        0.595033554569678


回复此楼 已获打赏: 0 积分

举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

快速回复 返回顶部 返回列表