简单的常微分方程(组)初值问题
来源:互联网 发布:p2p网络借贷 论文 编辑:程序博客网 时间:2024/05/16 23:43
问题
反应动力学表明都是一级反应,已知
当时间
求
解答
简单的常微分方程(组)初值问题。可以顺次求解,也可以统一成方程组求。因为计算比较繁琐,用Maple或mathematica计算比较方便。在微分方程符号解方面,总体上看Maple比Mathematica胜出一筹。但在当前这个问题上,两种软件求解都易如反掌。
Mathematica顺次求解ODE初值问题的代码如下:
ClearAll["Global`*"]a[t_]:=Evaluate[a[t]/.(DSolve[{a'[t]==-k1 a[t],a[0]==A0},a,t]//FullSimplify)[[1,1]]]b[t_]:=Evaluate[b[t]/.(DSolve[{b'[t]==k1*a[t]-k2 b[t],b[0]==0},b,t]//FullSimplify)[[1,1]]]c[t_]:=Evaluate[c[t]/.(DSolve[{c'[t]==k2*b[t]-k3 c[t],c[0]==0},c,t]//FullSimplify)[[1,1]]]d[t_]:=Evaluate[d[t]/.(DSolve[{d'[t]==k3*c[t]-k4 d[t],d[0]==0},d,t]//FullSimplify)[[1,1]]]e[t_]:=Evaluate[e[t]/.(DSolve[{e'[t]==k4*d[t],e[0]==0},e,t]//FullSimplify)[[1,1]]]
得到结果:
最长的
这五个浓度之和是常数
思考
这里得到的解析解,乍一看似乎很方便。实际上,如果
如何解决?从极限的角度,或者,直接通过微分方程特定条件下求解的方式
0 0
- 简单的常微分方程(组)初值问题
- 四阶龙格-库塔法求解常微分方程的初值问题
- 四阶龙格-库塔法求解常微分方程的初值问题-matlab通用程序
- 用 GSL 解常微分方程初值问题
- 用 GSL 解常微分方程初值问题
- 求解常微分方程初值问题之Runge_Kutta法
- 求解常微分方程初值问题之Runge_Kutta_Fehlberg法
- 求解常微分方程初值问题之多变量Runge_Kutta_Gill法
- 求解常微分方程初值问题之多步Euler预报-校正法
- 求解常微分方程初值问题之Milne预报-校正法
- 求解常微分方程初值问题之改进Euler法:预报-校正公式
- 常微分方程的RK4解法
- 常微分方程的数值解法
- 常微分方程
- 常微分方程
- 用python实现解常微分方程组的简单示例以及用odeint解常微分方程的范例
- 常微分方程实验(3.2):解的延拓
- 常微分方程之差分法
- 触动精灵扫坑
- 让程序员跳槽的非钱原因
- 工作日志-7
- UVA10534
- 用优先队列求最优二叉树根的权值
- 简单的常微分方程(组)初值问题
- 精确计算BigDecimal
- The Rotation Game (poj 2286 搜索IDA*)
- 哈希函数的构造与冲突处理
- Linux僵尸进程
- 1081. Rational Sum (20) -最大公约数
- display:table、box和width百分比来均分盒子的比较(2)
- scala.Enumeration 枚举示例
- Saltstack的API接口与调用方式