使用
n<-3; rho<-0.5;
我想绘制函数的图片
g<-function(r)
{
integrate(
function(beta)
{
1/(cosh(beta)-rho*r)^(n-1)
}
,lower=0,upper=Inf)
}
我试过
curve(g(x),from=0,to=1)
但R抱怨说
在cosh(beta)中 - rho * r:较长的物体长度不是较短物体长度的倍数
我认为所有变量都是标量。那么如何正确绘制呢?谢谢。
答案 0 :(得分:5)
g<-function(r)
{
integrate(
function(beta)
{
1/(cosh(beta)-rho*r)^(n-1)
}
,lower=0,upper=Inf)$value # integrate would return a list otherwise
}
gv <- Vectorize(g)
# Since `g` is not naturally going to handle the vector that `curve` will send
curve(gv(x),from=0,to=1)