嗨,我有一个像下面这样我想计算的方程。
方程由下式给出:
在这个等式中,x 是一个从 0 到 500 的数组。t 的值 = 500,即积分的上限。
现在我想将 c 计算为 c(500,x)。
到目前为止,我编写的代码如下:
x <- seq(from=0,by=0.5,length=1000)
t=500
integrand <- function(t)t^(-0.5)*exp((-x^2/t)-t)
integrated <- integrate(integrand, lower=0, upper=t)
final <- pi^(-0.5)*exp(2*x)*integrated
我得到的错误如下:
Error in integrate(integrand, lower = 0, upper = t) :
evaluation of function gave a result of wrong length
In addition: Warning messages:
1: In -x^2/t :
longer object length is not a multiple of shorter object length
2: In -x^2/t - t :
longer object length is not a multiple of shorter object length
3: In t^(-0.5) * exp(-x^2/t - t) :
longer object length is not a multiple of shorter object length
但它不起作用,因为在被积函数内有一个变量 x ,它是一个数组。谁能建议我如何先计算积分,然后计算每个 x 值的总表达式?如果我将被积函数中 x 的值更改为常数,我可以计算积分,但我想计算从 0 到 500 的所有 x 值。
非常感谢。