2016-10-31 15 views
2

で不可欠な、私は計算したい2倍を繰り返し、積分(積分倍増ない)Rで、例えば、2倍(繰り返し)R

実際には、g(x)= 1とf(x)= cos(x)を簡略化して実験を実行するには、integrateを使ってRIを計算してください:

> phi = function(x){integrate(function(x){cos(x)},lower=x,upper=3)[["value"]]^2} 

> foldintegral = integrate(phi,lower=0,upper=3) 

そして私は、このエラーメッセージました:

Error in integrate(phi, lower = 0, upper = 3) : 
    evaluation of function gave a result of wrong length 

任意のアイデアはどのようにそれを行うには?すべてのことが必要とされている

答えて

2

integrate(Vectorize(phi), lower=0, upper=3) 
# 1.067943 with absolute error < 1.2e-14 

phi(1) 
#[1] 0.4904915 

phi(1:3) 
# [1] 0.4904915 

Vectorize(phi)(1:3) 
# [1] 0.4904915 0.5900965 0.0000000 

integrateはベクトル化機能を期待比較です。

+0

どうもありがとう !! – skyindeer