我们今天给大家介绍一个用来迭代的算法牛顿迭代法(Newton's method)。单变量下又称为切线法。它是一种在实数域和复数域上近似求解方程的方法。首先我们看下牛顿迭代算法的公式:
?...接下来我们直接用一个R语言的实例来看下,牛顿迭代是如何工作的。我们看下下面这个例题:
?...然后构建我们的程序(以下程序引自网友PPT):
funs=function(x){
f=c(x[1]^2+x[2]^2-5,(x[1]+1)*x[2]-(3*x[1]+1));
J=matrix...(c(2*x[1],2*x[2],x[2]-3,x[1]+1),nrow=2,byrow=T);
list(f=f,J=J);
}
#Newton...}
k=k+1
}
obj=fun(x)
list(root=x,it=k,index=index,Funval=obj$f)
}
Newtons(funs,c(