如何计算以下表达式

时间:2017-02-10 11:59:07

标签: r

我想在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"的情况下解决这个问题。

1 个答案:

答案 0 :(得分: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