我正在尝试使用黎曼和来近似函数 f(x) 从 -inf 到 +inf 的积分。
问问题
2798 次
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
等于对exp
vector 上的值进行评估的总和x
。并且,因为exp(1000)=Inf
,这意味着,从 R 的角度来看,v
等于无穷大。
f <-(exp(x))/(v)
此时,您已定义x
为向量和v
标量,因此该表达式将设置f
为长度为 1000 的向量。但是,由于v
是无限的,因此每个值f
都将是0
或NaN
。
这一切都意味着
integrate(f, ???? )
是没有意义的,因为f
不是函数。
如果你能用普通的数学符号准确地写出你想要评估的积分,那么有人可能会帮助你。
于 2013-10-01T00:39:40.210 回答