10、抗体结合动力学的数值分析与编程实现

抗体结合动力学的数值分析与编程实现

1. ODE 刚度问题

在数值求解常微分方程(ODE)和偏微分方程(PDE)模型时,ODE 积分器的误差容限是决定整体精度的重要因素。例如,指定的相对误差容限(reltol)和绝对误差容限(abstol)设为 1.0×10⁻⁷ 时,会影响 MOL(Method of Lines)方法求解的准确性。改变 ODE 误差容限是一种 h 细化方式,因为像 ode15s 这样的积分器会调整积分区间以达到指定精度,同时它还能进行 p 细化,改变积分算法的阶数(从 1 到 5)。

为了分析 ODE 的误差,我们尝试将 ode15s 替换为 ode45。在主程序中进行如下修改:

mf=1;
if(mf==1) % explicit FDs
    [t,u]=ode45(@pde_1,tout,u0,options); 
end

然而,运行修改后的代码时,计算失败,没有在合理的计算机运行时间内得到解。这是因为 ode15s 适用于刚性 ODE,而 ode45 适用于非刚性 ODE。MOL 对相关方程近似得到的 22 个 ODE 可能存在刚性问题,导致 ode45 求解失败。

为了进一步研究刚性问题,我们使用了固定步长的显式积分器 rk4 替代 ode15s。通过试验,当 nsteps = 100,h = 0.02,nout = 51 时,可以得到稳定解,此时对 ODE 例程 pde_1 的调用次数 ncall = (51 - 1)(100)(4) = 20000。而使用 ode15s 时,ncall = 135,这清楚地展示了 ode15s

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值