因此,我必须用数值方法求解以下常微分方程y'+f(y)*(y')^2=0:ODE
最初在[y_i,y_f]之间,其中y=y(t)和y(0)=y_i。主要问题是函数f(y)有一个(规则的)奇点(无法发布图像)。 另外,f(y)是通过长时间的数值计算得到的,所以我没有解析表达式。问题是奇点位于y_i和y_f之间。到目前为止,我还没有找到任何方法来帮助我解决这类问题。它是否可以作为BVP o IVP来求解并不重要,但我需要跨越奇点
我所尝试的:
我试图用RKF作弊,因为y趋于常数,我手动增加它,迫使它穿过奇点,但随后解增加到无穷大,因此不是有效解
与前面相同,但使用数值定义的函数f(y),而不是其近似值。
你可以在除以
y'
后立即积分得到ln(y')+F(y)=c
或y'*exp(F(y))=C
,F'=f
,这样原则上你可以通过简单的求积计算t(y)
,然后通过函数值表的求逆得到解y(t)
您的示例集成到
y'=C*(y-y*)^2
、y(t)=y(0)/(1-C*y(0)*t)
,这也可能由于分母的原因导致解决方案公式中出现奇点。这意味着,即使存在一个解,您也必须从非常接近它的地方开始,否则解的过程可能必须穿过一个奇异雅可比曲面或其他不可能的曲面,并且在这一点上无法继续相关问题 更多 >
编程相关推荐