我试图使用黎曼和逼近从-inf到+ inf的函数f(x)的积分。
答案 0 :(得分: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
如果这是您的真实功能,则该解决方案不存在
答案 1 :(得分:1)
您仍未澄清要集成的功能。你能用普通的数学符号写出你想要评估的积分吗?暂时忘记R?
这是你写的东西,以及为什么它没有意义:
x<- seq(-1000,1000, length=1000)
好的,现在x
是长度为1000的向量:(-1000,-997.998,...,997.998,1000)
v <- sum(exp(x))
好的,现在v
等于为exp
矢量值评估的x
之和。而且,从exp(1000)=Inf
开始,这意味着,从R的角度来看,v
等于无穷大。
f <-(exp(x))/(v)
此时,您已将x
定义为向量,将v
定义为标量,因此此表达式将f
设置为长度为1000的向量。但是,由于v
是无限的,因此f
上的每个值都将是0
或NaN
。
这就意味着
integrate(f, ???? )
没有意义,因为f
不是函数。
如果你能用普通的数学符号写出你想要评估的积分,那么有人可能会帮助你。