2017-02-10 7 views
0

Rで$$\int_{0}^{1}\sum_{x=1}^{100}x^y\,dy$$を解決したいと思います。次のコードを使用します。次の式を計算するには

x=c(1:100) 
f=function(y) sum(x^y) 
integrate(f,0,1) 

しかし、私はこのエラーメッセージました:統合で

エラー(F、0、1):機能の 評価はまた間違った長さ の結果を与えた:で :警告メッセージx^y:長いオブジェクトの長さは短いオブジェクトの長さの倍数ではありません。

"for"を使用せずにこの問題を解決するにはどうすればいいですか?

答えて

3

yで機能がベクトル化されておらず、integrateでベクター化された機能が必要です。

x=c(1:100) 

f= Vectorize(function(y) sum(x^y), "y") 

integrate(f,0,1) 
#1226.54 with absolute error < 1.4e-11