我想用beta分析模拟100个观察结果 牛顿拉斐逊方法,停止规则是| xi - xi-1 | < .05和起点 该算法为0.5,并希望平均找出在接受观察之前需要多少次迭代
使用shape1 = 3
和shape2 = 5
模拟示例的R代码:
x <- rbeta(n=100, tol=1e-7, shape1=3, shape2=5)
foo<-function(x,tol=1e-7, x0=0.5,N=100)
{
x1=x0
h=1e-7
i=0.5;
p<-numeric(N)
while(i<=N)
{ df.dx=(x(x0+h)-x(x0))/h
x1=(x0-(x(x0)/df.dx))
p[i]=x1
i=i+1
if(abs(x1 - x0) < tol) break
x0=x1}
return (p[1:(i-1)])
}
当我尝试调用函数时,它说找不到函数。