【发布时间】:2021-05-07 12:13:43
【问题描述】:
亲爱的社区,你好,
我尝试求解二阶微分方程已经有一段时间了。方程式如下:
∂P/∂t = D * ∂^2P/∂x^2
我应该运行几个 P;数据框的 P1= df$col1, P2=df$col2, P3=df$col3,D 为 df$col4,x 为 df$col5
我正在尝试为此使用“deSolve”,但目前我没有太大的成功。感谢您对如何用 R 求解二阶微分方程的意见。
【问题讨论】:
-
它是一个偏微分方程,在您积分的时间方向上是一阶的(抛物线 PDE,热方程)。您似乎应用了线条的方法。数据框给出了这个任务的几个实例的初始条件(t=0)?边界条件是什么,第一个和最后一个 x 上的常数或某种对称性或不同的东西?
-
我不确定你的评论说什么,它比澄清更令人困惑。我假设您有一个 PDE
P_t(x,t) = D(x)·P_xx(x,t)和0 <= x <= L、P(x,0)和D(x)作为函数表,用于在数据框的列中离散化x in [0,L]。然后,您需要P(0,t)和P(L,t)的一些条件来获得完全定义的问题。 (如果D(x)总体为负,则精确解和数值解将迅速恶化,在 x 方向变得非常参差不齐。) -
我的评论太长了——因此请看下面,对造成的混乱表示抱歉
-
使用 deSolve 的二阶 ODE(范德波尔方程)可以在以下论文中找到 doi.org/10.32614/RJ-2010-013
-
@tpetzoldt,哇,太棒了!我想我已经想通了,感谢您的意见和这些材料! :D 非常感谢! Ps:我还使用 Eularian 方法做了一些工作,并且没有 deSolve 这是一个很棒的包,恭喜!
标签: r loops differential-equations desolve