使用Maple数值求解二阶ODE遇奇点问题求助
Maple求解带奇点的二阶ODE数值解问题
问题背景
需要求解的二阶常微分方程为:
$$x|\ln x|y'' - 2y' = 0$$
求解区间为$[0, 1/2]$,该区间上的解析解为:
$$y(x) = \frac{4(\sqrt{x} - 1)}{1 - 2\sqrt{2}}$$
使用Maple求解解析解时,执行以下代码可得到与手动推导一致的结果:
restart; ODE := diff(y(x),x$2)*x*abs(ln(x))-2*diff(y(x), x)=0: initialPosition := y(0) = 0; initialVelocity := D(y)(1/2) = 1; solution := dsolve({ODE, initialPosition, initialVelocity})
数值求解遇到的问题
尝试求解数值解时,执行代码:
solution_num := dsolve({ODE, initialPosition, initialVelocity}, numeric)
程序报错,原因是$x=0$处$\ln(0)$存在奇点,结合初始条件$y(0)=0$,Maple默认的离散化方式无法处理该奇异端点。考虑采用中点法(Midpoint Method)规避这个问题,但刚接触Maple,对ODE离散化不熟悉,想知道Maple中是否有实现中点法的函数来解决该问题。
内容的提问来源于stack exchange,提问作者Falcon
相关产品推荐
相关产品推荐

