-5

我正在尝试使用黎曼和来近似函数 f(x) 从 -inf 到 +inf 的积分。

4

2 回答 2

2
 integrand<-function(x){exp(x)/sum(exp(x))}
    integrate(integrand,lower=-Inf,upper=Inf)
Error in integrate(integrand, lower = -Inf, upper = Inf) : 
  non-finite function value

如果这是您的真正功能,则解决方案不存在

于 2013-09-30T22:52:30.650 回答
1

您还没有明确要集成的功能。你能用普通的数学符号写出你想要评估的积分,暂时忘记 R 吗?

这是您写的内容,以及为什么它没有意义:

x<- seq(-1000,1000, length=1000)

好的,现在x是长度为 1000 的向量:(-1000,-997.998,...,997.998,1000)

v <- sum(exp(x))

好的,现在v等于对expvector 上的值进行评估的总和x。并且,因为exp(1000)=Inf,这意味着,从 R 的角度来看,v等于无穷大。

f <-(exp(x))/(v)

此时,您已定义x为向量和v标量,因此该表达式将设置f为长度为 1000 的向量。但是,由于v是无限的,因此每个值f都将是0NaN

这一切都意味着

integrate(f,  ????  ) 

是没有意义的,因为f不是函数。

如果你能用普通的数学符号准确地写出你想要评估的积分,那么有人可能会帮助你。

于 2013-10-01T00:39:40.210 回答