在r中集成一个函数(错误的长度)

时间:2012-06-04 15:48:35

标签: r

我在R中遇到“集成”命令的问题,我不知道如何解决它,所以任何帮助如何处理这个都非常感谢!

我有一些数据,我已经使用nls命令安装了一个函数。我想将这个功能整合到一定范围内(例如2-20),在我的例子中说明了水柱中2-20米的荧光 - 可以是任何功能。

我试图这样做的方式:

depth <- seq(0,100, by=.1)  
#### First making a vector that simulates depth (Have the real once in my own data set).

flu <- 0.216 + 0.140*depth + (-0.01538*(depth^2)) + 0.0004134*(depth^3)  
### Fitted function.

integrand <- function(depth) {flu}

integrate(integrand, lower= 2, upper= 20)

当我这样做时,R说: 集成错误(integrand,lower = 2,upper = 20):   功能评估给出了错误长度的结果

我还试图对流感功能进行矢量化,然后再次进行整合,但这并没有帮助。也许它是浮点数的东西?但我不知道如何处理这件事。

希望你能帮助我 - 感谢您的时间和帮助! 索伦

1 个答案:

答案 0 :(得分:3)

 depth <- seq(0,100, by=.1)  
 flu <- function(depth) {0.216 + 0.140*depth + (-0.01538*(depth^2)) + 0.0004134*(depth^3) }
 integrate(flu, lower= 2, upper= 20)
#7.170026 with absolute error < 8e-14