0

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は次のように言います: 統合のエラー(被積分関数、下位= 2、上位= 20):関数の評価により、間違った長さの結果が得られました

また、インフルエンザ関数をベクトル化してから再度統合しようとしましたが、役に立ちません。多分それは浮動小数点を持つものですか?しかし、私はこれに対処する方法がわかりません。

あなたが私を助けてくれることを願っています - 時間と事前に助けてくれてありがとう!!! セーレン

4

1 に答える 1

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
于 2012-06-04T16:02:00.587 に答える