Closed. This question does not meet Stack Overflow guidelines 。它目前不接受答案。












想改善这个问题吗?更新问题,使其成为 Stack Overflow 的 on-topic

6年前关闭。



Improve this question




摘自萨尔汗学院的 https://www.youtube.com/watch?v=oiDvNs15tkE 讲座,如果我知道 dN/dt=rN(1-(N/K))(逻辑微分方程)

如何求解 N 并用 R 绘制 N=f(t)?

谢谢

最佳答案

这个逻辑方程有一个解析解(参见例如 here ),所以你可以直接绘制它。另一种选择是使用可用的求解器之一以数值方式求解它(参见 here )

## Using the `deSolve` package
library(deSolve)

## Time
t <- seq(0, 100, 1)

## Initial population
N0 <- 10

## Parameter values
params <- list(r=0.1, K=1000)

## The logistic equation
fn <- function(t, N, params) with(params, list(r * N * (1 - N / K)))

## Solving and plotin the solution numerically
out <- ode(N0, t, fn, params)
plot(out, lwd=2, main="Logistic equation\nr=0.1, K=1000, N0=10")

## Ploting the analytical solution
with(params, lines(t, K * N0 * exp(r * t) / (K + N0 * (exp(r * t) - 1)), col=2, lwd=2))

关于r - 如何在 R 中求解和绘制微分方程,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25001337/

10-12 16:31