我正在尝试模拟吸管中流体微流线从其平衡水平位移时的振荡。结果是以下非线性 ODE:
这可以用数字来解决,但我找不到任何人在这方面工作过。有人熟悉这个方程吗?
我正在尝试模拟吸管中流体微流线从其平衡水平位移时的振荡。结果是以下非线性 ODE:
这可以用数字来解决,但我找不到任何人在这方面工作过。有人熟悉这个方程吗?
我不会详细回答这个问题,因为它可能是家庭作业,但这里有一些关于如何继续的提示。
首先,确定是否有可用的确切解决方案。如果它是线性的,那么你有一个很好的机会。有一个精确解的非线性 ODE 类看起来小得令人失望,但值得了解其中的技巧(也许它是精确的,也许您可以使用Frobenius 方法,也许有变量的变化可以简化事情等) . 如果被难住了,另一个工具是计算机代数系统。
如果您确定没有精确解,则可以选择一种数值方法来计算近似解。这取决于边界/初始条件。无论你有一个“初值问题”(关于及其在域中的单个点的导数的信息)还是“边界值问题”(关于及其在域中两个不同点的导数的信息)都会产生很多区别。
根据下面的评论,您对初始值问题感兴趣,具体而言,我们会说是 , , . 现在,人们可以从众多可用的 ODE 求解器中自由选择。请注意,如果您可以证明解决方案远离,那么事情会表现得很好。这种二阶 ODE 的形式使得使用像Verlet 方法这样的二阶方法成为可能,您可以选择像Runge-Kutta-Fehlberg(又名 MATLAB 中的 ode45)这样的老主力,或者,如果解决方案看起来可能会接近,一个隐式和/或刚性求解器,如 a 。请注意,通过引入一个新变量,您可以将二阶 ODE 写为两个一阶 ODE 的系统。