微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

deSolve & loop 求解 R 中的二阶微分方程?

如何解决deSolve & loop 求解 R 中的二阶微分方程?

亲爱的社区,您好,

我尝试求解二阶微分方程已经有一段时间了。等式如下:

∂P/∂t = D *∂^2P/∂x^2

我应该为几个 P 运行它;数据帧的 P1= df$col1,P2=df$col2,P3=df$col3 并且 D 将是 df$col4 而 x 将是 df$col5

我正在尝试为此使用“deSolve”,但目前我没有取得太大的成功。感谢您提供有关如何使用 R 求解二阶微分方程的意见。

解决方法

让我再试一次。边界条件 - 变量 P 的初始条件是; P1(t=0)= 0.4; P2(t=0)= 4.6; P3(t=0) = 0.37。我只想在第一个 P1 的代码中思考,然后我可以将相同的内容应用于 data.frame 的以下列。

使用 deSolve 这是我目前得到的: (P1=P)

state <- c(P=0.4)
t <- seq(0,100,by=0.1)
J <- function (t,P,parameters) {
  deltax     <- c (1,rep(1,numboxes - 1)) ##doing a vector
  Fluxx       <- -D * diff (c(0,0) /deltax #First derivative
 dP    <- diff(Fluxx)/deltax # second derivative
  list(dP,Fluxx)
} 

**也可以通过应用欧拉方法来求解方程并计算浓度的变化加上随时间的散度。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。