Newton Raphson算法
来源:互联网 发布:51单片机上位机界面 编辑:程序博客网 时间:2024/05/21 15:03
Newton-Raphson算法在统计中广泛应用于求解MLE的参数估计。
对应的单变量如下图:
多元函数算法:
Example:(implemented in R)
#定义函数f(x)
f=function(x){
1/x+1/(1-x)
}
#定义f_d1为一阶导函数
f_d1=function(x){
-1/x^2+1/(x-1)^2
}
#定义f_d2为二阶导函数
f_d2=function(x){
2/x^3-2/(x-1)^3
}
#NR算法
NR=function(time,init){
X=NULL
D1=NULL #储存Xi一阶导函数值
D2=NULL #储存Xi二阶导函数值
count=0
X[1]=init
l=seq(0.02,0.98,0.0002)
plot(l,f(l),pch='.')
points(X[1],f(X[1]),pch=2,col=1)
for (i in 2:time){
D1[i-1]=f_d1(X[i-1])
D2[i-1]=f_d2(X[i-1])
X[i]=X[i-1]-1/(D2[i-1])*(D1[i-1]) #NR算法迭代式
if (abs(D1[i-1])<0.05)break
points(X[i],f(X[i]),pch=2,col=i)
count=count+1
}
return(list(x=X,Deriviative_1=D,deriviative2=D2,count))
}
o=NR(30,0.9)
结果如下图:图中不同颜色的三角形表示i次迭代产生的估计值Xi
o=NR(30,0.9)
#另取函数f(x)
f=function(x){
return(exp(3.5*cos(x))+4*sin(x))
}
f_d1=function(x){
return(-3.5*exp(3.5*cos(x))*sin(x)+4*cos(x))
}
f_d2=function(x){
return(-4*sin(x)+3.5^2*exp(3.5*cos(x))*(sin(x))^2-3.5*exp(3.5*cos(x))*cos(x))
}
得到结果如下:
Reference from:
Kevin Quinn
Assistant Professor
Univ Washington
- Newton Raphson算法
- Newton-Raphson方法
- Newton-Raphson method
- Newton-Raphson方法
- Fractal Picture With Newton-Raphson
- Newton-Raphson 法求解非线性方程组
- Matlab实现——Newton-Raphson Iteration
- 牛顿迭代例子Newton-Raphson Method
- Newton-Raphson法求解非线性方程复根
- 牛顿-拉夫逊方法(Newton-Raphson method)
- 利用Newton Raphson、最陡梯度法求解函数最小值
- 牛顿迭代法(牛顿-拉弗森方法(Newton-Raphson method))
- 关于Newton-Raphson Algorithm及其NDT实现[20151124]
- Lecture 6: Bisection methods, Newton/Raphson, introduction to lists
- MATLAB Code For Inverse and Forward Kinematics (Newton-Raphson Method)
- Haskell作业1(1)|实现分数的常用运算(2)|计算平方根的Newton-Raphson公式
- Gauss-Newton算法学习
- Gauss-Newton算法学习
- 20110121
- 安装oracle客户端——plsql远程连接
- 初访CSDN
- Metropolis Hasting算法
- 总调试中产生的BUG
- Newton Raphson算法
- Slice Smapling算法
- DX鼠标控制摄像头源码,做了详细注解
- Programming is not not Programming
- 努力学吧
- 不知道这对不对
- 字符串内建函数
- 任务
- perplexity