在R中解决DAE

时间:2018-07-03 16:03:10

标签: r differential-equations runge-kutta

我正在尝试找出系统微分代数方程的解决方案,但在实现方面需要一些帮助。

应使用五阶Runge-Kutta-Fehlberg方法求解该系统。据我所知,选择的功能应该是deSolve-package中的radau。

代数方程组工作得很好,但是我不能使它与微分方程一起工作。我在建立质量矩阵和确定方程式的索引时遇到了麻烦。希望有人可以帮助我。

系统的驱动力为dZ。当Z等于0时,系统应停止。

参数

p1 = 0.75, p2 = 2.75, p3 = 10 ^ (-20.2), p4 = 0.01475, p5 = 2

初始值

Q = 414, 
A = 0.0051, vL = 0, Vs = 0.05, vLm = 0.0003, vLb = 0.00004, k = 0.065, Z = 23, Va = 0.05, Lm = 1, Lb = 1

方程式

Q <- 90*Z/(28-Z)

A <- 7*Q/(1.05+Q+Q^2)

vL <- 1/((1.0000007^3/p3)*(1.003375/(A^2)))

Vs <- 3.5/(1.035/A^1.4)

vLm <- p4*Va/(1+p1^2*p5/Lm^2)

vLb <- p4*Va/(1+p2^2*p5/Lb^2)

k <- 0.065*Lb^(-1.4) 

dZ <- -3, dVa <- (Vs-Va)/15

dLm <- 1/p1*(vL-vLm)-k*(Lm-Lb)

dLb <- p2*(k*(Lm-Lb)-vLb)

非常感谢!

0 个答案:

没有答案