首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R中的差分方程

R中的差分方程
EN

Stack Overflow用户
提问于 2013-07-22 15:23:10
回答 2查看 1.2K关注 0票数 0

下面是一个寄生虫生长模型:

Ni(a,t)表示在时间t的预期a龄寄生虫数量,ki(a,t)表示杀灭效果,而PMF表示增殖因子。这是一个离散模型,a等于1,2,3...48。谁能告诉我如何使用差分方程在R中实现这个方程?非常感谢您的支持。

EN

回答 2

Stack Overflow用户

发布于 2013-07-22 18:39:15

这是我对你提供的信息所能做的最好的事情了。告诉我剩下的部分,我也许能让它真正工作,因为我认为它会无限地重复出现。

代码语言:javascript
复制
 Ki <- function(a, t){ ## You need to actually define this properly
      return(1)
    }

    Ni <- function(a, t, PMF){
      if ((a %% 1 != 0)) stop("Only Takes Integer values of a")
      if ((t %% 1 != 0)) stop("Only Takes Integer values of t")

      if (a == 1){
        x = Ni(48, t-1, PMF)
        y = exp(-Ki(48,t-1))
        result = PMF * x * y
        return(result)
      }

      if (a > 1){
        x = Ni(a-1, t-1, PMF)
        y = exp(-Ki(a-1,t-1))
        result = x * y
        return(result)
      }
    }
票数 2
EN

Stack Overflow用户

发布于 2013-07-22 16:45:56

你没有一套初始条件。得到N(a=1..48,t=1)的初始48个值后,从第二个方程计算N(a=1,t=2),然后从第一个方程计算N(a=2..48,t=2)。对t=3重复上述步骤,以此类推。

你得到的是一个递归关系,而不是微分方程。正如我刚才解释的那样,您将逐步执行递归关系。

可以通过查看N(t)-N(t-1)/dt并求解,将其转换为微分方程系统,但这是一项数学工作,而不是编程工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17782002

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档